使用Xilinx CORE Generator

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用Xilinx CORE Generator心得

初步使用Xilinx CORE Generator:

参考书籍:《Xilinx ISE 5.x 使用详解》EDA先锋工作室

P63-P72:IP核生成工具——CORE Generator

1. 对于如何在工程中加入IP核,是很简单的,我在未看书之前,就可根据提示挑选适当的核,对核进行参数设置,将核加入工程。

2. 接下来是如何使用,在这里,由于我主要使用VHDL语言,仿真工具用ModelSim6.0,综合工具主要使用Synplify7.7,我就只说在这样的环境下如何对该IP核进行元件例化,进行项目配置,并进行仿真与综合。

2.1 元件例化

可使用ISE的Laguage Template,也就是Xilinx 6.2 ISE中工具栏右上角的小灯泡,在COREGEN目录下,你会发现,你所用到的IP核的例化语句已经出现在模板里,拷过去就可以直接用了(当然你可能也要视情况进行必要的改动)。

3. 仿真

这里,最主要的问题是库,由于使用了IP核,所以要把XilinxCroeLib加入ModelSim库中。我的经验是:先在当前工程的目录下创建一个xilinxcorelib库,然后把该库文件剪切到modelsim根目录下,最后在modelsim下,选中该库,点击右键选择Edit,将路径高到modelsim下。然后将xilinx\vhdl\src\xilinxcorelib编译到该库中。此时要注意,由于库文件的关联性,第一次不可能全部编译通过,连续三次后,大多数核就在库中,只有少数几个不能通过编译。

4. 综合

由于综合过程中,提示如下(下面是我在comp.arch.fpga上所发的问题):

In my project,there's a xilinx IP core. I want to use the synplify7.7 to synthesize it, but there's a warning when synthesize .

The warning is :

@W:

CD280 :"G:\project\itu656_dec\itu656_Decoder.vhd":29:10:29:19|Unbound component counter_11 mapped to black box

@W:

CD280 :"G:\project\itu656_dec\itu656_Decoder.vhd":37:10:37:18|Unbound component counter_4 mapped to black box

my project nane is itu656_dec : a decoder for itu 656 video

The following code has been used in my project:

component counter_11

port (

Q: OUT std_logic_VECTOR(10 downto 0);

CLK: IN std_logic;

CE: IN std_logic;

ACLR: IN std_logic);

end component;

component counter_4

port (

Q: OUT std_logic_VECTOR(3 downto 0);

CLK: IN std_logic;

CE: IN std_logic;

ACLR: IN std_logic);

end component;

新闻组上有人这样回复:

1. please refer to the "core generator guide" document. It explains how to do it. the document is located at

YOUR_XILINX_ISE_INSTALLTION_FOLDER \doc\usenglish\books\docs\cgn 2. "Xilinx-boxes" are synthesized within Xilinx-toolchain, as it seems.

Xilinx: XAPP409 might solve your problem.I'm not sure if that's really important when using synplify, butreading XILINX: xst.pdf might also make sense.

3. These warnings can be ignored. The netlist (edf, ngo, etc) for the core will be picked up when you run ngdbuild. "-sd" option of ngdbuild may be helpful.

根据第一个答复,我找到了cgn.pdf,在P99页上找到了答案:

VHDL Black Box

component myadder8

port (

A: IN std_logic_VECTOR(7 downto 0);

B: IN std_logic_VECTOR(7 downto 0);

C_IN: IN std_logic;

Q: OUT std_logic_VECTOR(8 downto 0);

CLK: IN std_logic

);

end component;

-- Synplicity black box declaration

attribute black_box : boolean;

attribute black_box of myadder8: component is true;

将attribute语句拷入我的工程,还有warning.根据提示,将black_box改成

syn_black_box,问题才得以解决,此时,不会再有上述warning存在了。

后来,在Xilinx ISE 5.x 使用详解》中翻到如下内容:P71

书上有云:

“IP核在综合时一般被认为是黑盒子(Black Box),综合器不对黑盒子做任何编译。将IP核加入工程有两种方法,一为在工程中新建Coregen IP类型资源,另一种是针对第三方综合工具而言,同时避免了在新工程中需要重新加入IP核资源的麻烦。也就是将IP核声明成黑盒子,具体操作时可以利用IP核生成时生成的仿真文件和IP核实例化文件(.veo,.vho),将仿真文件中的IP核的相关部分原封不动地拷贝到顶层文件中去,声明IP核模块,然后将实例化文件内容粘贴到模块的实例化部分。

然面,使用Synplify Pro等综合工具综合IP核等Xilinx硬件原语时,需要调用相应Xilinx 器件的硬件原语声明文件。位于Synpliy\lib\Xilinx”子目录中的

virtex.v/vhd,virtexe.v/vhd,virtex2.v/vhd,virtex2p.v/vhd等文件就是硬件原语声明文件。调用时用"include"命令。

相关文档
最新文档