|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2010-9-11 21:11:25
|
显示全部楼层
添加的方法是参考下面的方法
在工程管理区单击鼠标右键,在弹出的菜单中选择New Source,选中IP类型,在File Name文本框中输入adder(注意:该名字不能出现英文的大写字母),然后点击Next按键,进入IP Core目录分类页面,如图4-13所示。
面以加法器模块为例介绍详细操作。首先选中“Math Funcation Adder & Subtracter Adder Subtracter v7.0”,点击“Next”进入下一页,选择“Finish”完成配置。这时在信息显示区会出现“Customizing IP...”的提示信息,并弹出一个“Adder Subtracter”配置对话框,如图4-14所示。
然后,选中adder,设置位宽为16,然后点击“Generate”,信息显示区显示Generating IP...,直到出现Successfully generated adder的提示信息。此时在工程管理区出现一个“adder.xco”的文件。这样加法器的IP Core已经生成并成功调用。
IP Core在综合时被认为是黑盒子,综合器不对IP Core做任何编译。IP Core的仿真主要是运用Core Generator的仿真模型来完成的,会自动生成扩展名为.v的源代码文件。设计人员只需要从该源文件中查看其端口声明,将其作为一个普通的子程序进行调用即可。下面给出加法器的应用实例。
按照本节介绍的步骤生成2个加法器的IP core Add16和Add17,前者用于实现第1级的加法,后者用于实现第2级加法,对应的代码为:
module addertree(clk, a1, a2, b1, b2, c);
input clk;
input [15:0] a1;
input [15:0] a2;
input [15:0] b1;
input [15:0] b2;
output [17:0] c;
wire [16:0] ab1, ab2;
adder16 adder16_1(
.A(a1),
.B(a2),
.Q(ab1),
.CLK(clk)
);
adder16 adder16_2(
.A(b1),
.B(b2),
.Q(ab2),
.CLK(clk)
);
adder17 adder17(
.A(ab1),
.B(ab2),
.Q(c),
.CLK(clk)
);
endmodule |
|