1  synthesis steps

1)  Search Paths    

    rc:/> set_attribute  lib_search_path path /
    rc:/> set_attribute  script_search_path  path / 
    rc:/> set_attribute  hdl_search_path  path /

2)  Target Technology Library

    rc:/> set_attribute   library  lib_name.lib 

   - Target Library: Design Compiler uses the target library to build a circuit. During mapping, Design Compiler selects functionally correct gates from the target library. It also calculates the timing of the circuit, using the vendor-supplied timing data for these gates.

3)  Loading the HDL Files

   - sequentially:   read_hdl   file1.v  read_hdl   file2.v  read_hdl   file3.v 

   - simultaneously: read_hdl  { file1.v file2.v file3.v }  

read_hdl [-v1995 | -v2001 | -sv
| -vhdl [-library library_name ]
| -netlist]
[-define macro=value ] ... file_list

4)  Performing Elaboration

    This is only required for top-level design. The elaborate command automatically elaborates the top-level design and all of its references.

5)  Applying Constraints

     - Operating conditions; clock waveforms; I/O timing

6)  Applying Optimization Constraints

7)  Performing Synthesis

    rc:\> synthesize -to_mapped

8)  Analyzing the Synthesis Results

    - generate a detailed area report, use report area

    - generate a detailed gate selection and area report, use report gates

    - generate a detailed timing report, including the worst critical path of the current design, use report timing 

9)  Exporting the Design

   - gate-level netlist  rc:/> write_hdl > design.v

   - design constraints  rc:/> write_script > constraints.g 

   - constraints in SDC format rc:/> write_sdc > constraints.sdc

10)  Exiting RTL Compiler

    quit or exit

 

2  recommended flow

#general setup
#--------------
set_attributer lib_search_path ...         
set_attribute hdl_search_path ..
#load the library
#------------------------------
set_attribute library library_name
#load and elaborate the design
#------------------------------
read_hdl design.v
elaborate
#specify timing and design constraints
#--------------------------------------
read_sdc  sdc_file
# add optimization constraints
#----------------------------
.....
#synthesize the design
#---------------------
synthesize -to_mapped
#analyze design
------------------
report area
report timing
report gates
#export design
#-------------
write_hdl > dessign.vm
write_sdc > constraints.sdc
write_script > constraints.g
# export design for EDI
#-----------------------
write_design [-basename  string ] [-gzip_files] [-tcf]
[-encounter] [-hierarchical] [ design ]

 

3  working in the top-level(root) directory

  Root is a special object that contains all other objects represented as a ‘tree’ underneath it.

  The root object is always present in RTL Compiler and is represented by a “/”, as shown in above Figure.

  Root attributes contain information about all loaded designs.

 

posted on 2015-06-25 22:33  mengdie  阅读(1135)  评论(0编辑  收藏  举报