crazybird

【原创】vivado之IP定制封装(一)

1
阅读(8079)

    一个月前就想写这篇博文了,但想想,前面应该写些基础的作为铺垫,所以一直拖到现在。也许,当使用vivado自带的IP核时,我们会发现这样的一种IP核有助于模块的重复利用以及它简洁的界面和强大的参数管理使我们调用IP核于设计电路中非常容易。因此,我们也希望把设计的并且经常使用的功能模块封装成IP以便以后需要时直接调用。很幸运的是,vivado提供了强大的IP封装器,使我们能够像IP核一样管理我们的电路设计。接下来,将举个简单的计数器例子来介绍IP是定制和封装的。

    关于工程的新建和源文件的添加,可以参考该篇博文:http://blog.chinaaet.com/crazybird/p/5100000477 。而本设计的源文件内容如下所示:

/*************************Copyright********************************
**                        CrazyBird 
**               http://blog.chinaaet.com/crazybird
**
**---------------------File Infomation-----------------------------
** FileName     :       counter.v
** Author       :       CrazyBird
** Data         :       2015-12-15
** Version      :       v1.0
** Description  :       C_CNT_TOP a binary counter
**                      
******************************************************************/
// synopsys translate_off
`timescale 1 ns / 1 ps
// synopsys translate_on
module counter
#(
    parameter   C_CNT_TOP   = 100,
    parameter   C_CNT_WIDTH = 7
)
(
    input                           rst_n,
    input                           clk,
    output reg  [C_CNT_WIDTH-1:0]   cnt
);
//---------------------------------------
always @(posedge clk or negedge rst_n)
begin
    if(rst_n == 1'b0)
        cnt <= {(C_CNT_WIDTH){1'b0}};
    else if(cnt < C_CNT_TOP-1'b1)
        cnt <= cnt + 1'b1;
    else
        cnt <= {(C_CNT_WIDTH){1'b0}};
end

endmodule

    该模块实现的是C_CNT_TOP进制计数器的工程。接下来开始对该模块进行IP封装,点击vivado菜单“Tools”——>“Create and Package IP...”命令,如图1所示。

点击CreateandPackage.png

图1  点击“Create and Package IP...”命令

    弹出来的对话框如图2所示,对话框提示我们该向导可以完成两个任务。第一,封装一个新的IP到vivado的IP列表中;第二,创建一个新的AXI4外设。直接点“Next”。

创建和封装IP向导.png

图2  创建和封装IP向导一

    弹出来的对话框中有三个选项可以选择,从上到下依次为“使用当前工程的源文件来进行IP的定义和封装”、“对指定路径的源文件进行IP的定义和封装”和“创建一个AXI4外设”,如图3所示。这里选择封装当前工程的源文件,其他两种以后再介绍。点击“Next”。

创建和封装IP向导二.png

图3  创建和封装IP向导二

    弹出来的对话框中,在“IP location”处输入或选择封装后IP所存放的路径,默认为<工程路径>/<工程名>.src/sources_1/new;在“Packaging IP in the project”下,如果选择“Include .xci files”,则包含以xci(IP核文件后缀)为后缀的文件,如果选择“Include IP generated files”,则包含生成IP的文件,如图4所示。这里不对参数做任何修改,直接“Next”。

创建和封装IP向导三.png

图4  创建和封装IP向导三

    弹出来的对话框是IP封装工程创建的信息总结,如图5所示。在这里,可以查看信息是否有误,如果发现有误,则点击“Back”返回重新进行参数设置,否则点击“Finish”完成IP封装工程的创建。

创建和封装IP向导四.png

图5  创建和封装IP向导四

    接下来出现定制IP参数界面,如图6所示,总共有8个选项卡可以进行参数的定义,从上到下依次为IP核识别信息、器件兼容性、管理文件组、定制参数、端口和接口、地址映射、定制图形界面以及信息总结和完成IP的封装。下面将对这些选项卡的参数定制进行详细的说明。

定制IP参数界面.png

图6  定制IP参数界面

    由于现在太晚了,下面的内容等一有时间就另起博文继续写吧。