エラーメッセージの例:
# 25320 ns - tb.error ERROR #2: シグナルが期待値を持っていなかった
# tb.expect シグナルチェック有効な書き込みデータ
予想される01110110010101000011001000010000数
# 11111110110111001011101010011000
# | || || || |
# tb.expect 16 進数:
予想される76543210数
# fedcba98 を取得しました
これは、IP 機能シミュレーション・モデルで初期化されていない RTL パラメーターが原因で発生したエラーです。論理層に IO マスター / スレーブモジュールを適用すると、この問題が発生する可能性があります。この問題を解決するには、次の手順で IP 機能シミュレーション・モデルを再生成します。
1. コマンドプロンプトを開き、プロジェクト・ディレクトリーにパスを指示します。
2. 次のコマンドラインを入力して、quartus_map・コマンド・ライン・オプション SIMGEN_RAND_POWERUP_FFS=OFF で DUT およびSLOMSR の IP 機能シミュレーション・モデルを再生成します。
quartus_map --simgen --simgen_parameter="CBX_HDL_LANGUAGE=Verilog,SIMGEN_RAND_POWERUP_FFS=OFF" --family=stratixiv\
--source="./rio_rio.v" \
--source="./rio_riophy_gxb.v" \
--source="./rio_phy_mnt.v" \
--source="./rio_riophy_xcvr.v" \
--source="./rio_riophy_dcore.v" \
--source="./rio_riophy_reset.v" \
--source="./rio_concentrator.v" \
--source="./rio_drbell.v" \
--source="./rio_io_master.v" \
--source="./rio_io_slave.v" \
--source="./rio_maintenance.v" \
--source="./rio_reg_mnt.v" \
--source="./rio_transport.v" \
rio.v
cp rio_rio_sister.v rio_sister_rio.v
cp rio_riophy_gxb_sister.v rio_sister_riophy_gxb.v
quartus_map --simgen --simgen_parameter="CBX_HDL_LANGUAGE=Verilog,SIMGEN_RAND_POWERUP_FFS=OFF" --family=stratixiv\
--source="./rio_sister_rio.v" \
--source="./rio_sister_riophy_gxb.v" \
--source="./rio_phy_mnt_sister.v" \
--source="./rio_riophy_xcvr_sister.v" \
--source="./rio_riophy_dcore_sister.v" \
--source="./rio_riophy_reset_sister.v" \
--source="./rio_concentrator_sister.v" \
--source="./rio_drbell_sister.v" \
--source="./rio_io_master_sister.v" \
--source="./rio_io_slave_sister.v" \
--source="./rio_maintenance_sister.v" \
--source="./rio_reg_mnt_sister.v" \
--source="./rio_transport_sister.v" \
rio_sister_rio.v
3. 適切なデバイスと HDL 情報に基づいてコマンドラインを変更する必要があります。
例: "CBX_HDL_LANGUAGE=Verilog" または "CBX_HDL_LANGUAGE=HDL"
「--family=Stratix® IV」または = 「Arria® II GX、Cyclone® IV、Arria GX、Stratix II GX」 の 1つ
4. コマンドが実行されると、インテル®Quartus® はエラーのない新しい IP 機能シミュレーション・モデル・ファイルを再生成します。