![]() |
|
|
Q3, 2006
An Open IP Encryption Flow is Essential to the Future of the Semiconductor Industry
FPGA-Based Solutions for Video and Image Processing Verilog 2001
Coding Style to Infer LatticeECP2 sysDSP Blocks Synplicity Open IP Protection Methodology in Riviera
Efficient Development of Wireless IP with High Level Modeling and Synthesis |
Tips & HintsSynplify Pro SoftwareQ. Are port/generic maps supported in Configurations in the Synplify Pro tool? A. Yes. Beginning with the Synplify Pro software version 8.6, support for port maps, generic maps, and mapping of multiple entity names to the same component is allowed inside configuration specification and declaration. Generic maps: Generics can have a different name/size when they are defined at the entity level and at the component level. Using configuration, we can bind them together either through “specification” or “declaration”. Port maps: Ports can have different names when they are defined at the entity level and at the component level. Using configuration, we can bind them together either through “configuration specification” or “configuration declaration”. Multiple Entity binding: Multiple entities can exist for a single component and using configuration, we can bind them accordingly. (Usage of “for label” clause) Binding Rules (As per LRM): Here are some examples regarding the same. Example 1 related to generic/port map Library ieee; architecture rtl of sub1
is architecture rtl2 of sub1
is Library ieee; architecture test_a of test is component submodule1 for UUT1 : submodule1
for UUT2 : submodule1 begin UUT2 : submodule1 generic
map (my_size1 => 1, my_size2 => 1) Example 2 related to multiple entity binding ---sub1 architecture rtl of sub1
is ----sub2 architecture rtl of sub2
is ---test architecture test_a of
test is UUT1 : submodule generic
map (1, 1) port map ( d => ta, e => tb, f => tc); end test_a; configuration my_config
of test is for
UUT1 : submodule for
others : submodule Synplify Premier SoftwareQ. How should the UCF file be used in Synplify Premier flow? A. Since the physical synthesis flow in the Synplify Premier software involves synthesis, placement, and routing, it is necessary to have the same set of constraints applied during synthesis and the place-and-route stage. However, since the Synplify Premier tool does not read the Xilinx UCF file, it’s essential to provide the UCF constraints in the SDC format. The UCF constraints can be translated to the SDC format either manually, or by using the stand-alone utility ucf2sdc.exe provided in the ‘bin’ directory of the Synplify Premier software installation. Usage: NOTE: This utility supports most of the common timing and physical constraints. Unsupported constraints that do not get translated will be indicated in the generated SDC as ‘unsupported’. The generated SDC file needs to be added to the Premier project in place of the UCF. It is important that the UCF file is not included as part of the project, neither is it available in the implementation directory. Identify SoftwareQ. What is the Skew-Resistant Hardware option in the Identify software? A. Identify uses a JTAG connection to communicate with the device. In some cases, all the clock buffers may be utilized on the device and there are no clock buffers available for the JTAG clock. In such cases, select the Use skew-resistant hardware option. This option incorporates skew-resistant master/slave hardware to allow the instrumentation logic to operate without requiring an additional global clock buffer resource for the JTAG clock. The JTAG clock may drive a large amount of loads and is particularly susceptible to clock skew. Users who have no available clock resources have the option to build skew-resistant hardware. By replacing each flip-flop with a master-slave implementation, the design is able to withstand up to half of a clock cycle in skew. At the slow speeds of JTAG, this is quite acceptable. Therefore, if using skew-free hardware, no clock buffer is needed for the debug logic. The trade-off is area. The master-slave implementation effectively doubles the amount of flip-flops used for the debug JTAG scan. Figure 1: IICE logic before use of Skew-Resistant Hardware option. Figure 2: Equivalent IICE logic after use of Skew-Resistant Hardware option. |
![]() |
|