ZYBOで遊ぶ01:簡易タイマーIPの自作(2)
ZYBOで遊ぶ01:簡易タイマーIPの自作(1) - ThuruThuruToru’s blog の続き
ZYBOで遊ぶ01:簡易タイマーIPの自作(1) - ThuruThuruToru’s blog
ZYBOで遊ぶ01:簡易タイマーIPの自作(2) - ThuruThuruToru’s blog
ZYBOで遊ぶ01:簡易タイマーIPの自作(3) - ThuruThuruToru’s blog
ZYBOで遊ぶ01:簡易タイマーIPの自作(4) - ThuruThuruToru’s blog
- 4. Create Block Design
- 5. Constraints 設定
- 6. Create HDL Wrapper
- 7. Synthesis, Implementation, Generate Bitstream
4. Create Block Design
左側のIP Integrator -> Create Block Design をクリックし,Design nameを適当に決めてOKボタンをクリックする.
Diagram というタブが現れるので,ここにPS部, 自作したIP, IO を追加・接続してデザインを作っていく.
4.1. PS部
Diagram タブ内で右クリック->Add IPを選択.
現れたWindowから「ZYNQ7 Processing System」をダブルクリックする.
現れたブロックを右クリック->Customize Blockを選択.
Re-customize IPという画面が現れるので以下の設定をする.
Import XPS Settings をクリックし,ZYBO用の設定ファイルを指定する
- ZYBO_zynq_def.xml(digilentのZYBOのページ下部からダウンロード)
左側のInterruptsをクリック
- OKをクリックして Re-customize IPを閉じる
正しく設定できていれば,以下の図の様になる.
Diagramタブの上の方に「Run Block Automation」という青文字がでているのでクリックする.
Run Block Automationという画面がでるのでOKをクリック.
以下の図の様にDDRとFIXED_IOというポートが作成される.
4.2 自作したタイマーIPをPS部と接続する
Diagramタブ内で右クリック->Add IPを選択.
myTimerを探してダブルクリック.
Diagramタブの上の方に「Run Connection Automation」という青文字がでているのでクリック,表示された画面のOKボタンをクリックし,タイマーIPとPS部を自動接続する.
右クリック->Regenerate Layoutを選択すると以下の様になった.
Processor System ResetとAXI Interconnectというブロックが自動で追加され,AXI IF, Clock, Resetが自動で接続されている.
myTimerを見ると,interruptとledがまだどこにもつながっていない.
interruptはZYNQ7 Processing SystemのIRQ_F2Pにつなげば良いので,マウスで2つの信号をつなぐようにドラッグする.
ledはIOへの接続なので,Diagramタブ内の白い部分で右クリック->Create PortをクリックしてOutputポートを作成する.Port nameをLED, DirectionをOutput, TypeをDataとしてOKボタンをクリック.
LEDポートが作られるので,マウスを使ってmyTimerのledポートと接続する.
Diagramタブ内の白い部分で右クリック->Validate Designをクリックしてデザインに問題がないことを確認する.
5. Constraints 設定
Flow Navigator内のProject Manager->Add Sourcesをクリック.
「Add or create constraints」を選択する.
Add Filesを選び,ZYBO_Master.xdc(digilentのZYBOのページ下部からダウンロード)を選択し,Finishボタンをクリック.
SourcesタブからConstraints->constrs_1->ZYBO_Master.xdcをダブルクリック.
全ての設定がコメントアウトされた状態になっているので,
IO_L23P_T3_35を探し,
set_property PACKAGE_PIN M14 [get_ports {LED}] set_property IOSTANDARD LVCMOS33 [get_ports {LED}]
と修正する.
6. Create HDL Wrapper
SourcesタブからDesign Sources->design_1を右クリックし,Create HDL Wrapperを選択して,TopとなるHDLを作成する.
7. Synthesis, Implementation, Generate Bitstream
Flow Navigator内のProgram and Debug->Generate Bitstreamをクリックし,Synthesis, Implementation, Generate Bitstream をいっきに実行.
BitStreamの生成まで無事完了したら,File->Export->Export Hardwareをクリック.
Include bitstream にチェックを入れてOKをクリック.
File->Launch SDK クリックし,Eclipseを起動する.
ここからは,Eclipse上でFarmwareを書いていく.
ZYBOで遊ぶ01:簡易タイマーIPの自作(3) - ThuruThuruToru’s blog に続く