这里是Vivado Verilog的第一个计时器,我刚刚完成了项目编码和项目模拟。尝试生成位流时,我不断收到错误消息...我认为我的语法是正确的,只是无法弄清楚出了什么问题。 这是我尝试编写的设计图。
这是项目代码。
`timescale 1ns/1ps
module project7_demo(
input A,
input B,
input C,
output X
);
wire N1,N2,N3;
assign #1 N1 = A & B;
assign #1 N2 = ~B;
assign #1 N3 = N2 & C;
assign #1 X = N1 | N3;
endmodule
这是项目的模拟代码。
`timescale 1ns/1ps
module project7_demo_sim;
reg A_sim;
reg B_sim;
reg C_sim;
wire X_sim;
wire N1_sim;
wire N2_sim;
wire N3_sim;
project7_demo ASIM (A_sim,B_sim,C_sim,X_sim,N1_sim,N2_sim,N3_sim);
integer k = 0;
initial
begin
A_sim = 0;
B_sim = 0;
C_sim = 0;
for(k=0; k<4; k=k+1)
begin
{A_sim,C_sim} = k;
#5 B_sim=1;
#5 B_sim=0;
#5 ;
end
end
endmodule
这并不表明我有语法错误。 但是我觉得错误来自模拟代码吗? 任何帮助,将不胜感激。 谢谢。
答案 0 :(得分:0)
如何读取错误消息:错误消息“错误:[VRFC 10-2922]'project7_demo'期望有4个参数”说project7_demo期望有4个参数,并且错误在project7_demo_sim.v第12行中。转到该行,我们可以看到您已经声明了 project7_demo ASIM(A_sim,B_sim,C_sim,X_sim); ,它基本上是7个参数。
正确的是 project7_demo ASIM(A_sim,B_sim,C_sim,X_sim);
PS:您非常需要阅读一些用户指南/教科书来理解这些概念。位文件的生成和模拟是不同的。在仿真中遇到的错误与生成位文件完全不同。