基于累积频数统计的FPGA互连资源时序库
2013-08-21孟祥志来金梅
孟祥志,杨 萌,来金梅
(复旦大学专用集成电路与系统国家重点实验室,上海 201203)
1 概述
静态时序分析(Static Timing Analysis, STA)是现场可编程门阵列(Field Programmable Gate Array, FPGA)软件系统中的一个重要组成模块[1],用于考察 FPGA用户设计的电路的时延、速度指标,并且验证电路时序是否符合设计者规定的时序要求。FPGA软件系统中静态时序分析模块与可编程专用集成电路(Application Specific Integrated Circuit, ASIC)不同[2],FPGA的基本元件比较少,如SLICE、I/O、BRAM等模块[2],这些与ASIC类似。但是FPGA有通用互连矩阵(General Routing Matrix,GRM)等比较复杂的互连结构,不同于ASIC中的金属线互连,所以,对FPGA互连资源的建模十分重要。
FPGA静态时序分析引擎(STA Engine)进行STA计算的输入文件有:芯片结构文件库(Arch-Lib),布线后网表(Design),互连资源时序库(Inter-connect Lib),逻辑资源库(LogicLib)和用户定义的约束文件(Constraint)。输出文件有报告文件(Report)、根据时序分析构建的电路网表(SIM_V)和包含延时信息的SDF文件。对不同的FPGA芯片,其基本的软件框架不变,变化的主要是互连资源库、逻辑资源库和芯片结构文件库的内容。对于逻辑资源而言,其延时值相对于输出负载电容和输入信号斜率的变化较小,可以将其延时值设为固定值,以便较容易地进行修改;结构文件库属于软件上游制定的说明性库(SPEC)。对于互连资源而言,其延时值受输出负载电容和输入信号斜率影响较大。对于不同的芯片,其互连资源不同,互连资源的延时信息不同。所以,建立准确的互连资源时序库对提高STA的仿真精度十分重要。
目前,时序库建立方面的文献较少,文献[3-5]集中于STA的实现与使用。文献[6]在建立时序库时采用了均匀仿真输入法,也就是在建库时首先确定一个跳变延时的最大值和最小值,然后在最大值和最小值之间均匀取点进行仿真。……
