7SEG LED駆動回路およびカウンタの設計(初回レポート課題)

論理回路の講義、および、実験2ハードウェアの復習という観点から、 7SEG LEDの駆動回路およびカウンタ回路の設計演習を行う。


課題の概要

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を表現する組合せ論理回路を設計する。 また、この回路を部品として用いてカウント値を表示する順序回路を設計する。 (本課題はHDLを使わず回路図エディタで設計すること。)


課題

課題1

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

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

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

7SEG LEDでの1の表現

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

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

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

7SEG LEDの信号割当て

レポートには、各出力に対応する4変数論理関数を、真理値表や論理式の形で示す。

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

ボード上のスイッチから4ビットを入力し、7SEG LEDに1桁の16進数を表示するよう、入出力ピンを指定する必要がある。 回路図はCADから印刷し、図番号を付けて本文から参照し、設計の方針、使用した部品、ピン指定などについて説明を加える。

(ヒント4: 実験結果)

回路をFPGAにダウンロードし、正しく動作することを確認する。 レポートでは、正しく動作した (あるいは動作しなかった) ことを報告する。

課題2

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

(ヒント)

課題1の回路をライブラリに登録し、呼び出して用いるとよい。 回路性能の見方はFAQのページを参照すること。 レポートでは、課題1と同様に、仕様、設計、実験結果について説明する。

課題3(発展課題: 提出は任意)

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

レポートについて

試験の答案ではなく実験レポートであることに注意し、各課題毎に章構成を検討し、設計する回路の仕様、設計の詳細、ピン割当て、正しく動作したか、などを明記すること。 また、CADのブロック・ダイヤグラム・エディタから回路図を印刷して添付し、本文から参照して説明すること。

TA用レポートチェックシート


Last modified: 04/14/15 13:23