微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 综合技术问答 > EDA使用问答 > vivado simulator 和 Modelsim simulator模擬出不同的結果

vivado simulator 和 Modelsim simulator模擬出不同的結果

时间:03-15 整理:3721RD 点击:
有個問題想問問大家,vivado simulator 和Modelsim simulator模擬出不同的結果,如下verilog敍述:

////////////////////////////////////////////////////////////////////////////

always @(read_enable or reg_byte_lane[0] or word_addr)
if ((read_enable & reg_byte_lane[0]))
rdata_out_0 = ram_q_0;
else
rdata_out_0 = 8'h00;

//////////////////////////////////////////////////////////////////////////

Modelsim模擬的結果如下列圖片:


當read_enable 或者 reg_byte_lane[0]或者word_addr有個訊號變動時,且read_enable和reg_byte_lane[0]為1時,ram_q_0的數據給rdata_out_0 ,當時ram_q_0=8'h68而rdata_out_0=8'h68,模擬結果與語法解釋上一致。

但在vivado simulator模擬時,卻有不同的結果,vivado模擬結果如下列圖片:


當read_enable 或者 reg_byte_lane[0]或者word_addr有個訊號變動時,且read_enable和reg_byte_lane[0]為1時,ram_q_0的數據給rdata_out_0
,當時ram_q_0=8'h68而rdata_out_0=8'h68(擷取的是ram_q_0的變化前的數據8'h68,而不是8'h09)?

vivado_simulator對這一段verilog的敍述為何與modelsim上看到的結果不相同,有人知道原因嗎?


Sloved:
word_addr exists in sensetivity list, not need write to sensetivity list,
and signal ram_q_0 add to the sensetivity list.

用always @* 又可以少敲点字符又可以避免这种问题

上一篇:Synopsys_installer_v3.1
下一篇:最后一页

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top