cost 107 ms
字节屏蔽 AxiStream:如何使用 tkeep systemverilog 屏蔽 tdata - Byte Masking AxiStream: How to mask tdata with tkeep systemverilog

在 AxiStream 中,每次传输中的 tkeep 值表示同一传输的 tdata 字段中的有效字节。 在 systemverilog 中,我想使用 tkeep 来屏蔽(设置为 0)tdata 字段中的无效位。 如果 tkeep 表示无效位,那么我可以简单地做: masked_tdata = td ...

如何创建宽度由另一个参数设置的十进制数组参数? - How to create decimal array parameter with width set by another parameter?

我的模块具有信号sensor_line[WIDTH-1:0]的可配置宽度输入,其中WIDTH是参数。 对于每个sensor_line ,我都有一个记录器模块,在for循环中用generate块实例化。 我需要将一个十进制数参数传递给这个记录器,每个sensor_line都不同。 我需要创建一些十进 ...

SystemVerilog: 数组部分 select +: 是否可以由 Vivado 合成变量开始? - SystemVerilog: is the array part select +: with variable start synthesizable by Vivado?

如果我有一个向量并且我想从某个地方开始读取它的一部分,我可以使用语法“vector[staring_point +: output_length]”,starting_point 是 integer 吗? 可以合成吗? 如果我写这样的代码: 设计就是这样,输入和 output 绑定到 GPIO。 ...

简单测试台读写CSV - Reading and writing CSV for a simple testbench

我正在尝试从input.csv文件中读取一组用于模拟的值,并将结果写入output.csv文件。 当我将结果转储到output.csv文件时,我发现有些不一致。 我的模块bypass只是将数据注册到两个阶段并将输入发送到 output。 下面是我的测试台: 以下是我用于测试的input.csv : ...

如何使用时钟信号循环状态? - How do I loop states with clock signal?

我需要en在 4 个特定给定状态之间循环:4'b0111、4'b1011、4'b1101 和 4'b1110 到目前为止,这是我的代码 据我所知,通过硬件,它将第一阶段传递到 4'b1011,然后完全停止。 这很可能是由于它是一个条件运算符; 但是,据我了解,它仍然应该循环。 我怎样才能让这个工作 ...

在重置值的分配中确定参数值的大小 - Sizing a parameter value in an assignment of a reset value

以下代码是正确的,因为RESET_VAL会自动扩展或截断为WIDTH : 但是,综合工具发出警告: 任何人都可以帮助我使用正确的语法来调整parameter值的大小吗? 我想通过层次结构传递参数,指定它们的(32 位)值,而不必深入到子模块以确定参数的正确大小。 ...

尝试设计一个8位可重载递减计数器 - Trying to design an 8-bit reloadable down counter

任务:设计一个 8 位递减计数器,它接受一个初始输入值并开始递减计数,当计数变为 8'b0000_0000 时,它应该自动设置为输入值。 例:给定输入8'b10010100,计数器开始递减计数,当数值达到8'00000000时,自动复位为8'b10010100,再次开始递减计数。 为此用行为法写了一 ...

低通 FIR 滤波器 - Low pass FIR FILTER

我被指派制作低通冷杉滤波器。 这是分配问我的: 编写一个用作低通 FIR 滤波器的模块。 输入和 output 信号应该是 16 位的并且有符号。 添加一个采样时钟输入和另一个更快的时钟以保持运行。 通过在输入端生成方波信号并观察 output 信号来测试仿真中的操作。 在演示文稿中展示您的实施和模 ...

在 SystemVerilog 中使用 $dist_uniform 的随机数生成器 - Random number generator using $dist_uniform in SystemVerilog

我正在尝试使用 Quartus 和 ModelSim 使用$dist_uniform生成一个随机数。 相关代码部分如下(在一个循环内): 'rand' 始终为 20,而 'rand_test' 在每次迭代中都不同。 将不胜感激有关此事的任何建议。 我已经尝试了$dist_uniform的许多变体以 ...

Verilog的macro_text是如何拆分成token的? - How is Verilog's macro_text split into tokens?

从我对 IEEE 1800-2017 的阅读来看,词法分析似乎是上下文相关的,特别是由于数字。 考虑以下示例。 f是否是前面数字标记的一部分取决于数字标记前面是否有'h 。 但是,在预处理时,上下文并不总是很清楚。 以下代码片段应该打印什么? macro_text中的1f应该被视为两个标记并用 ...

错误:“赋值语句左值中的语法。” 在尝试在 always 块中分配一个 reg 时 - Error: "Syntax in assignment statement l-value." while trying to assign a reg inside an always block

我正在尝试 model 电路。 这是我要构建的电路的代码。 我在always块中得到错误,特别是在案例中。 我正在尝试将reg NextState分配给特定的 state; 但是我得到一个错误。 在编译期间,我在always块内的多行中收到标题中描述的错误。 ...

Verilog:仿真和硬件实现在一个 state 行为上有所不同 - Verilog: Simulation and Hardware Implementation differ in one state behaviour

我目前正在尝试将 UART 模拟实施到 FPGA 中。 这个想法是,只循环遍历预定义数据(由 byte_array_com_message_1 - 4 定义),然后将其放在一行 (out_cross_com1) 上。 每个字节都应根据使用的 UART 标准发送,因此通过在空闲时保持信号高电平,通过拉 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM