FPGAの配線リソースが不足していますか?


9

Artix-7デバイスを除いて、ほぼすべての種類のザイリンクス7シリーズデバイスで動作するシリアルATAコントローラーデザインがあります。

純粋なデザイン(SATA 6.0Gb / s、150 MHzデザインクロック)は、Artix-7 200Tに実装できます。ILAコア(旧称ChipScope)を追加すると、タイミングが満たされません。

状況を緩和するために何をしましたか-各ILAコアに2つのパイプラインステージを追加しました-GTPトランシーバーとロジックの間に1つのパイプラインステージを追加しました-代替の実装戦略としてリタイミング、リマップ、ワイド配置を使用しました

この画像は、通常の設計フローを示しています。ILAコアはSATAController(SATAC)および8ビットCPU(SoFPGA)から遠く離れていますが、コントローラーにはまだ障害のあるパスがあります(障害のあるパスを持つ唯一の領域です)。

ここに画像の説明を入力してください

Artix-7は一部のエリアでリソースをルーティングできないようです。そのような疑いを示すレポートを取得するにはどうすればよいですか?

また、リタイミング、リマップ、および幅広い配置戦略を試しました。結果はこれです:

ここに画像の説明を入力してください

タイミングの失敗はほとんど同じです...

PSこのデザインは、300を超えるBlockRAMのうち178のみを使用します。ザイリンクスISEを使用して他のデザインのほぼすべてのBlockRAMを使用しましたが、そのような動作に遭遇したことがありません。

編集:

以下は、スライスごとのすべての負のスラック値のヒートマップです(赤色)。 ここに画像の説明を入力してください


3
アルテラのQuartusには、LogicLockリージョンと呼ばれるものがあります。これにより、パーティションまたはロジックのチャンクを特定のリージョンに制約できます。ザイリンクスにも同様の機能があると思います(ただし、それが何と呼ばれるかはわかりません)。それが可能な場合は、ILAをロジックから離れた領域に制約し(重要なものを置き換えるのを停止するため)、パイプラインを追加して(領域に制約されない)タイミングを支援する必要があります。
トムカーペンター

2
また、ILAのクロックドメインと他のクロックドメイン間の偽のパスが原因で偽のパスが発生し、結果としてフィッターによる追加の労力が発生する場合があります(実際のパスは優先度が低く処理されるため、タイミングが失敗します)
トムカーペンター

2
SignalTapにも同様の問題がありました(これもアルテラのILAと同等です)。タップロジックに近づけたいタップロジックによって敏感なパスが押し離されたためにパスの失敗が発生しました。これは、SignalTap BRAMが他のBRAMをさらに離れさせるため、BRAM密度が高い場所で主に発生していました。SignalTapがそれほど重要ではない領域に制限されると、問題はなくなりました。
トムカーペンター

@TomCarpenter配置制約はPBlock :)と呼ばれます。私の知る限り、SoFPGAまたはSATAC領域にはILAセルはなく、151トレース信号のそれぞれで3つのFFステージで分離されています。プローブされたデザインは、ILA(150 MHz)と同じクロックドメインで実行されます。すべてのパスに制約があります(制約がなく、クロック間パスのエラーもありません)。上記のエラーパスはすべて、SATACまたはILA自体のいずれかで、同じクロックドメインにあります。ルーティングの輻輳レポートが見つかりました。これは、約54%の使用率(水平および垂直)を示しています。私の否定を見てください。スラックヒートマップが質問に追加されました。
Paebbels

1
2つの問題が見つかりました。最初、Artix-7はKintex-7よりも15〜50%遅いです。デフォルトのスピードグレードを-2から-3に変更すると、すべて問題ありません(670 psの負のスラックと比較して200 psの安全マージンがあります。したがって、スピードグレード-3は6.600 nsパスをほぼ0.970 ns改善します!トレース信号の純粋な接続によりファンアウトが高くなり、タイミングの問題が発生するように見えます。さらに、トレースルートは8ビットCPUの100 MHzクロックドメインを通過するため、(5回のうち1回の実行)そのクロックドメインでの問題非常に長いライン/ルートスルーが他のラインで問題を引き起こす
Paebbels '31

回答:


1

ザイリンクスVivadoでデザイン解析を行うと、詳細なレポートを入手できます。tclコンソールで次のコマンドを実行します。 "report_design_analysis"これは、インプリメントされたデザインのタイミング、複雑さ、輻輳レポートを提供します。このレポートは、[ツール]、[レポート]、[レポートデザイン分析]の順にクリックして実行することもできます。

このレポートでは、配置が原因で渋滞を引き起こしているエリアを確認できます。どのスライスが完全に使用されているか、またはそのようなスライスやルートの賃料はどれくらいか。

これがお役に立てば幸いです。

よろしく、KWQ


この(私には知られていない)レポートをありがとう。前回の画像(タイミングヒートマップ)とどう違うのですか?
Paebbels
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.