Verilog,无法生成比特流

时间:2019-11-20 07:14:21

标签: verilog vivado iverilog

这里是Vivado Verilog的第一个计时器,我刚刚完成了项目编码和项目模拟。尝试生成位流时,我不断收到错误消息...我认为我的语法是正确的,只是无法弄清楚出了什么问题。 这是我尝试编写的设计图。 AND, OR gates with delays to find the glitch

这是项目代码。

`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

This is error message I get

这并不表明我有语法错误。 但是我觉得错误来自模拟代码吗? 任何帮助,将不胜感激。 谢谢。

1 个答案:

答案 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:您非常需要阅读一些用户指南/教科书来理解这些概念。位文件的生成和模拟是不同的。在仿真中遇到的错误与生成位文件完全不同。