理論グループのミーティングの報告

日時: 98/04/21
場所: 斉藤理一郎助教授教官室 西5-517

前回の発展として、VHDLにより、ボード上のスイッチとLEDを扱った、より複雑な機能を記述しFPGAに実装した。そして、ボード上で機能の検証を行なった。

今回は、山岡は作成した20進アップダウンカウンタ、可変速20進アップカウンタ、沼さんは可変速BCDアップカウンタの説明を行なった。

まず、山岡から説明。

<20進アップダウンカウンタ>ソースはここにあります。

(ソース説明)
まず、ヘッダの部分でライブラリの宣言を行ない、entity部では入出力ポート、また、各々 のビットに対するピン番号をattributeで割り当てる。つぎに、実際の動作をarchitecture部 でRTLで記述している。
まず、ボード上からのクロックを分周し、周波数の落ちたクロックを生成する。そして、このクロックに同期してスイッチの状態に応じて場合分けし、カウンタの初期化、カウントアップ、カウントアップによる桁上げ、カウントダウン、カウントダウンによる桁下がりを行なう。最後のprocessでカウント信号をLEDに表示している。

(動作確認)
実際に動作していることを確認した。

<可変速20進アップカウンタ>ソースはここにあります。

(ソース説明)
動作記述以外はは前述と同様。
動作は、周波数の落ちたクロックに同期してカウントすること、LEDに表示することについては前述したことと同じであり、ここでは2つあるスイッチをカウント用、カウント速度決定用として機能を割り当てている。このカウント速度決定用のスイッチを押し、LEDに表示された数値が、カウント速度を相対的に示している。ここで、LEDに表示される数値は、押されているスイッチがカウント用のときはカウント数値、カウント速度決定用のときはカウント速度の数値を永続的に表示している。

(動作確認)
実際に動作していることを確認した。

次に、沼さんが説明を行なった。

<可変速BCDカウンタ>ソースはここにあります。

(ソース説明)
今回は速度を変えられるBCDカウンタを作った。まず、ボード上のクロックの2の16乗倍を標準速として、 カウンタの速度を2倍速、4倍速、8倍速、そして標準速に戻るスイッチをSW2に設定し、その後、それらのクロックの速度を設定した。 それから、SW1を押すとカウンタが"0"に戻るリセットを設定した。 そしてBCDカウンタの設定を行なった。BCDカウンタは"9"、つまり2進法の"1001"となると次のクロックで強制的に"0"に戻るように作られている。 その他の宣言文やLED出力の設定に関しては、山岡君のソースとほぼ同じ。

(齋藤先生より)
次は、ボードとPCとの通信機能を持った環境の構築、PCからのデータを処理するアルゴリズムをVHDLにより記述するよう勧められた。