Electronic – RTL compiler timing constraint error

asiccadence

I need to know the maximum clock frequency of my design. But RTL compiler does not give me the max frequency if I dont give a timing constraint. (Actually I am not sure if it will give me the frequency if I specify a timing constraint)

I read the RTL compiler manual and it gives two possible ways to define clock period.

The first one:

set clock [define_clock –period <periodicity> –name <clock_name> [clock_ports]]

The second one

define_clock -domain domain1 -name clk1 -period 720 [find / -port SYSCLK]

Here is my script. I put the timing constraint after "elaborate".

set_attribute lib_search_path /opt/cadence/local/FreePDK45/osu_soc/lib/files
set_attribute library {gscl45nm.lib}

read_hdl -v2001 ccm.v

#timing constraint
set clock [define_clock –period 2000 -name clk [clk]]

#synthesis
synthesize -to_mapped 

#generate results
#netlist
write -mapped > ccm_synth.v

#statistics
report timing -lint > timing.txt

I tried several options below, but cadence keeps complaining about my syntax:

Command:

set clock [define_clock –period 2000 –name clk [clk]]

Error info:

invalid command name "clk"
Encountered problems processing file: rc.tcl

Command:

set clock [define_clock –period 2000 –name clk]

Error info.:

Error   : A required object parameter could not be found. [TUI-61] [define_clock]
        : An object of type 'pin|port' named '–period' could not be found.
        : Check to make sure that the object exists and is of the correct type.  The 'what_is' command can be used to determine the type of an object.
  define_clock: defines and apply a clock waveform 

Command:

set clock [define_clock –period 2000]

Error info:

    Error   : A required object parameter could not be found. [TUI-61] [define_clock]
            : An object of type 'pin|port' named '–period' could not be found.
            : Check to make sure that the object exists and is of the correct type.  The 'what_is' command can be used to determine the type of an object. define_clock: defines and apply a clock waveform 

Command:

define_clock -name clk -period 2000 

Error info:

Error   : A required object parameter could not be found. [TUI-61] [define_clock]
        : An object of type 'pin|port' named '–period' could not be found.
        : Check to make sure that the object exists and is of the correct type.  The 'what_is' command can be used to determine the type of an object.
  define_clock: defines and apply a clock waveform 

Command:

define_clock [-name clk] -period 2000

Error info.:

invalid command name "-name"
Encountered problems processing file: rc.tcl

Could someone please suggest the correct syntax?

Best Answer

I figure out the right format.

define_clock -period 1000 -name clk [find / -port clk]