CPLDで遊ぼう!(12)
更新日:2006年5月27日

ラッチをつけてみよう
最終的な周波数カウンタの完成に向けて今回はラッチの回路を構成してみます。
前回は3桁分の表示しか行っていませんでしたが、今回は6桁分まで行います。
CPLD周辺の回路は前回の構成と同じです。
6桁分のトランジスタアレイを取り付けて実験をしましょう。
ラッチをつけてみようのラッチモジュール
周波数カウンタとするためにはカウント数をラッチする回路が必要になります。
BCDカウンタひとつづつに対応する4bitのラッチを構成してみます。
(ラッチモジュールの入出力)
clkの立ち上がりに同期して入力4bitデータをラッチして4bit出力する回路にしています。
(ラッチモジュールのVHDLソース)
ラッチをつけてみようのクロック分周モジュール
表示が3桁の時は0.1秒でカウントアップするクロックで表示の確認を行えましたが、6桁もありますと6桁目のカウントアップに時間を費やします。
今回は10MHzの基本クロックから0.01秒を作るモジュールを作りました。
内容的には分周比が違うだけで基本構成は0.1秒の時と同じです。
(クロック分周モジュールの入出力)
合成された時に使用するゲート数を減らすために内部カウンタのビット数を落としてあります。
(クロック分周モジュールのVHDLソース)
ラッチをつけてみようのラッチクロック分周モジュール
ラッチの効果を確認するためにカウント20回ごとにラッチのクロックを出力するモジュールとしました。回路的には20回に一回ラッチクロックを分周して出力するようにしました。
(ラッチ分周モジュールの入出力)
ラッチ分周には5bit分の分周まですることが出来ます。
皆さんもここの値を自由に変えて、ラッチの確認をお願いします。
(ラッチ分周モジュールのVHDLソース)
ラッチをつけてみようの全体構成
今回の実験用の全体構成を回路図で示します。
(ラッチをつけてみよう実験回路構成)
ラッチをつけてみようの実験の様子
(実験の様子)
20カウントごとに表示がアップしていきます。皆さんも自由に内容を変えて実験をしてみて下さい。
いかがでしたでしょうか。VHDLでコーディングするということはこれほども楽しいということを実感しております。今後もステップを踏みながら完成に向けて開発を進めて行きたいと考えております。
これからもますます楽しくなる「CPLDで遊ぼう!」をよろしくお願いいたします。

「CPLDで遊ぼう!」表紙へ戻る