AN 922: ECOコンパイルフローの使用

ID 683873
日付 9/28/2020
Public

1.5. ECOコマンドの制限事項

ECOコマンドには、インテルFPGAデバイス内の接続依存関係により、次の制限事項があります。
  • ECOコマンドを使用して専用接続を修正することはできません。
  • 単一のALM内で専用接続を修正することはできません。この制限は、LUTとフリップフロップ・ノード間の直接接続に適用されます。
  • Hyper-Registerからの接続、またはHyper-Registerへの接続は可能です。ただし、Hyper-Registerから接続を削除すると配線が宙に浮いたままになってしまうため、Hyper-Registerからの接続やHyper-Registerへの接続を削除することはできません。代わりに、make_connection を使用して、以前の接続を最初に削除せずに、Hyper-Register接続を直ちに変更します。
  • place_node コマンドを location 引数と併用しても、パーシャル・リコンフィグレーションの領域制約は上書きされません。
  • ノードが配置されている場所で、LABにすでに最大数の正当な接続がすでにある場合、place_node または make_connection コマンドが失敗し、最初に配置された正当ではないノードへの接続が妨げられる可能性があります。その場合は、元のノードを別の場所に移動するか、他のノードをLABから移動して、配線リソースを解放します。
  • Fitterによる modify_io_slew_ratemodify_io_current_strengthmodify_io_delay_chain などのI/O関連のECO修正の適用は、コマンドラインTclスクリプトやインタラクティブなコンテキストで呼び出された場合、失敗することがあります。つまり、eco_load_design コマンドを直接呼び出した場合です。すべてのI/O修正が正常に適用されるようにするには、このドキュメントで説明している標準のECO Tclスクリプトアプローチを使用してください。

新しいLUTの作成および配置に推奨される順序は次のとおりです。

  1. create_new_node コマンドを使用してノードを作成します。
  2. make_connection コマンドを使用してノード間の接続を確立します。
  3. modify_lutmask コマンドを使用してlutmaskを更新します。
  4. create_new_node コマンドを使用してノードを配置します。

このフローにより、新しいノードの正当な配置を決定するときに、解析にすべての配置要件が含まれるようになります。その例は次のとおりです。

set lut_name new_lut
create_new_node –name $lut_name –type lut
make_connection –from input1 –to $lut_name –port DATAA
make_connection –from input2 –to $lut_name –port DATAB
make_connection –from $lut_name –to output_dest –port DATAD
modify_lutmask –to $lut_name –eqn {A&B}
place_node –name $lut_name –location “X80 Y80 X85 Y95”
注: エスケープ文字による名前の一致に関する問題を最小限に抑えるには、エンティティー名を "" ではなく、文字 {} で囲むと有効です。この方法は、エンティティー名にバックスラッシュやその他の特殊文字が含まれている場合に特に有効です。