/TCL-programming

Primary LanguageVerilogApache License 2.0Apache-2.0

TCL-programming

Problem statement:

  1. To optimize the TCL script for STA – Main task
  • Read the libraries files one by one
  • Read the verilog files one by one
  • Link the design
  • Read the SDC file
  • Create directories to save the generated report file for the different verilog files

Sub task –

  • Renaming the report files The report files are named in the following format (PVTCorner_Post_DFlevel_rpttype.rpt) eg ff100C1v65_Post_synthesis_minmax.rpt
  • Generation of html table
  • From the generated report – Extract the a. Hold and setup slack b. Start-point and end point for both the setup and hold case and thereafter generate a table consisting the above values
  • Combine the start-point and endpoint values of setup and hold and placed it into two different columns
  • Add the WNS,TNS and FEP values

Implementation

  • Initially riscv_sta.tcl file is written for Post_synthesis netlist STA analysis using opensource tool OpenSTA across the different skywater130 timing libraries. The file is executed using the sta <tclfile> command. The generated report is saved in Post_Synthesis directory.
  • Next an html table is created from the generated report file whose code is available in riscv_rpt_table.tcl file and build_report.html is its html file, automatically generated from the tcl code. For execuction of the code tclsh <tcl file2> command is used.
  • Next the script is further modified for simultaneous sta analysis of all the PnR netlists available. riscv_conf.tclis the modified tcl file used in sta analysis of the different netlist use in PnR flow of RISCV [Note: The netlists and the spef file are generated using openLANE flow]. The generated reports are saved in their respective folder. Apart from the minmax report, wns, tns and fep(setup) report are also generated.
  • The script riscv_rpt_table_V2.tcl is the modified script where tns and wns values are added to the html table. The Post_CTS and Post_Layout table is also generated.

Check out the following link for teaser of the video tutorial I created for the above work and this link for its detail description.

Acknowledgement