| Timingタブにエラーの詳細があります。intra-Clock Paths -> clk_out1_clk_wiz_0
-> Setup...を見てみましょう。Slackが負の値になっており、FromからToまでのパスが間に合っていません。 |

| MuxIir.vを開き、Y1の部分を見てみます。このY1を出力するのが間に合っていないようです。 |

回路図で表すと次のようになります。このパスが長すぎて10nsで終わらないということです(*2)。
(*2)多ビットの乗算器や加算器があるので演算に時間がかかる。セミナではクロックが11MHz(周期90ns)なので間に合っていた。 |

| 対策として、乗算器と加算器の間にDF/Fを入れます。このようにラッチすることにより、遅延の伝搬を断ち切ることができます。 |

| MuxIir.vを開いて次のように変更し、Generate Bitstreamします。 |


| Project Summaryを見るとTimingの欄から赤字が消えました。DF/Fでラッチすると10nsに間に合うようです。 |

タイミング的には間に合いましたが、論理的には修正が必要になります(*3)。もう一度シミュレーションをやり直してからFPGAに実装してください。
(*3)乗算器の出力が1サイクル遅れるので、後段の回路もそれに合わせる必要がある。レイテンシは1サイクル増える。 |
最初のページへ
戻る
|