以下代码适用于4位纹波进位加法器测试平台。它给了我8个语法错误,4个接近结束,4个接近其他。我不知道这些错误指的是什么,需要解决什么?
HTMLInputElement
答案 0 :(得分:0)
下次还请列出语法错误。
然而,在这种情况下,显而易见的是:那里有额外的end
语句。语法是:
if (condition)
statement_or_block;
else
statement_or_block;
另外(谢谢凯文!)你的显示器在结尾处缺少分号 你的顶级测试平台应该没有端口。所有信号都是本地信号:
module rca_dataflow_tb;
reg [3:0] a;
reg [3:0] b;
// etc.
另外我建议您使用条件AND而不是逻辑AND:
if (s == 4'b0010 && cout == 1'b0)
<子>
顺便说一句,如果您首先将表达式转换为单个位,则可以使用逻辑AND:
if ( (s==4'b0010) & (cout==1'b0) )
答案 1 :(得分:0)
您的代码中存在一些非常基本的错误。
;
语句$display
reg
用作端口声明的类型。事实上,由于这是你的TB,所以没有端口。您只需执行module rca_dataflow_tb();
并将所有reg语句移到reg
数据类型输入DUT,wire
输入DUT输出这应解决问题。如果您仍然遇到问题,请告诉我