我用verilog实现了SIPO移位寄存器,但出现了未知错误
主文件我用verilog实现了SIPO移位寄存器,但出现了未知错误,verilog,Verilog,主文件 module D_ff (q, D, Clk, Reset); input Clk, D, Reset; output q; always @ (posedge Clk); and(q, D, Reset); endmodule module SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4); input Clk, Reset, Data; output Out1, Out2, Out3
module D_ff (q, D, Clk, Reset);
input Clk, D, Reset;
output q;
always @ (posedge Clk);
and(q, D, Reset);
endmodule
module SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4);
input Clk, Reset, Data;
output Out1, Out2, Out3, Out4;
begin
D_ff sr0 (Out0, Data, Clk, Reset);
D_ff sr1 (Out1, Out0, Clk, Reset);
D_ff sr2 (Out2, Out1, Clk, Reset);
D_ff sr3 (Out3, Out2, Clk, Reset);
end
endmodule
测试台文件
'timescale 1ps/1ps
module tb_SIPO;
reg Clk, Reset, Data;
wire Out1, Out2, Out3, Out4;
SIPO(Clk, Reset, Data, Out1, Out2, Out3, Out4);
initial
Clk=0;
always #11 Clk=~Clk;
Reset=1; Data=0;
initial begin
#15 Reset=1; Data=1;
#20 Reset=1; Data=0;
#30 Reset=1; Data=0;
#10 Reset=0; Data=1;
#20 Reset=0; Data=0;
#5 Reset=0; Data=0;
#20 Reset=0; Data=0;
#20 Reset=0; Data=0;
#20 Reset=0; Data=0;
#20 Reset=0; Data=0;
#70 Reset=0; Data=0;
#5 $finish;
end
endmodule
错误:(vlog-13053)C:/Modeltech_pe_edu__10.4a/examples/tb_sipo.v(1):接近>“'t”:数值常量中的非法基说明符
**错误:(vlog-13069)C:/Modeltech_pe_edu__10.4a/examples/tb_sipo.v(1):near>“'t”:语法错误,意外的基,应为类
我不知道这个错误是什么意思。我的程序中没有“t”,我看不到任何非法的基说明符。
这有什么问题?您使用了
时间刻度来指定模拟器的参考时间单位。但它应该是:
`timescale
而不是:
'timescale
”
用于在Verilog中指定数字,例如8'hFF
。这就是编译器寻找数值常量的原因。非常感谢!你救了我的命。但当我编译它并模拟文件时,“错误加载设计”错误出现了。此错误是什么?IMHOD_ff
模块不应编译,因为存在两个错误,您的错误可能会解决此问题。