ModelSim 无法识别参数数据类型?
这是我尝试在 Modelsim 中运行的一些 Verilog 代码。 parameter Data_width = 8; //DATA SIZE input CLK, RST; input [Data _width-1:0] D; 当我尝试…
如何使用 Unix 脚本选择 Verilog 测试文件?
我必须对DPRAM进行验证。 每个测试用例都写在名为 test1.v、test2.v 等的不同文件中。 我想编写一个脚本(unix),这样当我输入 run test1.v 时,只有…
无法实现简单的 ALU
我有一个用 Verilog 描述的基本 8 位 ALU。我正在尝试实现该设计,但收到错误消息: ERROR:NgdBuild:809 - output pad net 'quotient'有非法负载: 模…
RAM 深度的地址宽度
我正在实现一个可配置的 DPRAM,其中 RAM DEPTH 是参数。 如何根据 RAM 深度确定地址宽度? 我知道关系 RAM DEPTH = 2 ^ (ADDRESS WIDTH) 即 ADDRESS …
测试 verilog 模块时何时以及为何必须使用 DUT?
我刚刚开始学习 verilog 模块的软件测试平台。我注意到,当测试台调用模块时,它将 DUT 放在模块名称和敏感度列表之间。这是什么意思,为什么有必要?…
这两个模块的行为有何不同
这两个模块似乎可以互换。他们的行为有何不同? module Add_half (sum, c_out, a, b); input a, b; output reg c_out; output reg sum; always@(a, b)…
如何在没有initial或always块的情况下使用$display
我正在尝试调试一个不使用初始或始终使用 $display 语句的 Verilog 模块。然而,这些在初始或始终块之外似乎是非法的。这是为什么?我有什么选择?…
Verilog 中的 for 循环如何执行?
Verilog 中的 for 循环是否并行执行?我需要多次调用一个模块,但它们必须同时执行。我没有将它们一一写出来,而是考虑使用 for 循环。效果会一样吗?…
为什么这个 Verilog 代码无法编译?
导致问题的部分是c[1] = p[0] + g[0] & c0;。有什么问题吗? module CLA_gen(p, g, c0, c); input [3:0] p; input [3:0] g; input c0; output reg [4:…
为什么这个Verilog函数中没有赋值语句?
来自 C++ 背景的我开始学习 Verilog。该代码描述了进入两个与门的四个输入。这两个与门的输出进入或门。或门的输出是最终的输出。 // a user-defined …
IEEE 802.11b 中的 CRC-16 计算
我想了解 IEEE 802.11b PHY 标头字段中的 CRC 计算。我在文献中读到,使用了 CRC-16 以及(生成器多项式的 e 信号、服务和长度)提醒的 1 补码, 但我…