Vivado高效设计案例分享------用vivado2014.2 进行软硬件协同设计之流水灯
0赞硬件平台:zybo
软件平台:vivado2014.2
先使用vivado 2014.2 进行硬件设计, 使用IP核设计硬件。方法如下:
1. 点击vivado2014.2 快捷键,新建工程,选择xz7c010clg400-1芯片。参考上篇博客,里面有新建工程的例子。
2.工程新建完毕后, 与上篇博客相同,新建block 设计。
3.add ip。 这里需要添加两个IP。1:zynq7 processing system,2:axi_gpio。添加完两个IP核后,选择run block 。
4. 双击 zynq7 processing system ,添加zybo_zynq_def.xml配置文件, 去掉SD0,I2C0.usb0 等设备。如下图
5.设置完成后,点击ok。 双击AXI_GPIO,勾选 all outputs。 GPIO Width 选择4.如下图
6.点击ok,完成后。点击run connection automation。分别点击/axi_gpio_0/s_axi.和/axi_gpio_0/gpio.完成自连接。生成连接图如下
7.现在开始就要产生block design ,这个时间需要几分钟。 接着Create HDL wrapper。
8. 完成后,添加约束文件。
9.点击next。创建约束文件 ,代码如下
set_property PACKAGE_PIN D18 [get_ports {gpio_rtl_tri_o[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[0]}] set_property PACKAGE_PIN G14 [get_ports {gpio_rtl_tri_o[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[1]}] set_property PACKAGE_PIN M15 [get_ports {gpio_rtl_tri_o[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[2]}] set_property PACKAGE_PIN M14 [get_ports {gpio_rtl_tri_o[3]}] set_property IOSTANDARD LVCMOS33 [get_ports {gpio_rtl_tri_o[3]}]
10.点击 flow 下面的RUN synthesis,完成后,点击RUN Implementation。这个过程需要花费一段时间。
11.完成后,就可以generate bitstream。软化 export hardware。 到这里硬件设计结束。
12 export hardware 后,选择launch sdk。开始软件设计。打开sdk后,如下图
13.新建应用工程,如下图
14.点击next,新建 helloworld 工程。点击finish。完成新建工程。
15.用如下的代码替换掉hello world 工程里面的代码
#include#include "platform.h" #include "xparameters.h" #include "xgpio.h" #define GPIO_EXAMPLE_DEVICE_ID XPAR_AXI_GPIO_0_DEVICE_ID// XPAR_LEDS_POSITIONS_DEVICE_ID #define LED_DELAY 10000000 #define LED_CHANNEL 1 XGpio Gpio; int main() { int Status,i; int dat = 0x01; volatile int Delay; init_platform(); Status = XGpio_Initialize(&Gpio, GPIO_EXAMPLE_DEVICE_ID); if (Status != XST_SUCCESS) { return XST_FAILURE; } XGpio_SetDataDirection(&Gpio, LED_CHANNEL,dat); while (1) { for(i=0;i<4;i++){ XGpio_DiscreteWrite(&Gpio, LED_CHANNEL, dat); for (Delay = 0; Delay < LED_DELAY; Delay++); dat = dat <<1; } dat = 0x01; } return XST_SUCCESS; }
16.点击CTRL+S,然后RUN debug(注意:在这里需要连接zybo板卡与pc机。并打开zybo的电源。)。这样就能看到流水灯在跑了。