Edited at

Python で FPGA/簡単な足し算を合成する(CoraZ7編)


Vivado でCora Z7用デザインをつくる

すでに前回までで Vivado 上でシミュレーションが出来ました。

Create Block Design で Diagram を作った上で adder のモジュールを Add Module します。

image.png

image.png


clk と rst だけ Make External

image.png


VIO を追加して回路を完成させる。

VIO は input が2つ、output が4つ。

image.png


input の1つは 32bit

image.png


output の 2つは32bit

image.png


接続して回路を完成させる

image.png


xdc の追加

adder.xdc として clk と rst を追加します。

image.png


adder.xdc

## PL System Clock

set_property -dict { PACKAGE_PIN H16 IOSTANDARD LVCMOS33 } [get_ports { clk }]; #IO_L13P_T2_MRCC_35 Sch=sysclk
create_clock -add -name sys_clk_pin -period 8.00 -waveform {0 4} [get_ports { clk }];#set

## RGB LEDs
#set_property -dict { PACKAGE_PIN L15 IOSTANDARD LVCMOS33 } [get_ports { led0_b }]; #IO_L22N_T3_AD7N_35 Sch=led0_b
#set_property -dict { PACKAGE_PIN G17 IOSTANDARD LVCMOS33 } [get_ports { led0_g }]; #IO_L16P_T2_35 Sch=led0_g
#set_property -dict { PACKAGE_PIN N15 IOSTANDARD LVCMOS33 } [get_ports { led0_r }]; #IO_L21P_T3_DQS_AD14P_35 Sch=led0_r
#set_property -dict { PACKAGE_PIN G14 IOSTANDARD LVCMOS33 } [get_ports { led1_b }]; #IO_0_35 Sch=led1_b
#set_property -dict { PACKAGE_PIN L14 IOSTANDARD LVCMOS33 } [get_ports { led1_g }]; #IO_L22P_T3_AD7P_35 Sch=led1_g
#set_property -dict { PACKAGE_PIN M15 IOSTANDARD LVCMOS33 } [get_ports { led1_r }]; #IO_L23N_T3_35 Sch=led1_r

## Buttons
set_property -dict { PACKAGE_PIN D20 IOSTANDARD LVCMOS33 } [get_ports { btn0 }]; #IO_L4N_T0_35 Sch=btn[0]
#set_property -dict { PACKAGE_PIN D19 IOSTANDARD LVCMOS33 } [get_ports { btn[1] }]; #IO_L4P_T0_35 Sch=btn[1]



トップモジュールを作って合成

Create HDL Wrapper でトップモジュールを作ります。自動的に Set as TOP となるので合成をします。

image.png

今回はここまで