クロック・コンストレイン
 クロック・コンストレイン(クロック制約)によってVivadoに入力クロックの周期などを伝えます。この作業を怠ると動作が不安定になる場合があります(*1)。

(*1)大きな回路、高速な回路を追加するなど。

 クロック・コンストレインは通常は入力クロックのみ行えば事足ります(この動画が参考になる)。動画内でも言及していますが、Clocking Wizardで生成するクロックは自動的にタイミング解析されます。

 本セミナの回路で使用するクロックはすべてClocking Wizardで生成したものです。ここに倣ってBitstreamを生成し、Project Summaryを見ると次のようになっています。Timingの欄を見ても特にエラーは出ていません。


 エラーがないということはクロックに間に合っている(回路の各部分が1サイクル内に処理できている)ということです。
 それではクロックをもっと高速にして、あえてエラーを発生させてみましょう。IP Sourcesからclk_wiz_0 (Clocking Wizard)をダブルクリックして開きます。


 Output Clocksが11MHz程度になっていますが、これを100MHzに変更します(約9倍高速になる、周期10ns)。


 Generate Bitstreamをクリックします。するとVivadoはクロック周期が10nsであることを前提に配置配線します。


 Bitstream生成に成功したらReloadをクリックしましょう。


 Project Summaryを見るとTimingの欄に赤字が見られます。クロックが速すぎてタイミングエラーが発生したということです。Implemented Timing Reportをクリック。


次のページへ

戻る