full_case
: Specifies that a case statement is to be treated as full caseparallel_case
: Specifies that a case statement is to be treated as parallel caseinfer_mux
: Directs synthesis to generate a more robust multiplexer solutionsync_set_reset
: Directs the synthesis tool to check the signals in the list ot determine if they synchronously set or reset the designasync_set_reset
: Directs the synthesis tool to check the signals in the list to determine if they asynchronously set or reset the designone_hot
: Specifies that the set and reset signals will not be in their active 1'b1 state at the same timeone_cold
: Specifies that the set and reset signals will not be in their active 1'b0 state at the same timetranslate_off / translate_on
: Directs the synthesis tool to not synthesize the Verilog code that is in between these two delimitersresource
: Alerts synthesis that directives to follow are resource block relatedops
: Lists identifiers to be used as labelsmap_to_module
: Specifies the DesignWare synthetic part that the operator is to be mapped ontoimplementation
: Specifies the archetecture implementation for the selected DesignWare synthetic partlabel
: Identifies the operator that is to be synthesized into the specified implementationset compile_seqmap_synchronous_extraction
: Directs synthesis to implement a more robust algorithm when synthesizing flip-flops with synchronous set/reset pinsset hdlin_ff_always_sync_set_rest
: When set to true synthesis is directed to automatically check the coding style for synchronous set and reset conditions of flip-flopsset hdlin_ff_always_async_set_reset
: When set to true synthesis is directed to automatically check the coding style for asynchronous set and reset conditions of flip-flopsset hdlin_use_carry_in
: Directs synthesis to use the carry-in pin of an adder resource blockset hdlin_infer_function_local_latches
: When set to true latches will be synthesized for laatch coding styles in subprogramsset view_command_log_file
: Specifies location of intermediate log filesset command_log_file
: Specifies location of intermediate log filesset_dont_use
: Directs the synthesis tool to not select the specified cells from the target libraryset_test_hold
: Specifies value that an input pin should have during the check_test commandhdlin_enable_presto
: Enables/disables Presto Veriloghdlin_while_loop_iterations
: Specifies the maximum number of times that a Verilog loop statement will be iterated during teh Elaborate phasealias
: Renames a synthesis commandset company
: Sets company name toe be displayedin generated schematicsset designer
: Sets designer's name toe be displayed in generated schematicsset target_library
: Specifies a technology or a list of technology libraries from which the synthesis tool will select cells during its mapping to gates stageset link_library
: Specifies a list of design files and libraries used during the linking phase of a designset symbol_library
: Specifies the library containing the graphical elements that will be used to generate the schematic output of synthesisdefine_design_lib
Identifies the subdirectory into which the Verilog analyzed files will be seavedremove_design -designs
: Deletes designs from Design Vision's memorycompare_design
: Checks the functional equivalency of two designscheck_test
: Checks if a design satisfies the observability and controllability rules for test insertionread_file -format verilog {<file_name>.v}
read_verilog <file_name>.v
: verilog file 읽기analyze -format verilog {<file_name>.v}
elaborate <design_name>
read_ddc {<ddc_file_name>.ddc}
current_design <design_name>
: (arg 없으면)현재 디자인 확인 / <design_name>으로 변경source <constrain_file_name>.con
: constrain file 적용check_timing
link
compile_ultra
create_schematic
: Creates schematic with default drawing parameters
create_schematic -no_bus
: Creates schematic in which individual lines of bussed signals are isolated
query_objects
: 정보 보기
filter_collection [get_cells *] "ref_name =~ AN*"
: 해당 조건에 만족하는 것들만
get_cells * -filter "dont_touch == true
: 해당 조건에 만족하는 것들만
list_attributes -application -class <object_type>
: attribute 확인
get_*
get_nets
: current design의 net들. -hier
로 sub-block도 가능get_pins <cell/pin>
: cell들의 input/output pins. -hier
로 sub-block 가능get_ports
: current design의 input/output/bidir ports. -hier
가능get_cells
: cells(instances) in the current design. -hier
로 sub-blocks도 가능get_clocks
: current design이나 above design에서 정의된 clock objectget_designs
: DC memory에 있는 designsget_libs
: DC memory에 있는 librariesget_lib_cells <libname/cellname>
: library 안에 있는 cell들get_lib_pins <libname/cellname/pinname>
: library 안에 있는 cell의 pin들all_*
all_inputs
: current design의 모든 input, inout portsall_outputs
: current design의 모든 output, inout portsall_clocks
: current design과 below에서 정의된 clock들all_registers
: 현재 디자인의 register cell들의 hierarchyall_ideal_nets
all_fanin
all_fanout
all_connected
all_dont_touch
all_high_fanout
*_collection
add_to_collection
: Add object(s)compare_collections
: compares two collectionscopy_collection
: Make a copy of collectionfilter_collection
: Filter a collection, resulting in a new collectionforeach_in_collection
: Iterate over a collectionindex_collection
: Extract object from collectionremove_from_collection
: Remove object(s) from a collectionsizeof_collection
: Number of objects in a collectionsort_collection
: Create a sorted copy of a collectioncreate_clock -period <T> -name <virtual_clock_name>
: virtual clock 생성create_clock -period <T> [get_ports <clock_name>]
: clock object 로 바꿔줌, T는 주기set_clock_uncertainty -setup <T> [get_clocks <clock_name>]
: T = skew + jitter + marginset_clock_latency -source -max <source_latency> [get_clocks <clock_name>]
: Source Latency 설정set_clock_latency -max <network_latency> [get_clocks <clock_name>]
: Network Latency 설정set_clock_transition -max <T> [get_clocks <clock_name>]
: trasition time 설정set_propagated_clock [get_ports <clock_name>]
: CTS 후에set_input_delay -max <T> -clock <clock_name> [get_ports <port_name>]
: input port delayset_output_delay -max <T> -clock <clock_name> [get_ports <port_name>]
: output port delayset_input_delay -max 0.5 -clock Clk [remove_from_collection [all_inputs] [get_ports Clk]]
다른 옵션 줄 때
set_input_delay -max 0.5 -clock Clk [all_inputs]
set_input_delay -max 0.8 -clock Clk [get_ports C]
remove_input_delay [get_ports Clk]
set_input_transition -max <transition_time> [get_ports <port_name>]
set_driving_cell -max -lib_cell <cell_name> -library(not required) -pin(if required) [get_ports <port_name>]
set_load -max [load_of <lib_name/cell_name/pin_name>] [get_ports <port_name>]
set_load -max <load_value> [get_ports <port_name>]
report_*
report_port -verbose
: Input, Output delay 확인 가능report_clock
: period, waveform, source 확인report_clock -skew
: network delay, transition 확인 가능report_clock -skew -attr
: 둘 다tools => Setup
: Displays current synthesis environmentFile => Analyze
: Analyzes specified fileFile => Elaborate
: Elaborates specified designTools => Design Optimization
: Maps elaborated design onto cells from the target libraryReport => Constraint Analysis => Timing Path
: Generates Timing reportReport => Constraint Analysis => Area
: Generates Area ReportFile => Save As
: Saves design in specified subdirectory as a .db fileFile => Read
: Brings RTL source code and netlists into Design VisionView => Preferences => pin_name_layer
: Directs schematic output to include pin names of cells selected from target libraryReports => Design Information => Resources
: Generates a resource implementation reportanalyze -library <library_name> -format verilog {<file_name>.v}
elaborate <design_name> -library <library_name>
read_file -format verilog {<file_name>.v}