You are on page 1of 1

proc buffer_net_sinks {args} {

parse_proc_arguments -args $args results


proc c2l {collection} {
set my_list {}
foreach_in_collection coll_element $collection {
set element [get_object_name $coll_element]
lappend my_list $element
}
return $my_list
}
if {[info exists results(-exclude_pin)]} {
if {[info exists results(-net)]} {
set libcell $results(-libcell)
set net $results(-net)
set exclude_pin $results(-exclude_pin)
set pinlist [get_pins -filter "direction == in && is_hierarchical == false"
-of_objects $net]
set pinlistexcluded [c2l [remove_from_collection $pinlist $exclude_pin]]
foreach bpin $pinlistexcluded {
insert_buffer $bpin $libcell
}
}
} else {
if {[info exists results(-net)]} {
set libcell $results(-libcell)
set net $results(-net)
set pinlist [c2l [get_pins -filter "direction == in && is_hierarchical == false"
-of_objects $net]]
foreach bpin $pinlist {
insert_buffer $bpin $libcell
}
}
}
}
define_proc_attributes buffer_net_sinks -info "To insert buffer to all sink pins
for the given net and to insert buffer to all sinks pins except given pin of the
given net" -define_args {

{-net "of net name" net string required}


{-exclude_pin "of exclude pin name" pin string optional}
{-libcell "Libcell" libcell string required}
}

You might also like