Altera provides the syn2acf
utility, which is an interface program that converts Synopsys
timing constraints from non-hierarchical designs into the
The syn2acf utility requires the following input files:
- Flattened EDIF netlist file
- dc_shell script file
- Standard Delay Format (SDF) constraints construct
- SDF timing delay construct
To use the syn2acf utility, follow these steps:
Set the timing constraints by using one of the following methods:

Start the Synopsys Design Analyzer and specify timing constraints by choosing appropriate menu commands.
or:

Create the <design name>.cmd file for use with a dc_shell script. See Figure 1.
The syn2acf
utility does not support set_arrival
timing constraints for internal nodes. |
Figure 1. Sample Command File (.cmd) for Setting Timing Constraints
create_clock -period 50 -waveform {0 25} CLK
set_clock_skew -delay 2 CLK
set_input_delay 10 IN2
set_input_delay 5 -clock CLK IN1
set_output_delay 20 OUT2
set_output_delay 5 -clock CLK OUT1
set_max_delay 25 -to OUT1
set_max_delay 35 -to OUT2
set_multicycle_path 2 -to n20_reg
|
- Compile
the design and run the syn2acf
utility either from the command line or with a Design Compiler
dc
script:

Compile the design, then type the following command from the UNIX prompt to start the syn2acf utility:
/usr/maxplus2/synopsys/bin/syn2acf<design name>
or:

Run a dc script inside the dc_shell script that reads the VHDL design, compiles it, and runs the syn2acf utility. Figure 2 shows a sample dc script.
The syn2acf
utility uses the ALT_HOME
environment variable, if it has been specified, to determine the
MAX+PLUS II system directory; otherwise, it uses the
/usr/maxplus2
directory. To specify a different MAX+PLUS II system directory
with the ALT_HOME
environment variable, you can either edit the .cshrc file to specify the correct directory or type the following command at the UNIX prompt:
setenv
ALT_HOME <MAX+PLUS II
system directory> |
Figure 2. Sample Script for Running the syn2acf Utility
/* dc_script example to interface with syn2acf */ |
||
dc_shell <<! |
||
read -f vhdl <design name>.vhd |
||
include <design name>.cmd |
/*set timing constraints*/ |
|
compile
|
||
current_design=<design name> |
||
include /usr/maxplus2/synopsys/bin/syn2acf.cmd |
/*generate required files*/ |
|
sh /usr/maxplus2/synopsys/bin/syn2acf <design name> |
/*invoke syn2acf utility*/ |
|
quit |
||
! |
||
The
syn2acf
utility cannot support maximum Clock frequency (fMAX)
correctly if more than one Clock skew is specified in the dc_shell
command script. This problem occurs because the Synopsys write_script
command drops the Clock skew information for the registers. The
syn2acf
utility will use the last Clock skew number to calculate fMAX. |
The sample dc
script includes the
Figure 3. Altera-Provided syn2acf.cmd File
ungroup -flatten -all write -f edif write_script > altsyn.dc write_constraints -format sdf -cover_design write_timing -format sdf |
All timing assignments generated by
the syn2acf
utility are written to the Timing Requirement Assignments Section
of the project's ACF, with the assignment source identifier
{synopsys}
at the end of each line. Figure 4
shows a sample ACF excerpt that contains Synopsys timing constraints
generated by the syn2acf
utility.
Figure 4. Sample ACF Excerpt with Synopsys Timing Constraints
TIMING_POINT
BEGIN
"|OUT2" : TCO = 15.00ns {synopsys};
"|IN1" : TPD = 10.00ns {synopsys};
"|IN2" : TPD = 5.00ns {synopsys};
"|OUT1" : TCO = 20.00ns {synopsys};
"|IN1" : TSU = 20.00ns {synopsys};
"|IN2" : TSU = 117.00ns {synopsys};
"|CLK" : FREQUENCY = 50.00ns {synopsys};
"|n10_reg" : FREQUENCY = 100.00ns {synopsys};
END;
|
Altera provides sample files for these utilities in the /usr/maxplus2/synopsys/bin directory.
Feedback
Did this information help you?
If no, please log onto mySupport to file a technical request or enhancement.
Altera does not warrant that this solution will work for the customer's intended purpose and disclaims all liability for use of or reliance on the solution.
