4.user_IP使用用户自己封装的IP

在PS中使用用户自己封装的IP

(1)建立并封装纯PL的IP核

建立一个纯PL的工程,在工程中添加自己编写的Verilog模块;创建IP只需要.v文件,不需要做管脚分配;

(2)tools--->创建和封装新IP

选择封装当前的工程,包含.xci文件;

在工程设置中,添加自定义IP的工程目录,到IP仓库中---->apply---->OK;

上述的Display name即为IP的封装名称;该名称可以用于搜索;

(3)到此自定义IP封装完毕

(4)在另外目录,创建PS侧的工程

上图中,run_led_v1_0是纯PL侧的模块,ZYNQ_PS是纯PS侧的模块,在该例子中,PL侧使用的是从PS侧分过来的时钟和复位信号,所以xdc文件中,不需要做clk和reset_n的管脚分配;

含PS时,使用核心板上的50Mhz晶振,PLL分频为100Mhz,然后分一部分给块图中的PL部分使用,此时,不需要为PL侧的clk和reset分配管教;

仅含PL时,使用底板上的100Mhz晶振,此时需要为PL中的clk和reset分配管脚;

自定义的IP本质上是和CPU同等地位的IP核;

由于,该IP核只需要使用到PS中的clk和reset,所以随便跑个PS程序,能提供clk和reset即可;此中,直接使用HelloWorld程序;HelloWorld需要打印,所以加入UART1,PS程序运行需要DDR,加入DDR;

PS侧需要使用的时钟如上所示;

(5)运行

只要PS侧给该IP核提供了clk和reset,其就能运行;

应用程序--->debug as---->debug configuration---->system debug;

(6)注意事项

需要注意管脚分配,该工程中,PL侧只有LED_o[3:0]一共4个管教需要外接,所以管脚分配只需要分配这4个管教即可;

而单独跑water_LED程序时,由于没有PS为其提供clk和reset,还需要为clk,reset提供管脚分配和做时序约束(底板的时钟为100Mhz);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值