AR# 46698

MIG v3.9 Spartan-6 FPGA MCB - 64 ビット ポートが 2 つのコンフィギュレーション時の wr_mask エラー

説明

VHDL をターゲットとして MIG v3.9 Spartan-6 MCB コアを使用する場合、64 ビット ポートが 2 つのコンフィギュレーションを使用すると、ポート 1 データの MSB 32 ビットで読み出しエラーが発生する場合があります。

この 32 ビットがマスクされません。

これは mcb_raw_wrapper.vhd ファイル内のバグです

次のコードは mcb_raw_wrapper.vhd ファイルの一部です。

p1_c4_ena: if (C_PORT_ENABLE(1) = '1') generate

                        mig_p2_arb_en      <=      p1_arb_en ;
                       
                        mig_p2_cmd_clk     <=      p1_cmd_clk  ;
                        mig_p2_cmd_en      <=      p1_cmd_en   ;
                        mig_p2_cmd_ra      <=      p1_cmd_ra  ;
                        mig_p2_cmd_ba      <=      p1_cmd_ba   ;
                        mig_p2_cmd_ca      <=      p1_cmd_ca  ;
                        mig_p2_cmd_instr   <=      p1_cmd_instr;
                        mig_p2_cmd_bl      <=      ((p1_cmd_instr(2) or p1_cmd_bl(5)) & p1_cmd_bl(4 downto 0))  ;                           


                         mig_p2_clk     <= p1_rd_clk;
                         mig_p3_clk     <= p1_wr_clk;
                         mig_p4_clk     <= p1_rd_clk;
                         mig_p5_clk     <= p1_wr_clk;
                         mig_p3_en      <= p1_wr_en and not p1_wr_full_i;
                         mig_p5_en      <= p1_wr_en and not p1_wr_full_i;
                         mig_p3_wr_data  <= p1_wr_data(31 downto 0);
                         mig_p3_wr_mask  <= p1_wr_mask(3 downto 0);
                         mig_p5_wr_data  <= p1_wr_data(63 downto 32);
                         mig_p5_wr_mask  <= p1_wr_mask(3 downto 0);  <------------------- bug here

ソリューション

mcb_raw_wrapper.vhd ファイルで上記のコードを探し、最後の行を修正します。

次のように修正してください。

                         mig_p5_wr_mask  <= p1_wr_mask(7 downto 4);


この問題は、ISE 14.2 の MIG v3.92 で修正されています。

改訂履歴
2014/8/26 - 初版
AR# 46698
日付 08/27/2014
ステータス アクティブ
種類 一般
デバイス
ツール
IP