From a9aa0e313dd028af63934ddd630c5ff94f7e206d Mon Sep 17 00:00:00 2001 From: Ahmed Abdelazeem <58098260+abdelazeem201@users.noreply.github.com> Date: Thu, 2 May 2024 13:29:12 +0300 Subject: [PATCH] pt.tcl --- PrimeTime/pt.tcl | 116 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 PrimeTime/pt.tcl diff --git a/PrimeTime/pt.tcl b/PrimeTime/pt.tcl new file mode 100644 index 0000000..7214ac0 --- /dev/null +++ b/PrimeTime/pt.tcl @@ -0,0 +1,116 @@ +################################################################################ +start_profile +set timing_update_status_level high + + +################################################################################ +set sh_source_emits_line_numbers E +set sh_continue_on_error true + + +################################################################################# +# PrimeTime Script +# Script: pt.tcl +# Version: O-2018.06-SP2 (September. 28, 2018) +# Copyright (C) 2022-2024 abdelazeem. +################################################################################# + + +################################################################## +# Source common and pt_setup.tcl File # +################################################################## + +# Allow source to use search_path +set sh_source_uses_search_path true +source ./common_setup.tcl +source ./pt_setup.tcl + + +################################################################## +# Search Path, Library and Operating Condition Section # +################################################################## + + +set report_default_significant_digits 3 ; +set sh_source_uses_search_path true +set search_path " $search_path" ; + + +################################################################## +# Netlist Reading Section # +################################################################## + +set link_path " $link_path" + +read_verilog $NETLIST_FILES + +current_design $DESIGN_NAME +link_design -verbose + +################################################################## +# Back Annotation Section # +################################################################## + +read_parasitics $PARASITIC_FILES + +report_annotated_parasitics -check > $REPORTS_DIR/rap.report + + +################################################################## +# Reading Constraints Section # +################################################################## +if {[info exists CONSTRAINT_FILES]} { + foreach constraint_file $CONSTRAINT_FILES { + if {[file extension $constraint_file] eq ".sdc"} { + read_sdc -echo $constraint_file + } else { + source -echo $constraint_file + } + } +} + + +################################################################## +# Clock Tree Synthesis Section # +################################################################## + +set_propagated_clock [all_clocks] + + +################################################################## +# Update_timing and check_timing Section # +################################################################## + +update_timing -full + +# Ensure design is properly constrained +check_timing -verbose > $REPORTS_DIR/ct.report + +################################################################## +# Report_timing Section # +################################################################## +# Report Timing +report_timing -slack_lesser_than 0.0 -delay min_max -nosplit -input -net -sign 4 > $REPORTS_DIR/rt.report +report_clock -skew -attribute > $REPORTS_DIR/rc.report +report_analysis_coverage > $REPORTS_DIR/rac.report + + +################################################################# +# Save Session # +################################################################# + + + + + + + + + + +########################################################################## +stop_profile +save_session my_savesession +print_message_info +exit +##########################################################################