読者です 読者をやめる 読者になる 読者になる

(DE0-CV) DE0拡張キットのLCDモジュールを使う (2)

プロジェクト作成

TerasicのサイトにDE0-CVのQuartusIIプロジェクトを生成してくれるツールがあります。
下記の[CD-ROM]-[DE0-CV CD-ROM]をダウンロードし解凍します。
Terasic - All FPGA Main Boards - DE0-CV Board

解凍したファイルの[Tools]-[SystemBuilder]にある DE0_CV_SystemBuilder.exe を起動します。
GUIで選択した端子が設定されたQuartusIIプロジェクトを作成可能です。
下記は今回使う分だけ端子を設定したところ。これで「Generate」を押すとプロジェクトが作成されます。
GPIO-0 Header を None から GPIO default にしてください。 f:id:m_keishi2006:20170430185130p:plain

作成されたプロジェクト。.htmは端子を一覧で見ることができるファイルです。
.qsfはデバイスやピンアサインなどのQuartusIIのプロジェクト設定が書かれたファイルです。 .sdcはクロック制約。凝ったことしないなら特に編集は不要です。
.vがVerilogのソースファイルです。
ただし、今回はVHDLで作ります。拡張子を.vから.vhdに変更します。 f:id:m_keishi2006:20170430185717p:plain

プロジェクトを開いてソースファイルを追加

.qsfをダブルクリックするとQuartusIIプロジェクトが開きます。

最初はソースファイルが設定されていないので、ソースを追加します。
Project NavigatorのドロップダウンリストからFilesを選択します。 f:id:m_keishi2006:20170430190018p:plain

ディレクトリマークのFilesを右クリックして「Add/Remove Files in Project…」をクリックします。
f:id:m_keishi2006:20170430190534p:plain

File name: の右にある「…」をクリックしてソースファイルを選択すると追加されます。
※拡張子は.vから.vhdに変更しています。 OKを押してウィンドウを閉じます。
f:id:m_keishi2006:20170430190748p:plain

端子名を変更

GPIOは下図のようなピン配置になっています。
このうち、LCDとしてGPIO_0_D10~GPIO_0_D20までの11本の端子を使用します。
f:id:m_keishi2006:20170430214242p:plain

qsfファイルを開きます。qsfファイルにはピンアサインが記載されています。
GPIOは36本ありますが、使うのはGPIO[10]~GPIO[20]までなので、他のGPIOの端子は消してしまいます。
※VisualStudioで編集しているので、QuartusIIの編集画面とは異なります。
f:id:m_keishi2006:20170430214511p:plain

GPIO[10]~GPIO[20]を残して、他のGPIOの端子は消しました。
さらに、GPIO[10]~GPIO[17]をLCD_D[0]~LCD_D[7]に、GPIO[18]~GPIO[20]をそれぞれRS,WR,ENにリネームしました。
f:id:m_keishi2006:20170430214838p:plain

ソースコード(VHDL)の編集

DE0_CV_SystemBuilder.exe で作成された VerilogファイルをVHDLの記述に置き換えます。
下図のようになりました。
f:id:m_keishi2006:20170430215835p:plain

これをベースにしてLCDで文字を表示させる記述を作っていきます。