后仿之 SDF优先级和相关概念
提到SDF可以知道它本身是一个ASCII文件,用来提供和构建电路的延迟网络,基本的格式就是每个SDF文件包含一个头文件,之后跟若干个单元和条目
1. SDF基本的格式:
(DELAYFILE(SDFVERSION "3.0") ------------(DESIGN "OOO") |(DATE "*****") |(VENDOR "***") |(PROGRAM "**") |(VERSION "**") HEADER PART(DIVIDER /) |(VOLTAGE A:B:C) |(PROCESS "BEST:NOM"WORST") |(TEMP -40:25:125) |(TIMESCALE **PS) ------------(CELL(CELLTYPE "***"(INSTANCE top)(DELAY(ABSOLUTE(INTERCONNECT modle b/c/clk (6:7:9)))))(CELL(CELLTYPE "***a"(INSTANCE top/b/d)(DELAY(ABSOLUTE(IOPATH A Y (1:2:3) (2:3:4))))(TIMINGCHECK(SETUPHOLD d (posedge clk) q (2:3:4) (-1:0:-1))(WIDTH clk (4:5:6))))******
)
对于该部分的解释,如下:
1. header部分表述了该sdf的版本,支持的电压,温度,process因素,时间精度等信息;
2. 每个cell存在一个或者多个类型的timing的设定;
Delay存在三种类型:DELAY/TIMINGCHECK/TIMINGENV关键字
其中:
DELAY关键字引入延迟条目,其中包含延迟数据和用于回注的窄脉冲传播数据。
a. IOPATH delay: 定义器件路径上的delay,比如双输入与门<input:A/B,output:Y>中A->Y或者B->Y的delay;
b. Retain delay: 一般用于异步的memory中,表示数据需要维持的时间,比如RAM的Q要在address变化之后维持多久;
c. Interconnect delay: 走线的dealy;
d. port delay