Main

Virtex-5 Embedded Tri-mode Ethernet MAC Wrapper v1.2 - Implementation fails at ngdbuild when using Project Navigator or user scripts

AR# 25219

Search For Another Answer

Topic IP-Datacom/Storage
Last Updated 05/16/2007
Status Active
Description

Keywords: Virtex-5, TEMAC, tri-speed, XST, constraint. parse, black box, hard, implementation, ngdbuild

The example design implementation scripts in the Virtex-5 Embedded Tri-mode Ethernet MAC Wrappers v1.2 generate three separate ngc files for the example_design, local link, and block layers. This was accomplished by running XST multiple times. Each level also has its own ucf file which is added to the ngc using ngcbuild. This flow requires black box constraints for the lower level blocks. These black box constraints cause implementation to fail when the wrapper files are synthesized together in the same run through synthesis, because the synthesis tool does not pick up the lower-level files.

The failures that can be seen in ngdbuild are either:
ERROR:NgdBuild:753 - : Could not find instance(s) '*' in the design.
or
ERROR:Parsers:11 - Encountered unrecognized constraint while parsing.

Solution

To use the Virtex-5 Embedded Tri-mode Ethernet MAC Wrapper v1.2 files in the Project Navigator GUI or a script that runs only through synthesis once, the following changes will have to be made to the hdl and ucf:

For VHDL designs:
1)In <core_name>_example_design.vhd remove the lines:
attribute box_type : string;
attribute box_type of v5temac_1_2_locallink : component is "black_box";

2)In <core_name>_locallink.vhd remove the lines:
attribute box_type : string;
attribute box_type of v5temac_1_2_block : component is "black_box";

For Verilog designs:
1)In <core_name>_example_design.v remove the line:
// synthesis attribute box_type of v5_emac_ll is "black_box";

2)In <core_name>_locallink.v remove the lines:
// synthesis attribute box_type of v5_emac_block is "black_box";


Changes for UCF:
1) The contents of <core_name>_block.ucf, <core_name>_locallink.ucf, and <core_name>_example_design.ucf must be combined.
2) In the <core_name>_block.ucf
change:
NET "CLK125" TNM_NET = "clk_gtp"; and
NET "TX_CLK_0" TNM_NET = "clk_tx0";
to:
NET "CLK125_i" TNM_NET = "clk_gtp"; and
NET "TX_CLK_0_i" TNM_NET = "clk_tx0";
 
 
/csi/footer.htm