AR# 51739

14.3 - XPS - Zynq で Simulink pcore に対して XPS コンパイラでエラーが発生する

説明

EDK プロジェクトで、Simulink モデルで生成された Pcore AXI バスがコンパイルされません。
-------------------------------
次のようなエラー メッセージが表示されます。
------------------------------
ERROR:HDLCompiler:1318 - "./EDK/pcores/model_axiw_v1_00_a/hdl/vhdl/model_axiw.vhd" Line 67: Left bound value <11> of slice is out of range [7:0] of array <s_axi_arid>
ERROR:EDK - xst: unknown error occurred.
ERROR:EDK:546 - Aborting XST flow execution!

ソリューション


この問題は、System Generator で Pcore を生成すると、id_width のパラメーターを明示的に設定する HDL コードが生成されるために発生します。

次のいずれかの方法で回避できます。

1) 次のディレクトリにある <ip_name>_axiw.vhd を開きます。

pcores\<ip_name>_axiw_v1_00_a\hdl\vhdl\<ip_name>_axiw.vhd

67 行目から 71 行目までを次のように変更します。
変更前
s_axi_arid(C_S_AXI_ID_WIDTH-1 downto 0) <= sg_s_axi_arid;
s_axi_awid(C_S_AXI_ID_WIDTH-1 downto 0) <= sg_s_axi_awid;

sg_s_axi_rid <= s_axi_rid(C_S_AXI_ID_WIDTH-1 downto 0);
sg_s_axi_bid <= s_axi_bid(C_S_AXI_ID_WIDTH-1 downto 0);

変更後
axiaddrpref_less: if (C_S_AXI_ID_WIDTH <= C_S_AXI_NATIVE_ID_WIDTH) generate
s_axi_arid(C_S_AXI_ID_WIDTH-1 downto 0) <= sg_s_axi_arid;
s_axi_awid(C_S_AXI_ID_WIDTH-1 downto 0) <= sg_s_axi_awid;
sg_s_axi_rid <= s_axi_rid(C_S_AXI_ID_WIDTH-1 downto 0);
sg_s_axi_bid <= s_axi_bid(C_S_AXI_ID_WIDTH-1 downto 0);
end generate axiaddrpref_less;
axiaddrpref_greater: if (C_S_AXI_ID_WIDTH > C_S_AXI_NATIVE_ID_WIDTH) generate
s_axi_arid <= sg_s_axi_arid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0);
s_axi_awid <= sg_s_axi_awid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0);
sg_s_axi_rid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0) <= s_axi_rid;
sg_s_axi_bid(C_S_AXI_NATIVE_ID_WIDTH-1 downto 0) <= s_axi_bid;
-- Set upper 4 bits to 1000 for general performance, 0000 for high performance
sg_s_axi_rid(C_S_AXI_ID_WIDTH - 1 downto C_S_AXI_ID_WIDTH - 4) <= "1000";
sg_s_axi_bid(C_S_AXI_ID_WIDTH - 1 downto C_S_AXI_ID_WIDTH - 4) <= "1000";
end generate axiaddrpref_greater;


これを実行したら、ユーザー リポジトリを再スキャンします。

refresh.png
refresh.png


これで、IP がツールで問題なく処理されるはずです。System Generator の pcore に UCF で LOC 制約が設定されていない I/O ポートが含まれていると、Bitgen エラーが発生する可能性があります。

2) 別の回避策として、ザイリンクス テクニカル サポートから System Generator に適用可能なパッチを入手できます。ウェブケースを開いてパッチを請求してください。




AR# 51739
日付 11/27/2012
ステータス アクティブ
種類 一般
ツール