上期の最終課題上期の最終課題は、以下のVHDLのサンプル・コードや参考文献を参照して、実際に動作する回路を自分で設計して、シュミレーションからシンセサイズまでを完了させる事です。回路作成の手段は問いませんが、研究会で紹介したVHDLが取り組みやすいでしょう。 最終課題に取り組む前に、以下のVHDLで記述された課題用のファイル2つをダウンロードして取り組み、ウォーミング・アップしておく事をすすめます。 以下の条件を満たせば、HDLのXC95108-PC84のボードを使用して、実際に動作させて、確認する事が可能です。
サンプルコードについてなお、以下のVHDLのサンプル・コードでは、乱数を発生させてLEDを約1秒に1回、クリスマスツリーのようにランダムに点灯させます。STARTボタンは働かず、STOPボタンで一時停止します。ヒントほかに考えられる応用としては、LED 2進表示のタイマー(ストップウォッチ)や、プッシュした数を数えるカウンターなどがあると思います。半日もあれば何かできると思いますので、工夫してみて下さい。さらにヒントデバッグは、シミュレーションで行います。時間系統の動作では、1秒という値は恐ろしく長くて追跡できないために、タイマーのカウントビットを24ビットから4ビットに減らしてデバッグします。 (ソース中コメントで埋めてあります。このタイマー部分は流用可能でしょう。) バグフィックスサンプル・コードには、実際には使用しない"START ボタン"のPORTを割り当てているため、Optimizeの結果、未使用PORTのピンアサインができず、ImplementationでWarningやエラーとなるケースが報告されています。そのような場合には、ソース上で未使用のSTARTポートの宣言をコメントにして、Edit ConstrainsのPad LocでのSTART PORTのピンアサイン(出てこない)をしないように下さい。くれぐれもSynthesisのところで、Edit Synthesis/Implementation Constrain と その下の View Essential Performance after Optimization をチェックして、ソースコードのコメントを解釈しながら、PORT定義で、ピンはちゃんとアサインするように。 |
VHDL_サンプル・コード |
トップ |