(C) by T.IZUMI, Sep 2015
Ver. 2017.7.13.a
Xilinx Zynq による ARM と周辺回路、ソフトウェアの開発サンプル Vivado版
ソースコードを含むアーカイブ一式はこちら: http://www.ritsumei.ac.jp/se/re/izumilab/lecture/15ZyboVivado.zip
ZYBO | ZedBoard |
---|---|
zybo.xdc | zedboard.xdc |
zybo_top.v | zedboard_top.v |
zybo_test.c | zedboard_test.c |
PS-SRST | PS-RST |
LD10 DONE | LD12 DONE |
PROG UART(1本) | PROG と UART(2本) |
BTN3 | BTNL |
BTN2 | BTNR |
BTN1 | BTNU |
BTN0 | BTND |
Name zybotest Project Location 例 C:/cygwin/home/t-izumi/ZYBO_Vivado
Customize Block では、 Vivadoの初期設定時に ZYBO や ZedBoard のボード定義ファイルを指定していれば 自動でそれらのボードにあった設定になっているはず。 でなければ、手動で設定する。
個別に設定した場合には Run Block Automation で Apply Board Preset [ ] のチェックを外すこと。 MIO Configration Bank0 I/O Voltage (LVCMOS3.3V) Bank1 I/O Voltage (LVCMOS1.8V) + Memory Interfaces +[*] Quad SSPI Flash (MIO1..6) +[*] Single SS 4-bit IO + Quad SPI Flash .... LVCMOS 3.3V, fast, disabled, ... + I/O Peripherals +[*] ENET0 (MIO16..27) (UG:p.21 Table15参照) +[*] MDIO (MIO52..53) MIO52,53 1.8V, slow, dsabled MIO16-27 1.8V, fast, dsabled +[*] USB0 (MIO28..39) (UG:p.11 Table5参照) MIO28-39 1.8V, fast, dsabled +[*] SD0 (MIO40..45) (UG:p.10 Table4参照) +[*] CD (MIO47) +[*] WP (MIO46) MIO46-47 1.8V, slow, dsabled MIO40-45 1.8V, fast, dsabled +[*] UART1 (MIO48..49) (UG:p.12 Table6参照) MIO48,49 1.8V, slow, dsabled + GPIO +[*] GPIO MIO (UG:p.19 Table12, p.20 Table14, p.23 Table16参照) MIO0,7,9-15 3.3V, slow, disabled MIO8 3.3V, fast, disabled MIO50,51 1.8V, slow, disabled +[*] ENET Reset (Share reset pin) +[*] USB Reset (Share reset pin) +[*] I2C Reset + Application Processor Unit +[*] Timer0 (EMIO) Clock Configuration + PL Fabric Clocks | +[*] FCLK_CLK0 (IO PLL) (100) |
ソースコードzybo_top.vのここ↓を確認して上図のような構成になっていることを理解すること。
zybo_top.v |
: IBUFG ibuf_clk(.I(CLK125M), .O(CLK125M_ibuf)); BUFG buf_clk(.I(CLK125M_ibuf),.O(clk0)); : assign clk=arm_clko; : Zynq_PS Zynq_PS_i (.DDR_addr(DDR_addr), : .clko(arm_clko), .gpi0(arm_gpi0), .gpi1(arm_gpi1), .gpi2(arm_gpi2), .gpi3(arm_gpi3), .gpo0(arm_gpo0), .gpo1(arm_gpo1), .gpo2(arm_gpo2), .gpo3(arm_gpo3), .rstno(arm_rstno)); : always @(posedge clk0) counter0<=counter0+1; : always @(posedge clk) if (!rstn) counter<=0; else counter<=counter+1; : assign led={btn[3],counter0[24],counter[24],arm_gpo0[0]}; : assign arm_gpi0={29'b0,btn2_r,btn1_r,btn0_r}; assign arm_gpi1={28'b0,sw_r}; assign arm_gpi2=counter; assign arm_gpi3={8'b0,uartrxdata,uartrxcount,uarttxcount}; : |
Connection Type: Serial Port: Windows で ZYBO の USB Serial Port が接続されている番号を確認 Baud Rate: 115200 Data Bits: 8 Stop Bits: 1 Parity: None Flow Control: None Timeout: 5