2018年12月23日 星期日

NC Verilog與ModelSim的模擬結果不一致

(1). 上圖為ModelSim模擬的結果,下圖為NC Verilog模擬的結果,一模一樣的Verilog code卻產生不同的結果。


















(2). 主要是因為module的input輸入值,需要先宣告一個reg接受並且給予初始值。

module PureBus(
.....
input [2:0]Mode,
.....
);

reg [2:0]mode_set;

always@(posedge Clk or negedge Reset)
begin
if(!Reset)
begin
        ........
r_mode_set <= 0;
end
else
begin
                 .......
                 r_mode_set <= Mode;
        end
end
endmodule

修改完成,再用NC Verilog模擬,結果就與ModelSim模擬的結果一樣。有使用Active HDL測試,發現Active HDL與NC Verilog模擬的結果是一樣的,Active HDL與NC Verilog相對於ModelSim對於電路初始值得要求比較嚴謹。

沒有留言:

張貼留言