绿茶盖儿 发表于 2011-9-22 23:24:23

新手求助,为什么仿真不出来?

这是一个8进制计数器,代码如下:
module counter_8 (clock,clear,q);
input clock,clear;
output q;
reg q;

always @(posedge clock or negedge clear)
begin
    if(!clear)
      q<=0;
    else
      q <= q +1;
    end
endmodule
仿真波形如下:

为什么输出没有计数,而是一直保持0值啊?

tao2000 发表于 2011-9-23 10:29:50

clear 信号为0,输出就一直清零
但是激励中clear拉高的部分也没有输出,有可能是你更改了程序,没有重新生成founction simulation netlist

endmodule 发表于 2011-9-23 22:35:33

你可以把测试 模块发来看看,一起发过来
module counter_8_tb;
reg clock,clear;
wire q;

initial
        begin
                clock=0;
                clear=0;
                #20
                clear=1;
        end

always #5 clock=~clock;

counter_8 counter_8(
                                                                                .clock(clock),
                                                                                .clear(clear),
                                                                                .q(q)
                                                                                );
endmodule

xingfeng_ 发表于 2011-12-16 10:50:59

你的代码和测试代码都是正确的,结果也有,很可能你没有保存导致你还是看到以前的。在testbench中加一句#100 $finish; 这是个好习惯

xingfeng_ 发表于 2011-12-16 10:51:04

你的代码和测试代码都是正确的,结果也有,很可能你没有保存导致你还是看到以前的。在testbench中加一句#100 $finish; 这是个好习惯

冰下月影 发表于 2011-12-17 12:09:09

你确定你是保存后仿真的?

白开水的噩梦 发表于 2011-12-26 14:22:16

程序没问题,重启下软件再来过
页: [1]
查看完整版本: 新手求助,为什么仿真不出来?