利用xilinx FSL总线自定义IP核(上)

来源:互联网 发布:网络IP盗取 编辑:程序博客网 时间:2024/05/17 00:14

一、创建IP核

首先打开XPS,建立一个工程之后(选择AXI总线),建立工程之后,点击project——>creat and import peripheral wizard界面如下:以点亮一个led为例


点击next  选择creat templates for a new peripheral

next,默认选择 to an XPS project

next,取名为led_ip。版本号也很重要,最初为1.00


next,选择FSL总线,AXI比较常用,这里重点介绍FSL总线。


next,这里IP只有输出的功能,所以只有从模式,所以第二个不勾选,如果IP核功能为ADC采集信号,就要勾选!

第一个数字的意思是FIFO的深度,软核先输出到FIFO,FIFO再输出到外界。这里FIFO深度设置为1.


next,第一个一定要勾选,表示底层文件使用Verilog语言而不是VHDL。习惯用VHDL也可以不勾选。


next,Driver settings 默认 继续next,点击finish完成IP核创建。



IP核创建完成,还要完成自定义的功能,下面自定义核功能,实现点亮一个LED灯的作用。

二、自定义核功能

打开microblaze工程目录下的pcores\led_ip_v1_00_a\devl\projnav,双击led_ip.xise打开工程,如图:


首先添加输出led作为输出管脚,在82行,106分别添加以下两行,意思不多说。

FSL_S_Data是总线数据,是需要的数据,103行改为[31:0],

111行添加一行定义,用于接受总线数据。

  ————- 

66行添加一行,意思是将总线数据传给data。


新建一个Verilog文件,保存位置在hdl\verilog目录下。如图:


内容如下,便是data只要不为0 点亮led


在led_ip.v添加如下程序段:


表示将led_ip.v   mylogic.v结合起来。



最后编译一下工程,在没有错位的情况下回到XPS。

三、IP核最后准备



点击project——>creat and import peripheral    next   选择imort existing peripherial,然后选择上次定义的led_ip


next,弹出一个窗口,点击yes


选择hdl


选择第三个选择,点击browse,选择.pao文件





添加源代码




选择FSL从模式



去掉勾选  不让led作为中断



一直next  知道finish。那么IP核就定义成功了。

至此,自定义IP核添加成功!!!










2 0