LCDコントローラのハードウエア |
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コントローラのハードウエアは完成です。
|