FC2カウンター FPGAの部屋 2017年04月02日

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

PYNQのLED表示プロジェクト1(ブロックデザインの作成)

ikwzm さんのFPGA Managerデバイスツリー・オーバーレイを確かめてみるために、簡単な例としてPYNQボードのLED表示プロジェクトを作ることにした。

まずは、PYNQ_LED_test_164 プロジェクトを作成した。Zynq はPYNQボードの xc7z020clg400-1 を指定した。
PYNQ_LED_test_1_170402.png

Create Block Design をクリックして、ブロックデザインを生成した。名前は pynq_led_test とした。
スケルトンのDiagram で、add IP アイコンをクリックした。
PYNQ_LED_test_2_170402.png

ZYNQ Processing System を選択してダブルクリックした。
PYNQ_LED_test_3_170402.png

processing_system_7_0 が追加された。
PYNQ_LED_test_4_170402.png

processing_system_7_0 をダブルクリックし、設定画面を表示した。
PYNQボード用PSの設定方法”に従って、PSをPYNQボード用に設定した。
AXI GP0 を設定する。
processing_system_7_0 の設定画面で、Zynq Block Design をクリックしておいて、32b GP AXI Master Ports にマウスを持って行って、緑の箱の中が白くなったらクリックすると、AXI GP0 の設定画面が開く。
PYNQ_LED_test_5_170402.png

M AXI GP0 interface にチェックを入れた。
PYNQ_LED_test_6_170402.png

Clock Configuration をクリックして、FCLK_CLK0 が 100 MHz であることを確かめた。
PYNQ_LED_test_7_170402.png

OK ボタンをクリックして、PS の設定画面を終了した。PYNQボードの設定が行われている。
Run Block Automation をクリックした。
PYNQ_LED_test_8_170402.png

PS のFIXED_IO と DDR を接続する。
PYNQ_LED_test_9_170402.png

PS のFIXED_IO と DDR が接続された。
PYNQ_LED_test_10_170402.png

Add IP アイコンをクリックして、出てきたダイアログに gpio と入れると、AXI GPIO が出てくるので、それをダブルクリックしてブロックデザインに追加する。
PYNQ_LED_test_11_170402.png

AXI GPIO をブロックデザインに追加した。
PYNQ_LED_test_12_170402.png

Run Block Automation をクリックした。
下の図では、GPIO にチェックが入っているが、OUT端子のみを出したいので、チェックを外して、S_AXIのみをチェックする。
PYNQ_LED_test_13_170402.png

Processor System Reset と AXI Interconnect がインスタンスされて、配線された。
PYNQ_LED_test_14_170402.png

axi_gpio_0 の GPIO を展開して、gpio_io_o を右クリックし、右クリックメニューから Make External を選択した。
PYNQ_LED_test_15_170402.png

gpio_io_o[3:0] ポートが生成された。
PYNQ_LED_test_16_170402.png

gpio_io_o を LD に名前を変更する。
gpio_io_o[3:0]ポートをクリックした。
PYNQ_LED_test_16_170402.png

External Port Properties の Name を LD に変更した。
PYNQ_LED_test_17_170402.png

ブロックデザイン上で gpio_io_o[3:0] が LD[3:0] に変わった。
PYNQ_LED_test_18_170402.png

Validate Design アイコンをクリックして、デザインが正しいかどうか?を確認した。
PYNQ_LED_test_19_170402.png

Validation が成功した。
Address Editor を示す。
PYNQ_LED_test_20_170402.png

pynq_led_test ブロックデザインを右クリックし、右クリックメニューから Create HDLWapper... を選択した。
PYNQ_LED_test_21_170402.png

デフォルトのまま、OKボタンクリックした。
PYNQ_LED_test_22_170402.png

pynq_led_test_wrapper.v が生成された。
Synthesis -> Run Synthesis をクリックして、論理合成を行った。
PYNQ_LED_test_23_170402.png
  1. 2017年04月02日 11:04 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0