Please provide the same with the modifications to get start point and end point. I have been looking for it
set list_points "" ; set list_cells ""
echo " list of cells in violating paths" > file.rpt
set f [ get_timing_paths -path_type summary -max_paths 10000 -slack_lesser_than 0 ]
foreach_in_collection e $f {
set list_points "" ; set list_cells ""
set e [get_attr $e points]
set strt [get_attr $e startpoint]
set end [get_attr $e endpoint]
set slk [get_attr $e slack]
foreach_in_collection m $e {
lappend list_points [get_object_name $m ]
}
echo "start point: $strt \n end point $end \n slack $slk \n" >> file.rpt
foreach l $list_points {
echo $l >> file.rpt
}
foreach n $list_points {
set n [get_cell -of $n]
lappend list_cells [get_object_name $n]
}
echo " cells in this path are: \n"
foreach l $list_cells {
echo $l >> file.rpt
}
}
This should give you a text file named "file.rpt" with all the data you need.