Uploaded by kiran kothoju

ICC2 —Usefull commands. 1. Get the count of Clock buffers… by Agnathavasi Medium

advertisement
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
ICC2 —Usefull commands
Agnathavasi · Follow
4 min read · Nov 20, 2023
Listen
Share
1. Get the count of Clock buffers?
report_device_group -detailed clock_network
2. llx lly urx ury all four coordinate of an instance
get_attribute [get_cells ctmTdsLR_1_31388] bbox
3. Get all the NDR used in the design
report_routing_rules
4. Get the routing status of a net
get_attribute [get_nets net_name ] physical status
5. Find the name of all the CTS clock nets
get_flat_nets -all -filter “net_type==clock”
6. Find the net name connected to a pin of an instance
get_nets -of_objects AES_core_keymem/key_mem_reg_9__90_/CP
7. Find the name of all the nets with a particular pattern in net name
get_nets <net_pattern*>
8. Get all the signal nets only (except clock, power and ground)
get_attribute [get_flat_nets -all -filter “net_type==signal”] name
9. Get the name of all the nets in the design
get_nets
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
1/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
10. Find the placement status of an instance
get_attribute [get_cells <cell_name>] physical_status
11. Get all nets having max fanout greater than specified number
report_net_fanout -threshold 50
12. Find the width and height of a cell
get_attribute [get_cells ctmTdsLR_1_31388] height
get_attribute [get_cells ctmTdsLR_1_31388] width
13. Get the temperature and delay corners of design
report_corners
14. Get the name of all the instance in your design which has fixed placement status
get_cells -filter “physical_status == fixed”
15. Find the name of all the don’t touch instance
report_dont_touch –all
16. Find the name of all sequential elements (registers/flip flops) in the design
get_attribute [ get_flat_cells -filter is_sequential ] name
17. Find the name of all the macro’s in your design
get_cells -filter “is_soft_macro == TRUE”
get_cells -filter “is_hard_macro == TRUE”
18. Find total numbers of well tap instances used in the design
sizeof_collection [get_cells *TAP*]
19. Find all the instances which have only one pins (like tie cells, antenna cells)
get_pins -of_objects [get_cells -filter “number_of_pins == 1” ]
20. Find the total number of physical cell instances used in the design
sizeof_collection [get_flat_cells -filter “is_physical_only == true”]
21. Get the clock skew and latency reports
report_clock_timing -type skew
report_clock_timing -type latency
report_clock_timing -type latency -nworst 20
22. Get the edge number where a port is placed
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
2/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
23. Get all clock and scan clock pins
get_clock_tree_pins
24. Get all input and output ports
get_ports [all_inputs]
get_ports [all_outputs]
25. * Find the metal layers used in block level IO ports*
get_attribute [get_flat_cells *PAD*] layer_names
26. Get all the power domains available in the design
get_attribute [get_power_domains] name
27. Get the area and size of your block
get_attribute [current_block ] bbox
28. Get all the inverter and buffer cells available in the library
get_lib_cells -filter “is_buffer”
get_lib_cells -filter “is_inverter”
28(a). get all input ports exclude all clock ports
get_ports [remove_from_collection [all_inputs ] clk]
28(b). get all input ports excluding in specific pattern in the name
get_ports [remove_from_collection [all_inputs ] din* ]
29. *Get the information of a cell which is present in std. cell library but not in design. *
get_lib_cells -of_objects [get_cells $cell_name ]
30. *Get the parameters of any particular routing layer (like Masks, Directions, pitch,
min-width, min-spacing etc )*
report_design –floorplan
31. Get all the routing layers name
get_attribute [get_layers ] name
32. Get all the layers name
Open in app
get_attribute [get_layers *] name
Sign up
Sign in
Search
33. Get all the pins of a selected Instance.
get_pins -of_objects [get_selection]
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
3/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
34. Get the cell name of a selected Instance.
get_selection [selected instance]
35. Find the top name of the design
current_design
36. Get the name of the selected object (instance, net, ports or any other objects).
get_attribute [get_selection ] name
37. Report the top worst failing 100 late timing paths with the endpoint and slack
values
report_timing -path_type end -max_paths 100 -delay_type max
report_constraints –all_violators
38. Report the count of the unique lib cell types of all buffers/inverters in the data path
of a timing path.
get_lib_cells -of_objects <instance_name>
39.Find the CPPR value and CPPR branch point of a timing path. Report the
skew between the launch clock and capture clock of a timing path,
considering CPPR.
40. * Find the flops receiving no clocks*
check_timing
41. Find the number of logic depth (combinational) in a timing path.
/agnathavasi/procs/Synopsys/get_logic_depth.tcl
Source this proc and give timing path as arguments
*****************Get_logic_depths.tcl*******
proc get_logic_depth {my_path {exclude_unary “”} } {
set my_cells [get_cells -quiet -of \
[get_pins -quiet \
[get_attr -quiet \
[get_attr $my_path points] object] \
-f “pin_direction==in”] \
-f “is_combinational==true && defined (lib_cell)”]
if {$exclude_unary == “-exclude_unary”} {
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
4/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
set my_cells [filter_collection $my_cells “number_of_pins!=2”] }
return [sizeof_collection $my_cells]
}
define_proc_attributes get_logic_depth -info “Find Logic Depth of a Timing
Path” \
-define_args {
{path “A single path collection” path list required} \
{-exclude_unary “Exclude Buffers/Inverters along the path” \
“\b” string optional}
}
#get_logic_depth [get_timing_paths -from AES_init_reg_reg -to
AES_core_keymem/key_mem_reg_7__10_]
*************************************************************
42. Get drivers and receivers (loads) of a net.
get_cells -of_objects [get_pins -of_objects [get_nets so_out[42]]]
43. Query if a net is a clock net.
get_nets -hierarchical -filter “net_type == clk”
44. Check if a net is marked as dont_touch
get_attribute $net_name don’t_touch
45. Get the library name and base cell name of an instance.
get_lib_cells -of_objects [get_cells < cell_name >]
46. Get the maximum transition and maximum capacitance of a pin.
get_attribute [get_pins wn_PAD_3/C] min_capacitance
get_attribute [get_pins wn_PAD_3/C] max_capacitance
47. Find the clock period of a clock in a particular analysis view.
report_clocks -modes func
report_clocks -modes test
48. command to check unconnected pins & nets?
check_netlist
49. command to set analysis mode?
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
5/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
50. command to get all signal nets only and whose fanout / pin count > 4 ?
get_pins -of_objects [get_fanets -filter “number_of_pins > 4” -filter “net_type ==signal”]
51. Get the count of ULVT cells in the design (excluding physical only cells)
get_flat_cells -hierarchical -filter “ref_name =~ *ULVT*”
Physical Design
Vlsi Physical Design
Semiconductors
Vlsi
Follow
Written by Agnathavasi
34 Followers
Physical Design Engineer
More from Agnathavasi
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
6/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
Agnathavasi
How do I avoid setup and hold time violation?
How do I avoid setup and hold time violation?
9 min read · Jun 22, 2023
4
Agnathavasi
ICC2 Commands up to Placement
6 min read · Jul 8, 2023
2
1
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
7/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
Agnathavasi
Uncertainty
What is uncertainty in VLSI physical design?
1 min read · Jun 22, 2023
Agnathavasi
Insertion Delay and Latency
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
8/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
the insertion delay concept comes into picture in clock tree synthesis.
3 min read · Jun 22, 2023
See all from Agnathavasi
Recommended from Medium
Raghu Aratlakota
Let’s talk about Test Compression!
EDT (Embedded Deterministic Test)
9 min read · Dec 17, 2023
227
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
9/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
Turing
5G Technology: What to Expect?
5 min read · Jan 20
Lists
Staff Picks
574 stories · 727 saves
Stories to Help You Level-Up at Work
19 stories · 463 saves
Self-Improvement 101
20 stories · 1311 saves
Productivity 101
20 stories · 1202 saves
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
10/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
Tharindu Senanayake
Unveiling the Simplicity and Power of Scrum
Welcome to Scrum — part 01 — Understanding Scrum
· 5 min read · Jan 28
577
7
Aliaksandr Kavalchuk
Diving into JTAG protocol. Part 2 — Debugging.
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
11/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
In this article, we delve into debugging microcontrollers using JTAG, with a special focus on the
ARM Cortex-M architecture and the…
11 min read · Sep 5, 2023
16
A.G. Yogi
malloc() and free() in C/C++
malloc()
2 min read · 6 days ago
84
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
12/13
2/8/24, 8:30 PM
ICC2 —Usefull commands. 1. Get the count of Clock buffers… | by Agnathavasi | Medium
Agnathavasi
Panel Discussion
Panel Discussion Q: What are your biggest IC layout challenges using advanced nodes?
4 min read · Jan 30
See more recommendations
https://medium.com/@agnathavasi360/icc2-usefull-commands-b297eedb6ce1
13/13
Download