EDA17--PT脚本实例
这里写目录标题
- 一、同步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脚本实例相关推荐
- html,css,js小实例,CSS和JavaScript脚本实例
CSS和JavaScript脚本实例 导语:CSS样式和JavaScript脚本是应该放在外部文件中呢?还是把它们放在页面本身之内呢?以下的是百分网小编为大家搜集的CSS样式和JavaScript脚本 ...
- python脚本实例手机端-终于晓得python入门脚本实例
Python面向对象跟Java的面向对象大同小异,这篇我们简单介绍一下Python面向对象.以下是小编为你整理的python入门脚本实例 类(class)是通俗的说就是事物的属性和行为的抽象.下面我们 ...
- python脚本实例手机端-python链接手机用Python实现命令行闹钟脚本实例
前言: 这篇文章给大家介绍了怎样用python创建一个简单的报警,它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印"wake-up"消息,并响铃报警,你可以用0 ...
- 超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!
作者:养乐多 编辑:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 不得不说,脚本在我们的日常工作中可以提高很 ...
- mysql运行状态监控研究内容_如何监控mysql主从的运行状态shell脚本实例介绍
如何监控mysql主从的运行状态shell脚本实例介绍. #!/bin/bash #define mysql variable mysql_user="root" mysql_pa ...
- python路径在哪里设置_找Python安装目录,设置环境路径以及在命令行运行python脚本实例...
第一点:找Python安装目录 方法一: 方法二: 输入import sys print(sys.path) 化黑线处 第二点:找到安装目录后就可以开始设置环境变量 这里我的安装目录为C:\Progr ...
- python怎么写运维脚本_python运维脚本实例
file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...
- VCS命令行选项总结简单脚本实例
本文总结常用的VCS命令行选项,并提供两个简单的脚本,用于简单的仿真.第一个脚本用于笔者学习systemverilog时相关脚本.另一个是VCS+Verdi联合仿真的demo VCS命令行选项总结&a ...
- 简单python脚本实例-终于晓得python入门脚本实例
Python面向对象跟Java的面向对象大同小异,这篇我们简单介绍一下Python面向对象.以下是小编为你整理的python入门脚本实例 类(class)是通俗的说就是事物的属性和行为的抽象.下面我们 ...
最新文章
- 一周图趣(2019.01.07-2019.01.13)
- try/catch的用法
- java list接口为何要重新声明collection接口的方法_JAVA Collection接口中List Map 和Set的区别(转)...
- Indicator Weather 13.06 发布 增加 Kelvin 支持
- 安装swig后,python3版本切换到了2
- linux下装sqlserver安装包,【sqlServer】CentOS7.x 上Microsoft SQL Server for Linux安装和配置...
- python-opencv使用摄像头
- 支持js代码的博客有哪些?
- 解决easyExcel和poi版本冲突问题
- 蓝桥杯 ALGO31 算法训练 开心的金明 java版
- window防火墙端口映射_Windows 防火墙上也有端口映射功能
- 梯度向量的超简单理解
- 假设你毕业后有两个选择:一个是在某处找工作,另一个是自己创业。你要做决定。写一篇文章解释你的决定的理由
- 6.0 Python 模块编写 导入 引用
- monitorServer IBM Tivoli Enterprise Monitor Server
- vue2.0中的退出登录问题
- 马赛克颗粒感天空Canvasjs特效
- LightOJ1066
- Oracle redo 与 undo
- 无人驾驶11:行为规划
热门文章
- [附源码]Python计算机毕业设计SSM旅游足迹分享系统(程序+LW)
- system verilog 绿皮书学习笔记-方法思维导图
- python参数化字符串,【python接口自动化】- 正则用例参数化
- 工程机械部件的大尺寸空间精度检测仪器
- ps切图保存所有切片为png
- 【原创】如何掌握思科Cisco packet配置PC端对交换机远程控制?
- C语言中反斜杠“\“的意义和用法
- c# 反斜杠 双斜杠_C#程序打印反斜杠(\)
- 轻松为您解决中文简繁转换的苦恼
- 【NOI导刊】【归并排序求逆序对】最接近神的人