在 AxiStream 中,每次传输中的 tkeep 值表示同一传输的 tdata 字段中的有效字节。 在 systemverilog 中,我想使用 tkeep 来屏蔽(设置为 0)tdata 字段中的无效位。 如果 tkeep 表示无效位,那么我可以简单地做: masked_tdata = td ...
在 AxiStream 中,每次传输中的 tkeep 值表示同一传输的 tdata 字段中的有效字节。 在 systemverilog 中,我想使用 tkeep 来屏蔽(设置为 0)tdata 字段中的无效位。 如果 tkeep 表示无效位,那么我可以简单地做: masked_tdata = td ...
我的模块具有信号sensor_line[WIDTH-1:0]的可配置宽度输入,其中WIDTH是参数。 对于每个sensor_line ,我都有一个记录器模块,在for循环中用generate块实例化。 我需要将一个十进制数参数传递给这个记录器,每个sensor_line都不同。 我需要创建一些十进 ...
如果我有一个向量并且我想从某个地方开始读取它的一部分,我可以使用语法“vector[staring_point +: output_length]”,starting_point 是 integer 吗? 可以合成吗? 如果我写这样的代码: 设计就是这样,输入和 output 绑定到 GPIO。 ...
我正在尝试从input.csv文件中读取一组用于模拟的值,并将结果写入output.csv文件。 当我将结果转储到output.csv文件时,我发现有些不一致。 我的模块bypass只是将数据注册到两个阶段并将输入发送到 output。 下面是我的测试台: 以下是我用于测试的input.csv : ...
我需要en在 4 个特定给定状态之间循环:4'b0111、4'b1011、4'b1101 和 4'b1110 到目前为止,这是我的代码 据我所知,通过硬件,它将第一阶段传递到 4'b1011,然后完全停止。 这很可能是由于它是一个条件运算符; 但是,据我了解,它仍然应该循环。 我怎样才能让这个工作 ...
我正在制作一个数组并定义其值,但它显示此错误: 无法将打包值分配或比较到未打包值,反之亦然这是我的代码: 我想将所有 16 个向量分配为这些值。 ...
以下代码是正确的,因为RESET_VAL会自动扩展或截断为WIDTH : 但是,综合工具发出警告: 任何人都可以帮助我使用正确的语法来调整parameter值的大小吗? 我想通过层次结构传递参数,指定它们的(32 位)值,而不必深入到子模块以确定参数的正确大小。 ...
我无法理解 disable 语句在上述代码中的实际行为。 我原以为statement 1只会执行一次,然后永远禁用 always 块 (b1)。 但实际上statement 1正在无限执行(直到进程被终止)而statement 2被跳过。 我已经尝试了 EDA Playground 的所有模拟器。 ...
任务:设计一个 8 位递减计数器,它接受一个初始输入值并开始递减计数,当计数变为 8'b0000_0000 时,它应该自动设置为输入值。 例:给定输入8'b10010100,计数器开始递减计数,当数值达到8'00000000时,自动复位为8'b10010100,再次开始递减计数。 为此用行为法写了一 ...
我试图理解为什么我的信号在任务处理时没有更新。 正如您在下面看到的,问题与任务内部正在正确更改的信号有关,但即使在分层调用中也不要更改任务外部的信号。 tbench.sclk和MOSI不会在全球范围内发生变化,而只会在局部发生变化。 这是界面: ...
我在 systemverilog 中的输入是位; 但我需要它在 uint8_t 中。 是API还是图书馆可以办理? 仅供参考,我正在尝试使用“dpi”验证 .C 的 verilog 结果。 系统验证: c: c编译错误 ...
我在 verilog 和数字逻辑练习中一次又一次地发现这样的数字,但我不知道我应该如何知道这是什么数字或如何在 verilog 代码中将其写为 12'b。 有人可以向我解释吗? ...
我有一个问题? : ? :运营商。 out1和out2应该是一样的,但我得到了不同的结果。 我在HDLBits模拟器iverilog中对此进行了测试。 下面是代码,下图是对应的wave。 ...
我被指派制作低通冷杉滤波器。 这是分配问我的: 编写一个用作低通 FIR 滤波器的模块。 输入和 output 信号应该是 16 位的并且有符号。 添加一个采样时钟输入和另一个更快的时钟以保持运行。 通过在输入端生成方波信号并观察 output 信号来测试仿真中的操作。 在演示文稿中展示您的实施和模 ...
HDLBits 12 小时制我写了这个问题的答案,但出现了错误。 我找不到我错在哪里,因为答案只是告诉我有多少不匹配。 有人可以告诉我吗? 以下是 HDLBIts 的结果: 结果结果结果这是我的代码: ...
我正在尝试使用 Quartus 和 ModelSim 使用$dist_uniform生成一个随机数。 相关代码部分如下(在一个循环内): 'rand' 始终为 20,而 'rand_test' 在每次迭代中都不同。 将不胜感激有关此事的任何建议。 我已经尝试了$dist_uniform的许多变体以 ...
从我对 IEEE 1800-2017 的阅读来看,词法分析似乎是上下文相关的,特别是由于数字。 考虑以下示例。 f是否是前面数字标记的一部分取决于数字标记前面是否有'h 。 但是,在预处理时,上下文并不总是很清楚。 以下代码片段应该打印什么? macro_text中的1f应该被视为两个标记并用 ...
我正在尝试 model 电路。 这是我要构建的电路的代码。 我在always块中得到错误,特别是在案例中。 我正在尝试将reg NextState分配给特定的 state; 但是我得到一个错误。 在编译期间,我在always块内的多行中收到标题中描述的错误。 ...
我目前正在尝试将 UART 模拟实施到 FPGA 中。 这个想法是,只循环遍历预定义数据(由 byte_array_com_message_1 - 4 定义),然后将其放在一行 (out_cross_com1) 上。 每个字节都应根据使用的 UART 标准发送,因此通过在空闲时保持信号高电平,通过拉 ...
我正在尝试将几个打包的 arrays 连接到解压缩的数组 其中模块temp_v1端口定义为解压缩数组: 当我运行 ace 编译 (vcs) 时失败并生成此错误消息: 解包数组连接到 output 端口将被视为赋值;; 图案。 带勾号 (') 的前缀可转换为赋值模式。 然而 DC next (Desi ...