(Pin are always associated with a specific instance or cell : cell_name/pin_name)
INV는 왜 ENCODER나 REGFILE 같은 design object가 아닐까?
-> INV는 라이브러리 셀이므로, ENCODER와 REGFILE은 VHDL entities나 Verilog modules 때문입니다.
dc_shell-topo > set_load 5 [get_nets SUM]
get_nets sum : net에 있는 SUM을 갖고 옵니다.
"get_*" commands return objects in the current_design, in DC memory, or in libraries : Can be used stand-alone or embedded in other commands.
Wildcards with ? or * : 지정된 패턴에 일치하는 포트 이름을 선택하는 데 사용됩니다.
set_load 5 [get_ports addr_bus*]
set_load 6 [get_ports "Y??M Z*"]
*는 임의의 문자열을 나타냅니다. 예를 들어, Z*는 "Z"로 시작하는 모든 포트 이름을 선택합니다. "ZA", "Z1", "Z_output" 등이 모두 포함됩니다.
?는 단일 문자를 나타냅니다. 예를 들어, Y??M은 "Y"로 시작하고, 그 뒤에 두 글자가 있으며, 마지막에 "M"으로 끝나는 포트 이름을 선택합니다. "YAAM", "Y12M", "YXZM" 등이 포함됩니다.
"get_*" 명령어는 인수와 일치하는 데이터베이스 개체의 집합을 반환합니다 : 허나, 일치하는 개체를 찾을 수 없는 경우 빈 컬렉션이 반환됩니다.
앞에 'man'을 치고 명령어 입력하면 그 명령어에 대해 설명합니다. 또한, 명령어 쓸때에는 '[ ]'로 묶어준다.
argument는 띄어쓰기가 적용이 됩니다.
ex) arg arg -> argument가 두 개로 적용
get_ports, _pins, _designs, _cells, _nets
all_inputs, _outputs, _clocks, _registers
set pci_ports [get ports "Y??M* Z*"]
sizeof_collection $pci_ports
-> $pci_ports라는 컬렉션에 포함된 항목의 수를 반환합니다.
예시: 만약 $pci_ports에 5개의 포트가 있다면, sizeof_collection $pci_ports는 5를 반환합니다.
set pci_ports (add_to_collection $pci_ports [get_ports CTRL*]]
-> $pci_ports 컬렉션에 "CTRL"로 시작하는 모든 포트를 추가합니다.
예시: 기존 $pci_ports에 "CTRL1", "CTRL2" 등의 포트가 추가됩니다.
set all_inputs_except_clk [remove_from collection [all_inputs] [get ports CLK]]
-> CLK 포트를 all_inputs 컬렉션에서 제거한 후 남은 입력 포트를 all_inputs_except_clk 컬렉션에 저장합니다.
예시: 만약 all_inputs에 IN1, IN2, CLK가 있다면, CLK를 제외한 IN1, IN2가 all_inputs_except_clk에 저장됩니다.
filter_collection [get_cells *] "ref name =~ AN*"
-> "ref_name"이 "AN"으로 시작하는 셀을 필터링하여 반환합니다.
예시: 셀 이름이 AN1, AN2, AN_CTRL인 셀들을 반환합니다.
get_cells * -filter "dont_touch = true"
-> "dont_touch" 속성이 true로 설정된 셀들을 필터링하여 반환합니다.
예시: 만약 cell1과 cell2가 "dont_touch" 속성이 true로 설정되어 있다면, 이 셀들을 반환합니다.
list_attributes -application -class ‹object_type>
-> 지정된 object_type 클래스에 대한 모든 속성을 나열합니다.
예시: list_attributes -application -class cell을 사용하면 셀 클래스에 대한 모든 속성을 나열합니다. 또한, 해당 객체 유형의 속성들을 확인하는 데 유용합니다.