首页->【京微雅格FPGA助学小组】

87 0


1. Set_hierarchy_separator 

Usage 

Set_hierarchy_separator  [separator]

Options

separator: character used as a hierarchy separator, can be any of  {/}, {@}, {^}, {#}, {.}, {|}

Example

Set_hierarchy_separator /


2. Create clock

Usage 

create_clock  [-name <clock_name>]  [-period <value>]  [port_pin_list] [-waveform edge_list]

Options

-name <clock_name>: Clock name of the created clock

-period <value>: Speed of the clock in terms of clock period

<port_pin_list >: clock souce port or pin

                            [get_ports], [get_pins]

-waveform {edge_list}: specifies the rise and fall edge times of the clock waveforms of

                                      The clock.

Example

create_clock -period 10  -name clk  [get_ports clk]

create_clock -period 10  -name clk  [get_ports clk] –waveform{0 5}


3. create_generated_clock

Usage

create_generated_clock [-name <clock_name>] [-divide_by <factor>] [-multiply_by <factor>] 

[-source <clock_source>]  [port_pin_list]

Options

-name <clock_name>: Clock name of generated clock

-divide_by <factor>: Division factor

-multiply_by <factor>: Multiplication factor

-source <clock_source>: Source node for the generated clock

                                         [get_ports ], [get_pins],[get_clocks], clock_name

-port_pin_list < >: derived clock souce port or pin

                               [get_ports], [get_pins]

Example

# Create a clock and a divide-by-2 generated clock

create_clock -period 10 [get_ports clk]

create_generated_clock -divide_by 2 -source [get_ports clk] -name clkdiv [get_pins {reg/qx} ]



4. set_false_path

Usage

set_false_path  [-setup]  [-hold] [-from <names>]  [-to <names>]

Options

-setup: Indicates that setup (maximum) paths are to be marked as false.

-hold:  Indicates that hold (maximum) paths are to be marked as false.

-from <names>: Valid sources (string patterns are matched using Tcl string matching)

                            [get_clocks clk]

It can also be [get_ports] and [get_pins]

-to <names>: Valid destinations (string patterns are matched using Tcl string matching)

                        [get_clocks clk]

It can also be [get_ports] and [get_pins]

Example

# Set a false-path between two unrelated clocks

# See also set_clock_groups

set_false_path -from [get_clocks clkA] -to [get_clocks clkB]

set_false_path –from [get_pins {reg/mclk reg/sclk}] –to [get_pins reg/di]

set_false_path -setup -from [get_clocks clkA] -to [get_clocks clkB]


5. set_input_delay

Usage

set_input_delay  [-clock <name>] [-max] [-min] [-add_delay] <delay> <targets>

Options

-clock <name>: Clock name

             [get_clocks clk]

             [all_clocks]

             [get_ports in]

             clock_name

-max: Applies value as maximum data arrival time

-min: Applies value as minimum data arrival time

-add_delay: Add to existing delays instead of overriding them

<delay>: Time value

<targets>: Collection or list of input ports

Example

set_input_delay 0 –max -clock clk -add_delay  [all_inputs]


6. set_output_delay

Usage

set_output_delay  [-clock <name>] [-max] [-min] [-add_delay] <delay> <targets>

Options

-clock <name>: Clock name

                           [get_clocks clk]

                           [all_clocks]

                           [get_ports out]

                           clock_name

-max: Applies value as maximum data arrival time

-min: Applies value as minimum data arrival time

-add_delay: Add to existing delays instead of overriding them

<delay>: Time value

<targets>: Collection or list of output ports

Example

set_output_delay 0 –max -clock clk  -add_delay  [all_outputs]


7. set_max_delay

Usage

set_max_delay [-from <names>] [-through <names>] [-to <names>] <value>

Options

-from <names>: Valid sources (string patterns are matched using Tcl string matching)

                            [all_inputs]

                            [get_ports in]

-to <names>: Valid destinations (string patterns are matched using Tcl string matching)

                        [all_outputs]

                        [get_ports out]

                        <value>: Time Value

Example

# Apply a 10ns max delay between two unrelated clocks

set_max_delay -from [all_inputs] -to [all_outpus] 10.000


8. set_propagated_clock

Usage

set_propagated_clock [object_list]

Options

< object_list >: the target clock

             [get_clocks]

             [all_clocks]

             Clock_name

Example

set_propagated_clock [all_clocks]


9. set_clock_uncertainty 

Usage

set_clock_uncertainty [value][-rise] [-fall] [-setup] [-hold] [object_list]

Options

-rise: Indicates that rise triggered paths are to be marked .

-fall:  Indicates that fall triggered paths are to be marked .

-setup: Indicates that setup (maximum) paths are to be marked .

-hold:  Indicates that hold (minimum) paths are to be marked. 

< object_list >: the target clock

                         [get_clocks]

                         [all_clocks]

                         Value: clock uncertainty

Example

set_clock_uncertainty  1 –setup [get_clocks clk]

set_clock_uncertainty  1 –rise [get_clocks clk]


10. set_clock_groups

Usage

set_clock_groups [-group {clock_list}] [-asynchronous]

Options

-group: clock_list ,specifies a list of clocks

-asynchronous : specifies that the clock groups are asynchronous

                           To each other.

Example

set_clock_groups –asynchronous  –groups clk1 

set_clock_groups –asynchronous  –groups {clk1,clk2} 


11. set_clock_latency

Usage

set_clock_latency [-delay] [-source] [-rise] [-fall] [-max] [-min] [object_list] [-clock]

Options

-delay: clock latency

-source: Specified clock source latency

-rise:  Indicates that rise triggered paths are to be marked .

-fall:  Indicates that fall triggered paths are to be marked .

-max: Indicates that setup (maximum) paths are to be marked .

-min:  Indicates that hold (minimum) paths are to be marked. 

-clock: Specified a list of clock objects associated with the network latencty.

            [get_clocks clk]

< object_list >: the target ports or clocks

                         [get_ports]

                         [get_clocks clk]

Example

set_clock_latencyy  1 –max [get_clocks clk]

set_clock_ latencyy  1 –rise [get_clocks clk]


12. set_multicycle_path

Usage

set_multicycle_path –multiplier [-setup] [-hold] [-from <names>] [-to <names>]

Options

-multiplier: An integer that specifies the number of cycles the data path must have for                    setup or hold, relative to the startpoint or endpoint clock, before data is                        required at endpoint.

-setup: Indicates that setup (maximum) paths are to be marked.

-hold:  Indicates that hold (maximum) paths are to be marked.

-from <names>: Valid sources (string patterns are matched using Tcl string matching)    

                             It can also be [get_ports] and [get_pins] 

-to <names>: Valid destinations (string patterns are matched using Tcl string                         matching) 

                        It can also be [get_ports] and [get_pins]

Example

//both setup and hold specified

set_multicycle_path 3 -from [get_pins {reg/mclk reg/sclk}] -to [get_pins {reg/di}] –setup

set_multicycle_path 2 -from [get_pins {reg/mclk reg/sclk}] -to [get_pins {reg/di}] –hold


//only setup specified

set_multicycle_path 3 –from [get_pins {reg/mclk reg/sclk}] –to [get_pins {reg/di}] -setup


//only hold specified

set_multicycle_path 2 -hold -from [get_pins {reg/mclk reg/sclk}] -to [get_pins {reg/di}]


// none specified

set_multicycle_path 2 -from [get_pins {reg/mclk reg/sclk}] -to [get_pins {reg/di}]


//from-to

set_multicycle_path 2 -from [get_clocks {clkA}] -setup

set_multicycle_path 2 -to [get_clocks {clkB]] –setup

set_multicycle_path 3 –from [get_pins {reg/mclk reg/sclk}] –setup

set_multicycle_path 3 –to [get_pins {reg/di}] –setup


13. Note

pattern matching commands:

all_clocks

all_inputs

all_outputs


all_registers 

 [-clock_pins]  [data_pins] 

get_clocks

get_cells

get_pins

get_ports



Add –comment and –disable option for all these sdc commands


其他参考(中文解释):

常用时序分析SDC 命令参考

http://www.ictown.com/thread-94169-1-1.html

(出处: IC设计小镇)


作者于2017-05-14 14:26:00修改!
楼主可见