BX.前回までの続きです。ホワホワさせましょう。GTKwave)で回路の波形出力を確認しました。level)と呼ばれる回路(ラッパー)を作るのが一般的です。今回はトップレベルの設計をしてみましょう。完成させていこうと思います。オブジェクトの違いは?トップレベルの設計まず最初に、イメージ的なトップレベルクラスを示します。(これは、このままでは動きません。後で、クロックドメインを定義します。クラスを動作させる時に考えなくてはいけないのは、以下の点です。ついては、こちらを参考にしました。変換した結果を見てみると、こんなふうになっています。繋いであげる必要があります。うまく記述できません。書くと、そんな信号名は知らないと叱られます。設計ではトップレベルの設計(記述)時に、クロックドメイン(ClockDomain)とクロッキングエリア(ClockingArea)というものを定義しないといけないようです。動作させるには、先ほどのトップレベルを次のように変更します。いうのがクロッキングエリアの定義です。クロックドメインの詳細については、こちらが詳しいです。=」という記述で、そのドメインに入力するクロック信号を指定します。よる設計コード中でこの値を参照できるそうです。いうのはイディオムで、そういうもんだと覚えます。これは、このクロックドメインに属する回路のリセットをどのように扱うか、というものです。用の特殊なリセットとなります。いう記述を書かないといけない点に注意してください。)のように記述します。LOW」と記述します。それが、一つ前に示したトップレベルのクロックドメインの定義です。次にクロッキングエリアについてです。いう名前で定義しました。クラスを使う(インスタンス化する)には、カッコの中に定義済みのクロックドメインを指定します。そのエリア定義の中に、そのクロックドメインに属する回路を記述します。クラスをインスタンス化しています。インスタンスも、自動的に同じクロッキングエリアに属することになる点に注意してください。ちなみに、クロックドメインとクロッキングエリアが独立した概念になっているのは、あるクロックドメインを複数のクロッキングエリアから利用できるようにするためと思います。関数、コンストレイントファイル(PCF)をまとめて列挙しましょう。ファイルは、こちらを参考にしています。フラッシュメモリに書き込んでみましょう。よる設計ファイルからフラッシュ書込までには、いくつかのツールが必要です。まとめますと、次の通りです。