2010/02/28(日)24時間時計とMAXII交換

この間作った、HDL-CQ1互換ボードを使って講習会で学んだVerilog知識の復習として24時間時計を作成しています。使っているMAXIIはトラ技付録なのでEPM240の100pinタイプ、つまりロジックエレメント数は240個です。講習会で使っていた評価ボードのFPGAはSpartanなのでそれから比べれば入る容量は微々たるもの、それでもなんとか時計としての機能を盛り込むことは完了できました。
仕様としては、
  1. 7セグ4桁と5つのスイッチ
  2. 時分秒の00:00:00~23:59:59をカウント
  3. 7セグが4桁なので普段は「時・分」表示
  4. 秒表示スイッチを押している間は「分・秒」表示
  5. 4つのスイッチで「時」+-スイッチ、「分」+-スイッチで設定
です。
全て機能を盛り込んでロジックエレメント220個消費で使用率92%で結構ギリギリでした。
これもひとえに講習会でVerilogを学んだおかげなのですが、せっかくなのでこの成果報告をしたいと思っています。しかし、すでに講習会は終了しています。3月に控えた講習会卒業生の交流会があるのでそこで発表(軽くブースを設けてくれる)しようと思っています。しかし、学んだことの復習を発表しただけでは物足りないので発表は「24時間時計+VGA出力機能」としようと思っています。
しかし、先に言った92%の使用率ではどうにもならないので付録基板のEPM240をロジックエレメント数が倍以上の570個であるEPM570に換装しようと考えました。
幸いEPM240もEPM570もTQFP-100pinサイズのパッケージがあり、ざっとみた感じコンパチでした。元々CPLDやFPGAはIOピンを自由に配置できるのが利点ですし極端なはなし電源ピンさえ合えばパターン配線がミスっていてもどうとでもなるものです。ともかくそんなことからEPM570をdigi-keyから1個購入し、そして交換しました。

CQ_EPM570web01.jpg
 
CQ_EPM570web02.jpg


なかなか良い感じに交換もできて、上機嫌にEPM240からEPM570デバイス設定を変更して配置配線をやり直し、先日作ったUSB-Blasterもどきでダウンロードしました・・・が、全般的に動いてはいるんですが、なんかボード上の未使用LEDが点灯している。なぜだ、ピン配置など見直すも
とくに問題ない。
まさかとは思って、ピン配置設定ソフトのピンデータのPrintを実行して見比べてみたら・・・

CQ_EPM570web03.jpg
 

なんかIO数減ってるし・・・orz
減ったピンはVccINTとGNDINTの内部回路用電源になってました。自分はちゃんと調べておかなかったのが悪いのですが、微妙ピンコンパチとかやめてほしかった。まぁ、やってしまった以上なんとか対処するしか方法はないので、パターンカットをして該当部分の再配線をするかどうするか悩みました。でもパターンカットで基板に手を加えるのは何か嫌だったので面倒ですが(この業界でよくある?)「ピン上げ」をすることにしました。その結果、こんな感じになりました。

CQ_EPM570web04.jpg


なんか、ぱっとしませんがこれで漸くLED点灯もなくなり、電源配線も問題なくなりました。
そんなわけで、やっとのことでVGA部分の設計に入れるようになりました。

交流会は3月12日だけど間に合うかな・・・?