(转帖)Xilinx CORE Generator心得
[复制链接]
--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存在了。
attribute syn_black_box : boolean; attribute syn_black_box of myadder8: component is true; 后来,在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"命令。
综合工具 |
Verilog语法声明 |
VHDL语法声明 |
synplify |
// synthesis black_box |
attribute syn_black_box : Boolean;
attribute syn_black_box of core_name : component is true; |
synopsys |
// synopsys translate_off
// synopsys translate_on |
attribute fpga_dont_touch : string;
attribute fpga_dont_touch of core_name : component is “true”; |
XST |
// box_type “black_box” |
attribute box_type : string;
attribute box_type of core_name : component is “black_box”; |
|