在vivado设计三中:http://blog.chinaaet.com/detail/37177已经建立了vivado工程和封装好了自定义IP核。

那么接下来,我们对这个自定义IP核进行测试了:我们已经回到了主界面。

1. create block design

这部分和vivado设计中:是类似的,就不贴图了,

2. 添加我们自定义的IP核

Add IP,输入led

3. 连接

4. 连接后,拖动一下,使得好看一些:

5. 引出LED管脚

6. 选择Tools -> Validate Design,使设计生效,没有error

7. 右键design_1.bd, 选择Create HDL Wrapper

8. 下面添加约束文件,vivado的约束文件的是xdc文件而不是ucf文件

Next,我们create file

9. 编写xdc文件

set_property PACKAGE_PIN M14 [get_ports LED[0]]
set_property IOSTANDARD LVCMOS33 [get_ports LED[0]]
set_property PACKAGE_PIN M15 [get_ports LED[1]]
set_property IOSTANDARD LVCMOS33 [get_ports LED[1]]
set_property PACKAGE_PIN G14 [get_ports LED[2]]
set_property IOSTANDARD LVCMOS33 [get_ports LED[2]]
set_property PACKAGE_PIN D18 [get_ports LED[3]]
set_property IOSTANDARD LVCMOS33 [get_ports LED[3]]

10. 接下来综合

综合通过:

这里cancel,因为下一步我们直接产生bit流文件、

点击generate

11.产生bit流文件,Open Implemented Design

产生bit流文件后,就是愉快的导入SDK了:

File-》Export-》Export Hardware for SDK

建立Application Project

Next,选择空工程

可以看到:

Tools –》Repositories

设置好路径后,点击ok,退出

右键project_2_bsp,选择Board Support Package Settings,drivers下选择我们的led_ip

这样我的bsp(board support Package)才有led_ip.h这些文件:

编写一个main.c文件

#include "xparameters.h"
#include "xutil.h"
#include "led_ip.h"
//====================================================
int main (void)
{
int i;
xil_printf("-- Start of the Program --\r\n");
while (1)
{
// output dip switches value on LED_ip device
LED_IP_mWriteReg(XPAR_LED_IP_0_S_AXI_BASEADDR, 0, 1);
for (i=0; i<9999999; i++);
LED_IP_mWriteReg(XPAR_LED_IP_0_S_AXI_BASEADDR, 0, 2);
for (i=0; i<9999999; i++);
LED_IP_mWriteReg(XPAR_LED_IP_0_S_AXI_BASEADDR, 0, 4);
for (i=0; i<9999999; i++);
LED_IP_mWriteReg(XPAR_LED_IP_0_S_AXI_BASEADDR, 0, 8);
for (i=0; i<9999999; i++); }
}

LED_IP_mWriteReg在led_ip.h中可以找到。编译生成elf文件。

由于vivado和zybo很久没用,突然连接不上了,测试结果就暂时不能贴上来了。。。有空补上吧。

转载:http://blog.chinaaet.com/xzy610030/p/37256

vivado设计四:自定义IP核测试的更多相关文章

  1. Vivado 调用自定义IP核

    关于Vivado如何创建自定义IP核有大量的参考文章,这里就不多加阐述了,本文目的主要是解决如何在新建工程中引用其它工程已经自定义封装好的IP核,从而实现自定义IP核的灵活复用. 举个例子,我们的目标 ...

  2. vivado设计三:一步一步生成自己的自定义IP核

    开发环境:xp  vivado2013.4 基于AXI-Lite的用户自定义IP核设计 这里以用户自定义led_ip为例: 1.建立工程 和设计一过程一样,见vivado设计一http://blog. ...

  3. AXI-Lite总线及其自定义IP核使用分析总结

    ZYNQ的优势在于通过高效的接口总线组成了ARM+FPGA的架构.我认为两者是互为底层的,当进行算法验证时,ARM端现有的硬件控制器和库函数可以很方便地连接外设,而不像FPGA设计那样完全写出接口时序 ...

  4. Vivado 2017封装自定义IP Core

    使用Vivado2017.3自定义IP Core.通常情况下,我们做设计采用模块化设计,对于已经设计好的一部分模块功能,就可以直接拿来调用,IP Core就是这样来的,一般来说我们看不到IP Core ...

  5. NIOS II 自定义IP核的静态地址对齐和动态地址对齐

    如果使用静态地址对齐(每个寄存器在Avalon总线上占4个字节的地址)设置IP使用静态地址对齐的方式为,在hw.tcl脚本里加上一局话:set_interface_property as addres ...

  6. NIOS II 自定义IP核编写基本框架

    关于自定义IP .接口 a.全局信号 时钟(Clk),复位(reset_n) b.avalon mm slave 地址(as_address) 片选(as_chipselect /as_chipsel ...

  7. vivado中使用ROM IP核

    1.在project中选择IP Catalog 在IP Catalog中选择---->Block Memory Generator------>RAMs&ROMs&BRAM ...

  8. vivado中使用MMCM ip核

    1.在project中选择IP Catalog 在IP Catalog中选择FPGA Features and Design----->Clocking------>Clocking Wi ...

  9. Vivado使用技巧(二):封装自己设计的IP核

    由 judyzhong 于 星期五, 09/08/2017 - 14:58 发表 概述   Vivado在设计时可以感觉到一种趋势,它鼓励用IP核的方式进行设计.“IP Integrator”提供了原 ...

随机推荐

  1. 二十四种设计模式:代理模式(Proxy Pattern)

    代理模式(Proxy Pattern) 介绍为其他对象提供一个代理以控制对这个对象的访问. 示例有一个Message实体类,某对象对它的操作有Insert()和Get()方法,用一个代理来控制对这个对 ...

  2. 初入android驱动开发之字符设备(一)

    大学毕业,初入公司,招进去的是android驱动开发工程师的岗位,那时候刚进去,首先学到的就是如何搭建kernel.android的编译环境,然后就是了解如何刷设备以及一些最基本的工具.如adb.fa ...

  3. http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

    http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

  4. 【云计算】Ubuntu14.04 搭建GlusterFS集群

    1.修改 /etc/hosts 所有服务节点执行(如果集群中没有DNS,可忽略此步骤): 10.5.25.37 glusterfs-1-5-25-3710.5.25.38 glusterfs-2-5- ...

  5. vim 多窗口,多tab编辑

    原文: https://blog.csdn.net/shuangde800/article/details/11430659 ------------------------------------- ...

  6. android 步骤控件的使用

    有的时候我们做Android开发会用到表示步骤的需求.这时候github给我们提供了一个非常好地表示步骤的组件,使用她仅仅须要4步就能够完毕了. 项目地址https://github.com/anto ...

  7. TestNG 八 并发测试

    一. Concurrenttesting: 下面的例子是输出进程ID,threadPoolSize用来指明线程池的大小,也就是并发的线程数目是多少 5次调用,有3个线程可调用 @Test(invoca ...

  8. Lucene Spatial构建地理空间索引

    一.Maven依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  9. java泛型介绍

    一.泛型初衷 Java集合不会知道我们需要用它来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要就具有很好的通用性.但这样做也带来两个问题: –集合对元素类型没有任何限制,这样可能引 ...

  10. css网页单位

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...