片上系统芯片设计与静态时序分析
在集成电路设计技术已进入第四代的今天,一个电子系统或分系统可以完全集成在一个芯片之上,即系统芯片(SOC)集成。随着设计规模增大、电路性能的提高和设计的复杂度大大增加,相应地,对设计方法学提出了更高的要求。
传统的芯片设计中,只考虑了门本身的延迟,互连引起的延迟忽略不计,也正因如此,传统的设计流程可分为逻辑设计与物理实现两个相互独立阶段,芯片的设计考虑较简单。随着晶体管尺寸的降低,门的速度越来越快,限制电路性能提高的主要因素不再是开关速度,而是互连延迟。时钟频率越高,互连线作为扇出负载引起的延迟在整个时序预算中所占的比例越大。深亚微米设计范围中互连延迟占总延迟的60%~70%,因此精确地计算这部分延迟在芯片设计中是十分重要的。同时高性能电路使得所有时序的容差都非常小,也对精确定位电路各部分的延迟模型提出了更高的要求。另一方面,由于EDA(电子设计自动化)工具实现过程中互连延迟信息只有在物理实现后才能得到,而在深亚微米芯片设计中,只有用实际的布图拓扑信息约束逻辑设计,才能得到准确的时序。因此,为了提高芯片的设计效率,缩短设计周期,片上系统芯片设计(往往采用深亚微米工艺)必须克服传统设计方法中前端设计和后端设计相互分离的弊病。
另外,由于以往流行的动态时序验证是在验证功能的同时验证时序,需要输入向量作为激励。随着规模增大,所需要的向量数量以指数增长,验证所需时间占到整个设计周期的50%,且这种方法难以保证足够的覆盖率,因而对片上系统芯片设计已成为设计流程的瓶颈,所以必须有更有效的时序验证技术取代之。
2 片上系统芯片的设计流程
片上系统集成中越来越多地采用DSP或CPU核的设计方法,得到了世界各国EDA专家、学者的高度重视。SOC的设计涉及到算法、软件和硬件三方面问题。软硬件协同设计技术允许在设计早期进行软件和硬件的测试,及早地发现设计问题,因而成为当前的研究热点。但在系统层次上的软硬件协同设计方法仍有待于进一步深入研究。因为按现有的一般软硬件协同设计方法,在确定系统结构并完成软硬件的划分之后,用行为模型、RTL级硬件语言描述和数据通道合成的方法来完成硬件设计,用手工汇编和编译器来实现软件,系统重要参数则通过对该软硬件划分的协同模拟获得。因此系统结构的确定十分关键,但由于系统模型的多样性,人们不可能穷尽所有可能情况,也无法在系统级建立一个良好的模型设计策略。这样,较低层次的软硬件优化结果就难以保证完全符合整个系统优化的目标。对于高层次的自动化综合,一般自动化工具所采用的方法是首先根据系统的功能说明建立一个控制数据流图,然后通过调度和定位得到一条合适的数据路径。对于操作数量较低,芯片上功能单元较少的系统来说,该方法比较有效。但是对于诸如MPEG编码器的系统芯片,由于其操作量十分巨大,片上功能单元可能有数十个,在如此之多的操作和单元之间进行硬件的调度与映射,根本不可能利用完全自动化的方法实现,此外,在自动化验证流程中,软件的仿真时间也很长。因此,对复杂度较高的片上系统设计必须在更高抽象层次上开发软硬件协同设计策略。
片上系统在EDA工具上的实现流程也相应地变得更复杂了。随着特征尺寸的缩小,器件本身延迟不断减少(0.1um CMOS电路,典型门延迟为11.8ps)。同时,由于每单位长度的互连线电阻随着特征尺寸的缩小而不断变大,因此由互连线电阻和线电容引起的线延迟不断变大,在0.35um以下时,互连延迟甚至可达信号延迟的90%。因此,对于片上系统芯片在EDA工具上实现时,进行前端设计的同时必须考虑布图后互连的影响。
3 静态时序分析
仿真技术是ASIC设计过程中应用最多的验证手段,然而,现在的单片集成系统设计正在将仿真时间推向无法容忍的极限。在最后的门级仿真阶段,针对的是几十乃至几百万门的电路,对仿真器第一位的要求是速度和容量,因此,性能(仿真速度)和容量(能够仿真的设计规模)是验证中的关键因素,而此时仿真器还必须支持SDF返标和时序检查以确保验证的精度。
传统上采用逻辑仿真器验证功能时序,即在验证功能的同时验证时序,它以逻辑模拟方式运行,需要输入向量作为激励。随着规模增大,所需要的向量数量以指数增长,验证所需时间占到整个设计周期的50%,而最大的问题是难以保证足够的覆盖率。鉴于此,这种方法已经越来越少地用于时序验证,取而代之的是静态时序分析技术。
静态时序分析技术是一种穷尽分析方法,用以衡量电路性能。它提取整个电路的所有时序路径,通过计算信号沿在路径上的延迟传播找出违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求,而它们又分别通过对最大路径延迟和最小路径延迟的分析得到。静态时序分析的方法不依赖于激励,且可以穷尽所有路径,运行速度很快,占用内存很少。它完全克服了动态时序验证的缺陷,适合进行超大规模的片上系统电路的验证,可以节省多达20%的设计时间。因此,静态时序分析器在功能和性能上满足了全片分析的目的。支持片上系统设计,即它为很快满足设计时序要求取得了突破,能提供百万门级设计所要求的性能,并在一个合理的时间内分析设计,而且它带有先进的时序分析技术和可视化的特性,用于全芯片验证。
- 基于Linux的SoPC应用系统设计(04-23)
- 片上系统(SOC)的设计流程及其集成开发环境(10-01)
- 基于32位RISC架构的SoC系统设计与验证(11-08)
- 利用FPGA现小型声纳的片上系统集成(06-06)
- IP核互连策略及规范(06-06)
- Cortex-M3可编程片上系统原理及应用(06-04)