由於 Intel® Quartus® Prime Pro Edition 軟體版本 19.1 中的問題,當您的設計包含多個 RAM-2 埠 IP 啟用「模擬 TDP 雙頻率模式」並執行自動產生的模擬腳本時,功能模擬行為可能不正確。多個 RAM IP 均以相同的模組名稱即時dcfifo_in和dcfifo_out子模組。但是,每個 IP 的dcfifo_in和dcfifo_out檔案都會即時呈現不同的子模組。在模擬腳本中,所有不同 RAM IP 的dcfifo_in、dcfifo_out及其子模組檔案都編譯到相同的模擬資料庫中。因此,後續的編譯dcfifo_in和dcfifo_out檔案會覆寫先前的檔案。所有 RAM IP 都使用相同的dcfifo_in和dcfifo_out模組,並導致錯誤的模擬行為。
為了解決這個問題,請修改模擬腳本,以 sim/common/_files.tcl 來為不同的 RAM IP 建立不同的程式庫,並相應地將dcfifo_in和dcfifo_out實例編譯到不同的程式庫中。
- 原始腳本:
proc get_design_libraries {\ {
設定程式庫 [法令建立]
dict set 程式庫fifo_191 1
法令設定程式庫ram_2port_191 1
法令集程式庫 dpram32x512 1
法令集程式庫 dpram16x1024 1
退回$libraries™
proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR\ {
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dcfifo_in.v」\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dcfifo_out.v」\「 -工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dpram32x512_ram_2port_191_6nqqinq.v」\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/tdp_dpram32x512_ram_2port_191_6nqqinq.v」\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dcfifo_in.v」]\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dcfifo_out.v」]\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dpram16x1024_ram_2port_191_u7jjoxa.v」]\「-工作ram_2port_191
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/tdp_dpram16x1024_ram_2port_191_u7jjoxa.v」]\「-工作ram_2port_191
退回$design_檔案
}
- 修改後的腳本:
proc get_design_libraries {\ {
設定程式庫 [法令建立] 法令集程式庫fifo_191 1
法令設定程式庫ram_2port_191_0 1
法令設定程式庫ram_2port_191_1 1
法令集程式庫 dpram32x512 1
法令集程式庫 dpram16x1024 1
退回$libraries™
proc get_design_files {USER_DEFINED_COMPILE_OPTIONS USER_DEFINED_VERILOG_COMPILE_OPTIONS USER_DEFINED_VHDL_COMPILE_OPTIONS QSYS_SIMDIR\ {
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dcfifo_in.v」\「-工作ram_2port_191_1
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dcfifo_out.v」\「-工作ram_2port_191_1
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/dpram32x512_ram_2port_191_6nqqinq.v」]\「 -工作ram_2port_191_1
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram32x512/dpram32x512/ram_2port_191/sim/tdp_dpram32x512_ram_2port_191_6nqqinq.v」\「-工作ram_2port_191_1
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dcfifo_in.v」]\「-工作ram_2port_191_0
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dcfifo_out.v」]\「-工作ram_2port_191_0
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/dpram16x1024_ram_2port_191_u7jjoxa.v」]\「 -工作ram_2port_191_0
lappend design_files「vlog $USER_DEFINED_VERILOG_COMPILE_OPTIONS $USER_DEFINED_COMPILE_OPTIONS \「[normalize_path」[$QSYS_SIMDIR/dpram16x1024/dpram16x1024/ram_2port_191/sim/tdp_dpram16x1024_ram_2port_191_u7jjoxa.v」\「 -工作ram_2port_191_0
退回$design_files]
此問題從 Intel® Quartus® Prime Pro Edition 軟體的版本 19.3 開始修復。