2019.7.30
前へ
次へ
ホームページトップへ戻る

[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第96回]


●簡単なサンプルプログラム(7)端子名配置の追加

前回までで、残るはEPM7128SLC84にUSB BLASTERでサンプルプログラムTRNGSMPL1を書き込む作業のみ、というところまで完了しました(という思い込みでした)。
それで実際にプログラムを書き込んで、テストしてみましたところ。
動きません。
んな、ばかなはずは…。
ばかは、このわたしめでありました。

前回の終わり近くでお見せした画像です。

下部のリストをよく見ますと、Locationが空白になっています。
気が付きませんでした。
なんとSWA〜SWCも空白になっています。
これじゃあ、いくらスイッチを押しても反応がないのは当たり前です。
肝心のプッシュスイッチを端子に割り当てていませんでした。

ええい。
なんて、こったい。
全くもっておばかでありました。

[第94回]でQSFファイルをコピーしましたが、そのときもとにしたファイルは82C55のテストプログラムでした。
82C55と同じ動作をするプログラムということで作ったプログラムでしたから、プッシュスイッチなどは定義していませんでした。
そのことをすっかり失念しておりました。
もうひとつ7セグメント出力信号SEGOUT[7]〜SEGOUT[0]も82C55プログラムでは定義していませんでしたが、よくよく考えてみると、この信号は出力として使うため、回路としてはプルアップなどはしてありません。
するとこれらの信号が未定義のままだと、ここからノイズが入って誤動作する可能性があります。
そこでSEGOUT[7]〜SEGOUT[0]はTRNGSMPL1でも使っていませんが、OUT信号として定義しておいたのでした。
そのこともすっかり忘れてしまっておりました。

ということで、もう一度Pin Plannerの実行です。

SEGOUT[7]〜SEGOUT[0]、SWA〜SWCを以下のように割り当てます。
SEGOUT[7] PIN70
SEGOUT[6] PIN73
SEGOUT[5] PIN74
SEGOUT[4] PIN76
SEGOUT[3] PIN75
SEGOUT[2] PIN77
SEGOUT[1] PIN80
SEGOUT[0] PIN79
SWA PIN30
SWB PIN33
SWC PIN31

Pin Plannerを使って信号名を端子番号に割り当てる方法については[第85回]で説明しました。

全部割り当てました。

これで今度こそ大丈夫です。

Pin Plannerを終了して、コンパイルを実行しました。


●Programmer

いよいよEPM7128SLC84にTRNGSMPL1プログラムを書き込みます。
1)最初にまずCPLDトレーニングボードに+5Vの電源アダプタをセットして電源をONにします。
USBケーブル経由でも漏れ電流によってトレーニングボード上のLEDが点灯しますが、CPLDにプログラムを書き込むためには電圧が足りません。
必ず+5V電源を接続して電源ONにしてからUSB BLASTERを接続するようにしてください。
2)CPLDトレーニングボードの10pinJTAGコネクタにUSB BLASTERの10pinケーブルコネクタを接続します。
3)反対側のUSBケーブルをパソコンのUSBコネクタに接続します。
これで準備ができました。

[Tools]をクリックします。

[Programmer]をクリックします。

Programmerが起動します。

Hardware Setupの右の窓にUSB−Blaster[USB−0]と表示されていることを確認してください。
ここがNo Hardwareになっていたら、[第89回]の操作をしてください。
ところで、上の画像のようにUSB−Blaster[USB−0]と表示されていても、その下に表示されるファイルの右側の□にチェックが入っていないと、書き込みはStartできません。

Program/ConfigureとVerifyにチェックを入れます。

するとStartボタンが押せるようになります。

Startボタンを押しました。


書き込みが完了しました。

Programmerを終了して(右上の[X]をクリックします)、CPLDトレーニングボードからUSB BLASTERを外します。
USB BLASTERはパソコンからも外しておくようにします。
そしてQuartusUを終了します。

CPLDトレーニングボードにtrngsmpl1を書き込んだ結果は、今度は期待した通りに動作しました。
やれやれです。
テスト動作中の写真は次回にお見せします。

CPLD入門![第96回]
2019.7.30upload

前へ
次へ
ホームページトップへ戻る