You are on page 1of 7

Nishchinth T N

TCL SCRIPTING PROBLEMS

PD-40
17/01/2024

1.How to write a script to move the macro and endcap


cells with 2microns distance.

Store all the macro names in one file


main script
set a [open macro]
set b [read $a]
foreach c $b {
set d [move_objects [get_cells $c] -delta{-2 0}]
puts $d
}
2.suppose taking the resume and i want to print the
project 1 and dump to the new file then how to write a
script.

3 suppose in your design has 1lakh nets and how do you


write a script to route the first 1000 nets . after
Nishchinth T N

completing the routing of those nets the remaining will


routed.

get_nets * > nets


filter nets
:%! sed ‘s/ /\n/g’
total – 10485
route first 1000 nets
:%! head -1000 > newnets

main script
set a [open newnets]
set b [read $a]
foreach c $b {
set d [route_custom -nets $c]
puts $d
}

4 how do you write a script to get the nets more than


300microns and less than 600microns.
get_nets *
store all the nets in one file
Nishchinth T N

main script
set a [open nets]
set b [read $a]
foreach c $b {
set d [get_object_name -filter “dr_length > 300 &&
dr_length <= 600”]
puts $d
}

TO SEE NET LENGTH OF INDIVIDUAL NET

[get_attribute [get_nets (call al the filter nets ) ] -


value_list dr_length]

5.how do you write a script for partial blockage in a


checker board manner.

Only applying partial blockage {to reduce cell density}


copy all the coordinates from gui into one file

main script
set a [open coordinates]
set b [read $a]
Nishchinth T N

foreach c $b {
set d [create_placement_blockage -type partial -
blocked_percentage 50 -boundary $c]
puts $d
}
create_placement -incremental
legalize_placement -incremental

6 how do you analyse the report and how do you fix the
drc's.

7.how do you fix if you have 1 lakh drc's in your design

8 how do you fix the congestion?


Only applying partial blockage {to reduce cell density}
copy all the coordinates from gui into one file

main script
set a [open coordinates]
set b [read $a]
foreach c $b {
Nishchinth T N

set d [create_placement_blockage -type partial -


blocked_percentage 50 -boundary $c]
puts $d
}
create_placement -incremental
legalize_placement -incremental

(for pin density issues place keepout margin)

9.how to write a script to place the ports in your design.

Open a script and write placing IO ports command and


source that file

set_block_pin_constarints -allowed_layers “ ” -sides “ ”


- self
-place_pins -self

10. explain how to resolve the placement,CTS and


routing issues.

11.How do you write a script for path grouping


Nishchinth T N

list out the nworst paths


report_timing -nworst 5 -nosplit

place all the paths in one file

differntiate start points and end points in different files

using grep and awk commands


grep “Start”
awk ‘{print $2}’
grep “End”
awk ‘{print $2}’

main script
set a [open start point]
set b [read $a]
set c [open end points ]
set d [read $c]
set e [open num]
set f [read $e]
for {i o } {[llength $b]} {incr i} {
set g [group_path -name [lindex $f $i] -from [lindex $b
$i] -to [lindex $b $i] -weight 5]
puts $g
Nishchinth T N

You might also like