LCDモジュールのひな形のVHDLファイルはXiPrePro\pcores\lcd_controller_v1_00_a\hdl\vhdlにあります。これからファイルを編集してLCDコントローラを実装します。

lcd_controller.vhdを開き、ADD USER PORTSのところにこのように追加します。これらはLCDコントローラの入出力ポートです。

次にMAP USER PORTSのところにこのように追加します。これらはLCDコントローラの結線情報です。

今度はuser_logic.vhdを開いて編集します。ここでもADD USER PORSに行き、このように追加します。

次にUser signal declarationを探して、その部分にこれをペーストします。

その次はUser logic implementationを探し、今度はこれをペースト。これらがLCDコントローラの中身になります。

さらに、Example code to drive...を探してその部分をコメントアウトします。

また、XiPrePro\pcores\lcdcontroller_v1_00_a\dataディレクトリにlcd_controller_v2_1_0.mpdがあるので、これをENDの前に追加します。これはLCDコントローラの入出力情報です。

XPSに戻ってIP Catalogタブを選択し、USERを展開し、LCD_CONTROLLER→Add IPを選択。

Bus Interfacesタブにlcd_controller_0が追加されたが、まだバス(PLB)とつながっていないので、白丸をクリックで茶色くして接続する。

ここでメニューのProjectからRescan User Repositoriesを選択しましょう(これをしないとlcd_controller_0の入出力ポートが認識されない)。

その後System Assembly ViewのPortsタブを選択し、LEDSをダブルクリックし、Channel
1でGPIO Data Channel Widthを4にする(LEDは4個)。

次にPush_Buttonsをダブルクリックし、Channel 1でGPIO Data Channel Widthを2にする(プッシュスイッチは2個)。

lcd_controller_0を展開し、lcd_dataのプルダウンメニューを開き、Make Externalを選択する(この端子はFPGA外部に出すという意味です)。

他の端子も同様にMake Externalを選択しますが、lcd_rwだけはNo Connectionとしてください。

Addressタブを開いてみましょう。右の方にGenerate Addressボタンがあるのでクリックします。これでlcd_controller_0にアドレスが割り振られます。

Projectタブからsystem.ucfを開き、このように入出力ピンを割り当てます。これらのピンは外部LCDモジュールやシリアル‐USB変換IC、LED、プッシュスイッチなどにつながります(DFXLSP250基板の場合)。

ここでHardware→Generate Bitstreamを選択します。

ConsoleにDone!と出たら成功です。これでLCDコントローラのハードウエアは完成です。
|