実験3A 導入課題

7SEG LED駆動回路およびカウンタの設計

導入課題の目的は、論理システムの講義および実験2ハードウェアの復習を含めた、HDL設計とCADツールの習熟である。 また、適切なレポート(報告書)の書き方について特に重視する。


課題の概要

7SEG LED(下図)は16進数のA〜Fを含む数値の表示のためによく利用されるデバイスである。 このデバイスは、8つのLEDから構成される。

7SEG LED

通常、7SEG LEDはデコーダとセットで利用され、1桁の16進数(4ビット)の入力を受けて0〜Fを表示する。 しかし、実験3ハードウェアで使うPowerMedusaボード上の7SEG LEDは、16進数の表現以外の用途にも利用できるように、あえてデコーダは準備されていない。 そのため、FPGAの出力は7SEG LED中の8個のLEDそれぞれにつながっている。

本課題では、この1桁の16進数(4ビット)の入力を受け、8個のLEDを適切に点灯させて0〜Fを表現する組合せ回路を設計する。 また、この回路を部品として用いてカウント値を表示する順序回路を設計する。


課題

課題1

PowerMedusa上の入力装置から4ビットのデータを入力し、7SEG LEDに1桁の16進数を表示する回路を設計し、ボード上で動作を確認せよ。

(ヒント1: 回路の仕様の決定)

まず、7SEG LEDを用いて1桁の16進数0〜Fを表現するため、その表現方法を考える。 例えば、"1"の表現は下の図のようになる。

7SEG LEDでの1の表現

レポートには、0〜Fをどう表現することとしたか、などを記述する。

(ヒント2: 回路の論理設計)

1桁の16進数は4ビットで表される。
4ビットを入力とし、下図のように7SEG LEDを駆動する8ビットの信号を出力する組合せ回路を設計する。

7SEG LEDの信号割当て

レポートには、どのように論理回路を設計したかの方針を、必要に応じてHDLコードの説明を交えながら示す。

(ヒント3: CAD上での設計)

ボード上の入力装置から4ビットを入力し、7SEG LEDに1桁の16進数を表示するよう、入出力ピンを指定する必要がある。入力装置は自由に選んでよい。
レポートでは、設計の方針(使用した部品、ピン指定など)について説明を加える。

(ヒント4: 動作結果の検証)

まず、設計した回路がシミュレーションによって正しく動作することを確認する。
次に、回路をFPGAにダウンロードし、正しく動作することを確認する。
レポートでは、動作確認の方法(テストベンチコードを交えてよい)、正しく動作した(あるいは動作しなかった)ことを報告する。

課題2

10進数4桁の数字を表示して1クロックで1ずつカウントアップする回路を設計し、 ボード上で動作を確認せよ。 設計した回路のサイズ(使用Logic Element数)、動作可能速度(最大クロック周波数)などの性能を調べよ。

(ヒント)

課題1の回路をモジュールとして呼び出して用いるとよい。 回路性能の見方はFAQのページを参照すること。 レポートでは、課題1と同様に、仕様、設計、動作結果について説明する。

課題3

課題2の回路にプッシュスイッチからの入力を追加し、スイッチを押す度にカウントアップを停止/再開できるようにせよ。 (スイッチのチャタリングに対応する必要があるので注意すること。)

レポートについて

試験の答案ではなく実験レポートであることに注意すること。すなわち、課題毎に章構成を検討し、設計する回路の仕様、設計の詳細、ピン割当て、正しく動作したか、などを明記すること。 また、必要に応じてHDLコードや回路図を示し、本文から参照して説明すること。

TA用レポートチェックシート (txt形式、UTF-8)