UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 8946

4.1i XC4000XLA MAP - 「FATAL_ERROR:OldMap:bastecmput.c:1363:1.10.2.2 Dest. pin ...」というエラー メッセージが表示される

説明

キーワード : Reed Solomon, decoder, デコーダ

重要度 : 標準

概要 :
ザイリンクス Reed Solomon コアとラップから構成されるデザインがマップされません。 コアの EDIF は、1 つの CLB で 2 つの RAM16X1S と 2 つの FDCE に不正に RLOC 制約を設定しようとしています。 この場合、SR/WE パスで競合があるため、パック エラーが発生します。 -ir オプションでマップして問題を回避しようとしても、MAP は実行されず、次のようなメッセージが表示されます。

FATAL_ERROR:OldMap:bastecmput.c:1363:1.1.2.2 - Dest. pin already occupied in copypin().

RAM16X1S に XBLKNM 属性を設定すると問題を回避できるため、この問題は RAM16X1S と FDCE の競合によるものと見られます。

ソリューション

1

この問題を回避するには、-ir オプションと一緒に MAP を実行します。このオプションは、無効な RLOC 制約を無視し、XBLKNM 属性を関連の RAM16X1S に設定するよう MAP に指示を与えます。

INST "decoder1/BU1951" XBLKNM = XILINX_WA1 ;
INST "decoder1/BU1952" XBLKNM = XILINX_WA1 ;

INST "decoder1/BU1955" XBLKNM = XILINX_WA2 ;
INST "decoder1/BU1956" XBLKNM = XILINX_WA2 ;



この問題が修正される予定はありません。

2

これは、Reed Solomon Decoder コアで既知の問題となっています。この問題は、Reed Solomon Decoder の非同期リセット入力ピンがスタートアップ ブロックの GSR ピンに接続されていない場合に発生します (合成ツールによっては、この接続を自動で行います)。

VHDL の例 (スタートアップ ブロックの GSR ピンに接続されたリセットを含む Reed Solomon Decoder のラップ ファイル)

--------------------------------------------------------------------------------
-- Reed-Solomon Decoder Wrapper Example
-- Copyright 1999 Xilinx, Inc. All rights reserved.
--------------------------------------------------------------------------------

このエンティティは、I/O パッドおよびクロック バッファを作成するため、合成ツールの最適化で使用されます。

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY rsdec_wrap IS
PORT (
data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
sync : IN STD_LOGIC;
reset : IN STD_LOGIC;
clk : IN STD_LOGIC;
ce : IN STD_LOGIC;
data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
blk_strt : OUT STD_LOGIC;
blk_end : OUT STD_LOGIC;
err_found : OUT STD_LOGIC;
err_cnt : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
fail : OUT STD_LOGIC;
ready : OUT STD_LOGIC);
END rsdec_wrap;


ARCHITECTURE example OF rsdec_wrap IS

COMPONENT xil_rsdecoder
PORT (
data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
sync : IN STD_LOGIC;
reset : IN STD_LOGIC;
clk : IN STD_LOGIC;
ce : IN STD_LOGIC := '1';
data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
blk_strt : OUT STD_LOGIC;
blk_end : OUT STD_LOGIC;
err_found : OUT STD_LOGIC;
err_cnt : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);
fail : OUT STD_LOGIC;
ready : OUT STD_LOGIC
);
END COMPONENT;

COMPONENT STARTUP
PORT (GSR : IN STD_LOGIC);
END COMPONENT;

COMPONENT BUFG
PORT (I : IN STD_LOGIC;
O : OUT STD_LOGIC);
END COMPONENT;

SIGNAL gclk : STD_LOGIC;
BEGIN

STARTUP1 : STARTUP
PORT MAP( GSR => reset);

BUFG1 : BUFG
PORT MAP (I => clk, O => gclk);

decoder1 : xil_rsdecoder
PORT MAP (data_in=>data_in, sync=>sync, reset=>reset, clk=>gclk, ce=>ce,
data_out=>data_out, blk_strt=>blk_strt, blk_end=>blk_end,
err_found=>err_found, err_cnt=>err_cnt, fail=>fail,
ready=>ready);

END example;

--------------------------------------------------------------------------------
合成についての注意

-- 正確なタイミング シミュレーションのためのバックアノテートされた VHDL インスタンシエーション

ザイリンクス NGD2VHDL ツールは、正確なタイミング シミュレーションを行うため、デザイン全体 (コアとコアをインスタンシエートするエンティティ) に対してバックアノテートされたネットリストを作成するのに使用されることがあります。

-- 高速シミュレーションのためのビヘイビア モデル インスタンシエーション

ネットリストではなく、ビヘイビア モデルをインスタンシエートするため、次のコンフィギュレーション文を解除します。 この例では、ビヘイビア モデルがワーク ライブラリにコンパイルされることを確認します。 rsdec_wrap をインスタンシエートする上位のエンティティでは、インスタンスを正しくバインドするため、このコンフィギュレーション文を使用する必要があります。

ビヘイビア モデルを使用しない場合は、コンフィギュレーション文をコメントとして記述します。

--CONFIGURATION rsdec_wrap_config OF rsdec_wrap IS
-- FOR example
-- FOR decoder1 : xil_rsdecoder USE ENTITY work.rs_decoder(behavioral)
-- GENERIC MAP (gen_start => 0,
-- k => 188,
-- n => 204,
-- polynomial => 0,
-- symbol_width => 8,
-- c_has_ce => 1,
-- c_has_erase => 0,
-- c_has_sr => 0,
-- sync_mode => 0,
-- clks_per_sym => 1);
-- END FOR; -- decoder1
-- END FOR; -- example
--END rsdec_wrap_config;
AR# 8946
作成日 03/31/2000
最終更新日 06/13/2002
ステータス アーカイブ
タイプ 一般