第一章 静态时序分析简单例程跑通
从一个简单的例程入手,尝试理解一下primetime静态时序分析过程和原理
1.环境准备
primetime2016
tsmc28标准单元库
一个简单的verilog文件
2.set path
启动pt_shell后,首先设置单元库路径,让工具知道使用哪个库的标准单元进行分析
set search_path "$path" set link_path "$path"
解释一下这两个path的含义和区别:
search_path一般来讲是一个目录,通常会放入verilog文件或者约束文件,这样的话读这些文件不需要输入绝对路径,输入文件名,会去这个目录查找;
link_path是时序库的位置,通常会直接指定时序库,所以后面要求输入具体的文件,时序分析时会自动使用这些时序库文件的cell单元;
3.读入verilog文件
read_file -format verilog test.v
目前只试过读verilog文件,这里的.v文件需要在search_path中的目录里,如果没有,也可以直接使用绝对路径,比较直观
4.link
link的作用直接复制ai:
当你使用 read_verilog 读入一个门级网表时,PrimeTime 只是把它当作纯文本读进了内存,此时它并不知道网表中例化的子模块(如各种标准单元、SRAM 宏模块等)到底是什么。执行 link 指令后,PrimeTime 会去 link_path 指定的库文件中,寻找设计中所需要的元件定义,并将这些元件与网表中的实例一一对应起来,完成“例化”的过程。
create_clock -period 1 -name "clk_vir" -waveform {0 0.5} [get_ports clk_t]
这个指令需要用到的就是上面这几个属性,周期,占空比,名字,目标端口
6.时序分析进行
update_timing -full
更新时序信息,如果加上full,会更新所有时序信息,目前小的设计可以直接加上full
但这个命令有时不是必须的,通常来讲,如果直接使用report_timing,也会自动执行时序分析并输出timing信息,所以在简单的应用中,如果只需要查看一些arc或者timing信息,这个指令不是必要的,但可以选择加上,作为一个启动时序分析的指令(只是便于使用者理解)
7.report_timing
这个指令会报出timing信息,应该是入门时最重要的指令了,需要熟练使用,这个放到下一章节讲解,顺便整理arc的类型,timing信息里所有内容的含义,如何对当前设计debug,以及工具如何识别触发器
浙公网安备 33010602011771号