AR# 14723

|

5.1i Architecture Wizard - Synplify で DCM または RocketIO VHDL インスタンシエーションを合成できない (エラーが表示される)

説明


DCM ウィザードで生成されたインスタンシエーション テンプレートを合成しようとすると次のようなエラー メッセージが表示されます。

XST

"FATAL_ERROR: Xst:Portability/export/Port_Main.h:126:1.13 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate.

Error: XST failed."

Synplify

"Exprmap.c:366 Compiler Error: No handler for expression bundle of type real. Probably near:

@E:"C:\temp\DCM_test.vhd": 32:49:32:51| Compiler Error - please check end of log for more information. Please call Synplicity Support (USA) at (408) 215-6000 or send email including this log and test case to support@synplicity.com."

ソリューション


合成ツールによっては「real」型の属性を処理できないものがあるのでこのエラーが発生します。

この問題を回避するには、DCM インスタンシエーションを変更します。Project Navigator 内ではこのファイルは読み取り専用なので、変更は ISE 環境外でテキスト エディターを開いて実行してください。(同様の回避策が RocketIO インスタンシエーションにも使用できます。)

DCM インスタンシエーションを変更する手順は次のとおりです。
  1. work ディレクトリを参照します。
  2. <dcm_instantiation_name>.vhd をワードパッドなどのテキスト エディターで開きます。(メモ : このファイルの拡張子は ISE では .xaw です。)
  3. 次の行を検索します。

    アーキテクチャのセクション :
    attribute CLKDV_DIVIDE : real;
    attribute CLKDV_DIVIDE of DCM_INST : label is 2.0;
    これを次のように変更します。
    attribute CLKDV_DIVIDE : string;
    attribute CLKDV_DIVIDE of DCM_INST : label is "2.0";
    コンポーネントのセクション :
    -- synopsys translate_off
    .....
    generic(
    CLKDV_DIVIDE : real := 2.0;

    次のように変更します。
    -- synopsys translate_off
    .....
    generic(
    CLKDV_DIVIDE : string := "2.0";
  4. VHD ファイルを保存します。
  5. 合成を再度実行します。
AR# 14723
日付 12/15/2012
ステータス アーカイブ
種類 一般
People Also Viewed