|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Xilinx CORE Generator心得 9 G5 N. s- K* f9 R/ s' B
& W/ D: v. e, E5 ~/ k3 g. ~! g--VHDL Black Box % L" p& _* j& A6 |" s; }9 I$ W
component myadder8
" h( p: |3 o% P6 B" E7 |port (
3 w4 K+ s) G" L2 s A: IN std_logic_VECTOR(7 downto 0);
, R1 n! E# ^' F8 J B: IN std_logic_VECTOR(7 downto 0); ' R) b. u+ D! S+ l- r% ]
C_IN: IN std_logic; * i' _6 H: D7 B# V3 y4 L6 o) R* X4 Z
Q: OUT std_logic_VECTOR(8 downto 0);
' ~* r9 E% e8 N B CLK: IN std_logic 5 Q- l% z2 V8 v
); 9 M. p3 N; a, v2 M
end component;
O! M* X1 b, p! m8 @, m# `0 E1 F-- Synplicity black box declaration 8 S g( v! t# e8 `
attribute black_box : boolean; ' j7 b8 z. b4 R5 E
attribute black_box of myadder8: component is true; * n# j3 W! d, w. t
将attribute语句拷入我的工程,还有warning.根据提示,将black_box改成syn_black_box,问题才得以解决,此时,不会再有上述warning存在了。
) `7 D' [* ~" h5 \. _6 Battribute syn_black_box : boolean; # ?1 k- f1 x: a6 o6 I$ ]7 c
attribute syn_black_box of myadder8: component is true;
C( ^; n0 C3 s, r7 c' u j( C 后来,在Xilinx ISE 5.x 使用详解》中翻到如下内容:P71
6 Q5 G. U* Y* [# C, l/ w0 [ 书上有云:
6 c$ i, N. A# o1 D4 m z' y- U) V “IP核在综合时一般被认为是黑盒子(Black Box),综合器不对黑盒子做任何编译。将IP核加入工程有两种方法,一为在工程中新建Coregen IP类型资源,另一种是针对第三方综合工具而言,同时避免了在新工程中需要重新加入IP核资源的麻烦。也就是将IP核声明成黑盒子,具体操作时可以利用IP核生成时生成的仿真文件和IP核实例化文件(.veo,.vho),将仿真文件中的IP核的相关部分原封不动地拷贝到顶层文件中去,声明IP核模块,然后将实例化文件内容粘贴到模块的实例化部分。 - j6 O0 `( J7 B. m+ t% j9 J
然面,使用Synplify Pro等综合工具综合IP核等Xilinx硬件原语时,需要调用相应Xilinx器件的硬件原语声明文件。位于Synpliy\lib\Xilinx”子目录中的virtex.v/vhd,virtexe.v/vhd,virtex2.v/vhd,virtex2p.v/vhd等文件就是硬件原语声明文件。调用时用"include"命令。 9 a2 R' z5 g- n/ @6 d
+ ~/ F8 ` H9 t$ C9 c综合工具 | | | | | attribute syn_black_box : Boolean; attribute syn_black_box of core_name : component is true; | | // synopsys translate_off // synopsys translate_on | attribute FPGA_dont_touch : string; attribute fpga_dont_touch of core_name : component is “true”; | | | attribute box_type : string; attribute box_type of core_name : component is “black_box”;
8 P; w% D, K4 G! w* N9 L8 P' {
5 G1 E1 f; ^! s" f4 J. @0 o | 1 y- S- O9 g0 e, \) E
|
|