Altera Home Page
Literature Licensing
Buy On-Line Download

  Home   |   Products   |   Support   |   End Markets   |   Technology Center   |   Education & Events   |   Corporate   |   Buy On-Line  
  Knowledge Database   |   Devices   |   Design Software   |   Intellectual Property   |   Reference Designs   |   Design Examples   |   mySupport  

 Products
   Quartus II
      SOPC Builder
      MAX+PLUS II
      ModelSim-Altera
  
 Resource Centers
      Overview
      Installation & Licensing
      Scripting
      Board Design & I/O
      Design Entry & Planning
      Synthesis & Netlist Viewers
      Incremental Compilation
      Optimization
      Power Management
   TimeQuest Timing Analyzer
      Classic Timing Analyzer
      Simulation & Verification
      On-Chip Debugging
      HardCopy Design
  
 Software Resources
      OS Support
      Driver Installation
  
 Download & Licensing
      Download
   Licensing
  
 Quartus II EDA Support
      Quartus II Interface
   Synthesis Tools
   Simulation Tools
   Formal Verification Tools
   Timing Analysis Tools
   Physical Synthesis Tools
   Board Level Tools
  
 Legacy Sw. EDA Support
      View by Vendor
      View by Tool
      View by Function
  

Converting Synopsys Timing Constraints into MAX+PLUS II-Compatible Format with the syn2acf Utility

Altera provides the syn2acf utility, which is an interface program that converts Synopsys timing constraints from non-hierarchical designs into the MAX+PLUS® II Assignment & Configuration File (.acf) format. For information on converting timing constraints from hierarchical designs, refer to Converting Synopsys Hierarchical Timing Constraints into MAX+PLUS II-Compatible Format with the gen_iacf and gen_hacf Utilities.

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:

  1. Set the timing constraints by using one of the following methods:


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

    or:


    STEP: Create the <design name>.cmd file for use with a dc_shell script. See Figure 1.

Note: 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

  1. Compile the design and run the syn2acf utility either from the command line or with a Design Compiler dc script:

    STEP: Compile the design, then type the following command from the UNIX prompt to start the syn2acf utility:

    /usr/maxplus2/synopsys/bin/syn2acf <design name> Enter

    or:

    STEP: 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.


Note: 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 directoryEnter

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
!

Note: 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 Altera®-provided syn2acf.cmd file, shown in Figure 3, to generate the required input files for the syn2acf utility.

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.

  Please Give Us Feedback