AR# 9417

12.1 タイミング クロージャ - ロジック レベル数が過多になるのを避ける方法

説明


パスにタイミング制約を設定しましたが、この制約にエラーが発生し、ロジック レベル数が多すぎます。

このタイミング制約でエラーが起きないようにするにはどうすればよいですか。

ソリューション


これは。合計パス遅延のある割合をロジックが超えてしまうケースで、タイミング エンドポイント間にロジックが多すぎることを示しています。タイミング要件を満たすには、ロジックを低減する必要があります。

古いアーキテクチャの場合は、この数は従来約 50% ですが、Virtex ファミリの場合は、60% です。キャリー チェーン パスはこのルールの例外で、ロジック遅延値はかなり小さいためロジック レベル数を高くしたり、コンポーネント率を低くすることができます。

ロジック レベル数を低減するには、ソースに戻り次の方法を試してみてください。
  1. ステート マシンの最適化でのタイミング クロージャの提案については、(ザイリンクス アンサー 9411) を参照してください。
  2. IF-ELSE 文ではなく CASE 文を使用する。
  3. 大型マルチプレクサではなく (入力が 7 以上の)、トライステートを使用する。
  4. 2 で乗算するのではなくシフトを使用する。
  5. コンパレータではなくデコーダを使用する。
  6. レジスタ周辺でロジックのバランスを取る。
  7. シリアル インプリメンテーションではなく、括弧を使用しロジックをピラミッド化。
  8. IF-THEN-ELSE 文を次の目的にのみに使用する。
    • カウンタ値のプレデコードおよび保存
    • 入力信号をプレデコードおよび保存するためのパイプライン段を追加
  9. 幅が 8 ビット以上バスのマルチプレクサは、次の目的のみに使用する。
    • ロジックではなく、トライステート状態のレジスタを使用
    • レジスタからのイネーブル信号を駆動。イネーブル信号が 1 の場合トライステート状態で、0 の場合は信号を駆動。
    • トライステートのフロアプランを使用。
  10. パイプライン レジスタを追加。

その他の提案および推奨案については、次のアンサー レコードを参照してください。
AR# 9417
日付 03/07/2013
ステータス アクティブ
種類 一般
ツール 詳細 概略