ModelSim Altera 10.1d - verilog 我无法获得波形

ModelSim Altera 10.1d - verilog I can't get wave forms

我有一个基本的双稳态代码,我编译它没有任何错误,但是当我想在我点击 运行(f9) 后添加波形时,我的 altera 程序没有做任何事情...... 这是我的代码:

module bistable(input a, 
            input rst, 
            input ck,
            output reg out);
always@(posedge ck) 
if(!rst) out<=0; 
   else out<=a;         
endmodule

测试模块:

module test();
reg a; 
reg ck; 
reg rst; 
wire out; 
bistable bis(.a(a),.ck(ck),.rst(rst),.out(out));

initial begin
ck=0;
forever ck=~ck;
end
initial begin
a=1;
rst=0;
#14 rst=1;
#20 rst=0;
#10;
$stop;
end
endmodule

我在没有时钟的情况下编写程序,我的波形显示得很好,但我认为这不是问题的原因。

在此先感谢您的帮助!

forever ck=~ck; 是零时间无限循环。在当前时间步上的所有操作完成之前,仿真不会进入下一个时间步(这在存在零时间无限循环时是不可能的)。

为您的时钟添加时间延迟会有所帮助。例如:forever #5 ck=~ck;

检查您的日志文件。有些模拟器在遇到死循环时会报错或警告。