这里写目录标题

  • 一、同步fifo
  • 二、异步fifo
  • 三、操作示例

前文已经介绍了使用PT进行STA的基本内容,接下来介绍两个实例进一步说明PT脚本的使用。和DC一样,一个同步fifo,一个异步FIFO。
最近才开始学写脚本,有很多写的不太好的地方,有问题还有指正,共同交流。

一、同步fifo

这是工作目录,可以看出有这么几个:
library用来放库文件,
pt_scripts用来放脚本,
report用来放输出时序报告,
results用来放输出sdf结果,
work是工作目录。

还有一个目录,是前一步DC输出的sdc文件,待会会有说明。现在打开pt_scripts目录,开始写脚本。

1、首先设置链接库和搜索路径。

#
#SETUP
#
set search_path             "/home/ICer/EDA/03_PT/fifo1/library"
set link_library            " * smic18_ff.db smic18_ss.db smic18_tt.db"
set_app_var link_library    " /$search_path/smic18_ss.db "

**2、设置一些路径,分别是输入路径、输出报告路径、输出结果路径、**关于输入路径可以查看博文链接: 链接: link

#
#Run_PT
#
set input_path      "/home/ICer/EDA/02_DC/fifo1/outputs"
set report_path     "/home/ICer/EDA/03_PT/fifo1/reports"
set result_path     "/home/ICer/EDA/03_PT/fifo1/results"
set DESIGN_NAME     "VR_FIFO"

3、读入网表文件设计,设置当前设计名。

#
# Read and link design
#
read_verilog        "/$input_path/VR_FIFO.v"
current_design      $DESIGN_NAME

4、设置工作环境。线负载模型

#
# Setting operating condition and min library
#set_operating_conditions -library smic18_ss worst
#set_operating_conditions -library smic18_ff best
set_wire_load_model      -library smic18_ss -name reference_area_20000

5、读入sdc约束文件

#
# Reading Constraints Section
#
read_sdc   -echo     " $input_path/VR_FIFO.sdc "

6、检查时序与输入报告和.sdf文件。

update_timing
check_timing                    > ../reports/${DESIGN_NAME}_check_timing_typical.rpt# *********************************************************
#  Report timing
# *********************************************************
report_global_timing            > ../reports/${DESIGN_NAME}_report_global_timing_typical.report
report_clock -skew -attribute   > ../reports/${DESIGN_NAME}_report_clock_typical.report
report_analysis_coverage        > ../reports/${DESIGN_NAME}_report_analysis_coverage_typical.report
report_timing -slack_lesser_than 0.0 -delay min_max -nosplit -input -net  > ../reports/${DESIGN_NAME}_report_timing_typical.report# *********************************************************
#  Generate SDF file for simulation
# *********************************************************
write_sdf -context Verilog        ../results/${DESIGN_NAME}_typical.sdf

总体上同步fifo脚本设计如下:

#
#SETUP
#
set search_path             "/home/ICer/EDA/03_PT/fifo1/library"
set link_library            " * smic18_ff.db smic18_ss.db smic18_tt.db"
set_app_var link_library    " /$search_path/smic18_ss.db "#
#Run_PT
#
set input_path      "/home/ICer/EDA/02_DC/fifo1/outputs"
set report_path     "/home/ICer/EDA/03_PT/fifo1/reports"
set result_path     "/home/ICer/EDA/03_PT/fifo1/results"
set DESIGN_NAME     "VR_FIFO"#
# Read and link design
#
read_verilog        "/$input_path/VR_FIFO.v"
current_design      $DESIGN_NAME#
# Setting operating condition and min library
#set_operating_conditions -library smic18_ss worst
#set_operating_conditions -library smic18_ff best
set_wire_load_model      -library smic18_ss -name reference_area_20000#
# Reading Constraints Section
#
read_sdc   -echo     " $input_path/VR_FIFO.sdc "#
#    Back Annotation Section
#
read_sdf             " $input_path/VR_FIFO.sdf "#
#  Update / check timing
#update_timing
check_timing                    > ../reports/${DESIGN_NAME}_check_timing_typical.rpt# *********************************************************
#  Report timing
# *********************************************************
report_global_timing            > ../reports/${DESIGN_NAME}_report_global_timing_typical.report
report_clock -skew -attribute   > ../reports/${DESIGN_NAME}_report_clock_typical.report
report_analysis_coverage        > ../reports/${DESIGN_NAME}_report_analysis_coverage_typical.report
report_timing -slack_lesser_than 0.0 -delay min_max -nosplit -input -net  > ../reports/${DESIGN_NAME}_report_timing_typical.report# *********************************************************
#  Generate SDF file for simulation
# *********************************************************
write_sdf -context Verilog        ../results/${DESIGN_NAME}_typical.sdf

二、异步fifo

工作目录和同步一样,脚本思路一样,具体如下:

ch_path  [list /home/ICer/EDA/03_PT/fifo2/library]
set_app_var link_library               [list {*} smic18_ss.db]#set_app_var sh_command_log_file  "command.log"
#set_app_var sh_continue_on_error "false"
#set_app_var report_default_significant_digits 3
#set_app_var sh_source_uses_search_path true
#
#Run_PT
#
set input_path      "/home/ICer/EDA/02_DC/fifo2/outputs"
set report_path     "/home/ICer/EDA/03_PT/fifo2/reports"
set result_path     "/home/ICer/EDA/03_PT/fifo2/results"
set DESIGN_NAME     "fifo"#
# Read and link design
#
read_verilog        "/$input_path/fifo.v"current_design      $DESIGN_NAME
link#
# Setting operating condition and min library
#set_operating_conditions -library smic18_ss worst
#set_operating_conditions -library smic18_ff best
set_wire_load_model      -library smic18_ss -name reference_area_20000#
# Reading Constraints Section
#
read_sdc            " $input_path/fifo.sdc "#
#  Update / check timing
#set_app_var timing_report_unconstrained_paths trueupdate_timing
check_timing                    > ../reports/${DESIGN_NAME}_check_timing_typical.rpt# *********************************************************
#  Report timing
# *********************************************************
report_global_timing            > ../reports/${DESIGN_NAME}_report_global_timing_typical.report
report_clock -skew -attribute   > ../reports/${DESIGN_NAME}_report_clock_typical.report
report_analysis_coverage        > ../reports/${DESIGN_NAME}_report_analysis_coverage_typical.report
report_timing -slack_lesser_than 0.0 -delay min_max -nosplit -input -net  > ../reports/${DESIGN_NAME}_report_timing_typical.report# *********************************************************
#  Generate SDF file for simulation
# *********************************************************
write_sdf -context Verilog        ../results/${DESIGN_NAME}_typical.sdf

三、操作示例

以异步FIFO为例,
1、首先打开work目录,终端打开,
2、输入pt_shell,进入pt工作目录
这里有个error,不管。
3、输入指令:source -e -v ../pt_scripts/fifo2_pt.tcl
4、输入检查时序:report_timing

5、读入sdf 反标文件,read_sdf /$input_path/fifo.sdf
6、再次查看时序检查。

其中带有*的是被sdf文件反标的路径信息。
slack满足时序要求。完成。

EDA17--PT脚本实例相关推荐

  1. html,css,js小实例,CSS和JavaScript脚本实例

    CSS和JavaScript脚本实例 导语:CSS样式和JavaScript脚本是应该放在外部文件中呢?还是把它们放在页面本身之内呢?以下的是百分网小编为大家搜集的CSS样式和JavaScript脚本 ...

  2. python脚本实例手机端-终于晓得python入门脚本实例

    Python面向对象跟Java的面向对象大同小异,这篇我们简单介绍一下Python面向对象.以下是小编为你整理的python入门脚本实例 类(class)是通俗的说就是事物的属性和行为的抽象.下面我们 ...

  3. python脚本实例手机端-python链接手机用Python实现命令行闹钟脚本实例

    前言: 这篇文章给大家介绍了怎样用python创建一个简单的报警,它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印"wake-up"消息,并响铃报警,你可以用0 ...

  4. 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!

    作者:养乐多     编辑:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 不得不说,脚本在我们的日常工作中可以提高很 ...

  5. mysql运行状态监控研究内容_如何监控mysql主从的运行状态shell脚本实例介绍

    如何监控mysql主从的运行状态shell脚本实例介绍. #!/bin/bash #define mysql variable mysql_user="root" mysql_pa ...

  6. python路径在哪里设置_找Python安装目录,设置环境路径以及在命令行运行python脚本实例...

    第一点:找Python安装目录 方法一: 方法二: 输入import sys print(sys.path) 化黑线处 第二点:找到安装目录后就可以开始设置环境变量 这里我的安装目录为C:\Progr ...

  7. python怎么写运维脚本_python运维脚本实例

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  8. VCS命令行选项总结简单脚本实例

    本文总结常用的VCS命令行选项,并提供两个简单的脚本,用于简单的仿真.第一个脚本用于笔者学习systemverilog时相关脚本.另一个是VCS+Verdi联合仿真的demo VCS命令行选项总结&a ...

  9. 简单python脚本实例-终于晓得python入门脚本实例

    Python面向对象跟Java的面向对象大同小异,这篇我们简单介绍一下Python面向对象.以下是小编为你整理的python入门脚本实例 类(class)是通俗的说就是事物的属性和行为的抽象.下面我们 ...

最新文章

  1. 一周图趣(2019.01.07-2019.01.13)
  2. try/catch的用法
  3. java list接口为何要重新声明collection接口的方法_JAVA Collection接口中List Map 和Set的区别(转)...
  4. Indicator Weather 13.06 发布 增加 Kelvin 支持
  5. 安装swig后,python3版本切换到了2
  6. linux下装sqlserver安装包,【sqlServer】CentOS7.x 上Microsoft SQL Server for Linux安装和配置...
  7. python-opencv使用摄像头
  8. 支持js代码的博客有哪些?
  9. 解决easyExcel和poi版本冲突问题
  10. 蓝桥杯 ALGO31 算法训练 开心的金明 java版
  11. window防火墙端口映射_Windows 防火墙上也有端口映射功能
  12. 梯度向量的超简单理解
  13. 假设你毕业后有两个选择:一个是在某处找工作,另一个是自己创业。你要做决定。写一篇文章解释你的决定的理由
  14. 6.0 Python 模块编写 导入 引用
  15. monitorServer IBM Tivoli Enterprise Monitor Server
  16. vue2.0中的退出登录问题
  17. 马赛克颗粒感天空Canvasjs特效
  18. LightOJ1066
  19. Oracle redo 与 undo
  20. 无人驾驶11:行为规划

热门文章

  1. [附源码]Python计算机毕业设计SSM旅游足迹分享系统(程序+LW)
  2. system verilog 绿皮书学习笔记-方法思维导图
  3. python参数化字符串,【python接口自动化】- 正则用例参数化
  4. 工程机械部件的大尺寸空间精度检测仪器
  5. ps切图保存所有切片为png
  6. 【原创】如何掌握思科Cisco packet配置PC端对交换机远程控制?
  7. C语言中反斜杠“\“的意义和用法
  8. c# 反斜杠 双斜杠_C#程序打印反斜杠(\)
  9. 轻松为您解决中文简繁转换的苦恼
  10. 【NOI导刊】【归并排序求逆序对】最接近神的人