AR# 44732

|

7 シリーズ Integrated Block for PCI Express - VHDL を使用していると ISIM サンプル スクリプトをコンパイルできない

説明


問題のあったバージョン : v1.2
修正されたバージョンやその他の既知の問題は、(ザイリンクス アンサー) を参照してください。

メモ : [バージョン] 列は、問題が最初に発生したバージョンがリストされます。問題はそれより以前のバージョンでも発生していた可能性がありますが、古いバージョンではそれを検証するテストは実行されていませんでした。

7 シリーズ Integrated Block Wrapper v1.2 for PCI Express コアには PIO サンプル デザインをシミュレーションするための ISIM シミュレーション スクリプトが含まれています。VHDL 版のコアが生成されると、コンパイル中にこの ISIM スクリプトにエラーが発生し、次のようなエラー メッセージが表示されます。

"ERROR:HDLCompiler:837 - "../../source/pcie_7x_v1_2_pipe_clock.v" Line 224: Type boolean does not match with a string literal
ERROR:HDLCompiler:839 - "../../source/pcie_7x_v1_2_pipe_clock.v" Line 224: Type real does not match with the integer literal
ERROR:Simulator:777 - Static elaboration of top level VHDL design unit board in library work failed"

ソリューション


これは 7 シリーズ Integrated Block Wrapper for PCI Express v1.2 の既知の問題です。

この問題を回避するには、テキスト エディタで simulate_isim.bat または simulate_isim.sh を開きます。simulate_isim.bat は Windows 用、simulate_isim.sh は Linux 用です。このシミュレーションには VHDL および Verilog の両方が使用されるので、ISIM スクリプトでは glbl.v ファイルをまずコンパイルする必要があります。

Windows の場合は (simulate_isim.bat)、次の行を追加します。
vlogcomp -work work %XILINX%/verilog/src/glbl.v

Linux の場合は次の行を追加します。
vlogcomp -work work $XILINX/verilog/src/glbl.v

このコマンドは fuse コマンドの前に追加する必要があります。

次に、fuse コマンドには変更すべき箇所が 2 点あります。1 つは glbl を参照し、もう 1 つは Verilog Unisim ライブラリを次のように正しく記述することです。

fuse work.board work.glbl -L unisims_ver -L unimacro_ver -L unisim -L unimacro -L secureip -o demo_tb

ISIM スクリプトはこれで完了です。しかし ISIM にも問題があり、これを回避する必要があります。

pcie_7x_v1_2_gt_top モジュールにある pcie_7x_v1_2_pipe_wrapper の次の 9 つのポートを (others => '0') に接続します。

PIPE_TXEQ_CONTROL
PIPE_TXEQ_PRESET
PIPE_TXEQ_PRESET_DEFAULT
PIPE_RXEQ_CONTROL
PIPE_RXEQ_PRESET
PIPE_RXEQ_LFFS
PIPE_RXSLIDE
PIPE_RXEQ_TXPRESET

これらの信号は 0 に接続されているバスに各ポートと同じ幅で接続する必要があります。この変更を行った後、スクリプトを実行するとシミュレーションは問題なく実行することができます。

改訂履歴

2011/12/06 - アンサー 40469 に修正バージョン情報を追加
2011/10/26 - 初版
AR# 44732
日付 12/06/2011
ステータス アクティブ
種類 既知の問題
IP
People Also Viewed