深亚微米SoC晶体管级静态时序分析与建模_第1页
深亚微米SoC晶体管级静态时序分析与建模_第2页
深亚微米SoC晶体管级静态时序分析与建模_第3页
深亚微米SoC晶体管级静态时序分析与建模_第4页
深亚微米SoC晶体管级静态时序分析与建模_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——深亚微米SoC晶体管级静态时序分析与建模深亚微米SoC晶体管级静态时序分析与建模

唐培松

叶晨pstang@国家高性能集成电路(上海)设计中心

NationalHighPerformanceIC(Shanghai)DesignCenter

ABSTRACT

Withthesteadyadvanceofintegratedcircuitchiptechnologytoever-smallerfeatures,ever-morecomplexdesign,ever-largerchiparea,andever-higheroperatingfrequencies,StatictiminganalysisofSoCfacesmanynewchallenges.Inthispaper,thecharacteristicofNanoTimewasintroducedinbrief,andtheanalysisprecisionofseveralstatictiminganalysistoolswascomparedwithHSPICEindetail.TheadvantageofNanoTimewasprovidedaccordingtotheapplicationofNanoTimeinaprojectofSoC.Finally,thispapergaveabriefintroductiononthequestionsandcorrespondingsolutionsintheprocessoftiminganalysisofSoC.

KeywordsPathMill,NanoTime,PrimeTime,HSPICE,SoC,STA,P&R,hierarchy

摘要

摘要:随着芯片的制造工艺进入到深亚微米,SoC的设计日趋繁杂、规模急剧膨胀、频率快速提升,这些因素都给芯片的静态时序分析带来前所未有的压力和挑战。本文简要介绍了NanoTime的特点并对当前主流静态时序分析工具与HSPICE的仿真精度作了对比,结合目前设计的SoC芯片全面介绍了NanoTime的应用流程及其优势,同时对遇到的问题及其解决方案做了说明。

1.0概述

随着集成电路的制造工艺发展到90nm以及65nm,纳米级效应对时序的影响越来越显著。特别是对于定制数字规律,确切评估这些效应并分析出确凿的时序信息显得尤为重要。对定制数字规律的传统分析方式是SPICE/FastSPICE仿真分析,但SPICE/FastSPICE需要大量的仿真鼓舞以及长时间的仿真运行。而随着现在规律规模和设计繁杂性的急剧增长,加上SPICE/FastSPICE动态仿真分析覆盖率较低的弱点,都会导致芯片良率的降低和开发周期的延长,寻求并推出新的分析方法显得尤为必要。

现代集成电路设计中,对某些特别规律来说,完全定制流程会比寻常的P&R流程可以获得更优时序和更小面积的回报。这对于我们目前设计的对性能、功耗、面积要求都比较高的SoC芯片来说特别如此。另一方面,由于芯片的规模十分大,在选择设计流程的sign-off标准时都必需考虑服务器的运行时间和耦合噪声可能带来的影响。在之前的开发流程中,我们选择了PathMill作为时序分析工具。PathMill作为上一代标准的晶体管级的静态时序分析工具,很好满足了我们90nm工艺之前的芯片设计静态时序分析的需求。但是对于目前我们采用的65nm工艺的芯片来说,PathMill已经不能适应新工艺的要求,并且缺乏我们目前需要的分析噪声可能带来的潜在影响的能力,NanoTime的推出很好地弥补了这个需求。

1.1NanoTime简介

NanoTime是PathMill面向90nm以及更高工艺水平的新一代替代工具。作为针对晶体管级电路的业内标准的静态时序分析工具,相比PathMill,NanoTime可以提供更高的精度、性能以及易用性,可以应对日益增

长的设计繁杂性、RC互连影响、低电压和低功耗设计的需求,并致力于解决90nm及更高工艺带来的挑战。作为PathMill的替代工具,NanoTime继承了PathMill的优点,但是在工具的使用方式上更类似于PrimeTime。NanoTime使用完全交互的shell环境,并且可以和PrimeTime进行SDC(SynopsysDesignConstraints)命令共享。这使得有过PathMill和PrimeTime使用经验的工程师能快速地把握NanoTime的使用方式。

尽管NanoTime和PathMill有着相像的功能,但是它们之间也有着显著的区别,主要表达在以下几个方面:l能自动识别出更多更新的电路拓扑结构。l时钟的定义更加灵活,同时支持多种时钟定义。l对于未能正确识别的拓扑结构,提供更丰富的配置命令。l配置命令更加灵活,特别适合一些独特的电路结构。

l可以识别更多类型的动态电路以及门控时钟规律,并支持多时钟动态电路的分析。

l提供更多路径探寻时用户可控制的选项,譬如:只搜寻以某个点为终点的路径,或者只搜寻时钟路径而不管数据路径。

l时序检查基于pin,而不是net。基于pin的时序检查精度更高,由于用户可以在指定的pin上定义时序检查而不是在一条net上最差的任意pin上。

l产生.lib或者.db格式的静态时序模型,和其它时序分析工具有更好的兼容性;产生的时序模型不只携带了输入到输出的延迟信息,而且还携带了PathMill模型(.modeldb)中不包含的cap信息。

1.2NanoTime基本分析流程

NanoTime分析流程包含五个的阶段(phase),每个阶段都以一个命令作为终止,该命令报告该阶段正确完成或者执行错误。所有的阶段都必需以特定的顺序完成,每一个阶段都必需成功终止才能进入下一个阶段。

NanoTime的基本分析流程如图1.1所示:

图1.1NanoTime基本时序分析流程

Netlist阶段:设置搜寻路径和链接路径,使用register_netlist命令读入网表文件。在该阶段使用link_design命令读入设计数据并作为该阶段的终止。

Clockpropagationandtopologyrecognition阶段:在该阶段需要指定时钟类型以及任何NanoTime不能自动识别的拓扑结构。该阶段以check_topology命令终止,该命令对定义的时钟信号进行传播并识别电路包含的拓扑结构。

Timingconstraintspecification阶段:在该阶段需要指定输入/输出时序约束、时序期望、运行条件以及读入寄生参数数据。该阶段以check_design命令终止,该命令检查时序的要求和一致性。

Pathtracingandsimulation阶段:在该阶段,trace_paths命令用来运行正常的时序分析,extract_model命令用来创立时序模型,characterize_context命令用来提取设计的特征内容。

Analysisreporting阶段:NanoTime在该阶段报告时序分析的结果,用户可以使用report_paths/report_constraint等命令产生结果报告文件。

1.3和HSPICE以及PrimeTime的仿真精度对比

在早期试用NanoTime的过程中,为了验证其仿真精度,我们搭建了一个简单的14级BUFFER串联的仿真电路,如图1.2所示。

图1.214级BUFFER串联电路示意图

在Chartered65nmTT工艺条件下,我们分别采用HSPICE/PrimeTime/NanoTime三种分析工具对该电路进行了仿真分析,其中NanoTime分析分别采取了晶体管级分析和门级分析两种方式,分析结果见表1。PathDelay

HSPICE

PrimeTim

e

Gatelevel

FàF(ps)RàR(ps)

292268

334304

326293

Transistorlevel

319285

NanoTime

表1HSPICE/PrimeTime/NanoTime仿真分析精度对比

由表1中的对比分析可以得出以下两点结论:

lNanoTime工具的晶体管级分析比门级仿真分析更接近HSPICE的结果;

l无论是门级还是晶体管级分析的结果,NanoTime的分析结果都要比PrimeTime的分析结果更加接近SPICE的结果;

在实际的电路对比仿真过程中,NanoTime的分析运行时间要比PrimeTime的分析运行时间稍长,但是无论是PrimeTime还是NanoTime,分析运行的时间都远远小于HSPICE仿真运行时间。

2.0NanoTime在SoC时序分析中的应用

2.1SoC的设计与分析概述

在我们的SoC芯片中,从时序分析的角度来看,主要包含了三大类规律:定制与综合规律、存储器阵列、IP模块。对于这三种类型的规律,我们采用了不同的时序分析方法。定制与综合规律是SoC中应用最广泛的,主要使用NanoTime进行时序分析并建模。存储器阵列采用HSPICE仿真并在确保时序满足要求后创立时序模型。在最终的SoC级全局时序分析时采用NanoTime进行层次化的分析,并将该分析结果作为最终的时序sign-off标准。

图2.1概括地显示了SoC的设计及时序分析的流程。在整个分析流程中,定制和综合规律执行的是纯粹的NanoTime的时序分析,包括pre/post-layout两个主要的分析阶段,并进行正常的时序分析和NanoTimeSI的分析。而对于存储器阵列这类不适合进行NanoTime分析的模块,我们采用的是FastSPICE/SPICE仿真分析,并在确保时序结果满足要求的状况下创立时序模型。

图2.1SoC设计分析流程示意图

在进行SoC全局级时序分析时,虽然PrimeTime在运行时间上有较大的优势,但基于NanoTime分析精度更高的考虑,我们依旧采用了NanoTime而不是PrimeTime进行分析。在全局分析时,底层的模块经过不同方式的时序分析,满足时序要求后被创立成同一格式的时序模型(.db),最终连同IP的时序模型一起提交到顶层进行NanoTime或者NanoTimeSI的层次化分析。

2.2NanoTime的应用流程

在NanoTime分析实际应用时,考虑到我们的SoC项目设计涉及到多个部门和众多设计人员的联合开发,为保证在NanoTime的分析过程保持一致的设置和检查标准,我们对NanoTime分析进行了流程化开发。对NanoTime的流程化开发工作基于对各种时序分析需求的深入了解,并建立在对大量库单元进行电路实

验并配置的基础上的。在流程开发的早期,对SoC设计所使用的各种类型的库单元进行电路识别试验。对大部分NanoTime能自动识别的拓扑结构,并不需要配置命令,但我们在试验中也发现,NanoTime不能自动识别DFF结构,这就需要我们使用mark_*类的命令帮助NanoTime进行识别。同时,在我们的设计中还存在着好多定制的特别单元,譬如动态电路单元,需要我们进行大量的配置试验以保证NanoTime能正确识别其拓扑结构并进行相应的检查。

除对库单元的进行电路试验配置外,对时钟系统的处理也是NanoTime分析流程化的重点工作。与寻常的自动布局布线的时钟系统不同,为了满足高频率低偏斜时钟信号的要求,我们采用了分级全定制的时钟系统,通过HSPICE仿真给出时钟系统的networklatency、clockskew等指标。在对NanoTime分析流程化时,我们并没有让NanoTime去分析计算时钟系统的真正延迟,而是把整个时钟系统作为一个理想的时钟系统,并设定时钟信号的延时等特性参数进行分析。这样就大大缩短了NanoTime处理时钟系统带来的时间消耗。

在完成电路图设计后,就可以进行前仿(pre-layout)分析,前仿分析结果并不能真正反映最终的时序状况,其价值在于可以在早期发现潜在的时序问题并加以解决,从而可以避免完成幅员后发现严重的时序问题需要推倒重来的状况。在完成幅员设计后,使用Star-RCXT进行RC和晶体管寄生参数的抽取,在我们的分析流程中,寄生参数文件采用的是DSPF格式,NanoTime通过使用read_parasitics命令来读取寄生参数文件并进行反标分析。

在对NanoTime分析进行流程化后,最终会产生一个简单的两步走的分析流程:prent和runnt,其中prent根据所加参数完成相应的分析环境建立和全局变量设置,runnt根据所加参数生成相应的运行脚本后运行NanoTime分析并对报告的进行处理。该流程可以根据不同的参数配置可以大致分为:pre-layout分析,post-layout分析,模块级分析,层次化分析几种分析模式,例如如下:n模块级pre-layout和post-layout分析流程prent–bBlockName[-post]runnt–bBlockName[-post]

n层次化pre-layout和post-layout分析流程prent–bBlockName–mkmodel[-post]runnt–bBlockName–mkmodel[-post]prent–bBlockName–usemodel[-post]runnt–bBlockName–usemodel[-post]

NanoTime分析流程化极大地提高了设计人员的时序分析工作效率,它使得设计人员不必花大量时间熟悉NanoTime分析的运行机制,而只需对常用的配置命令稍加把握,然后输入流程命令并根据具体需要配上相应参数即可十分便捷地进行时序分析。在提供时序分析效率的同时,它也降低了因设计人员对NanoTime理解程度的差异带来的分析结果标准不一致的风险。

2.3动态电路组合分析

NanoTime具备强大的动态电路分析能力,由于我们的SoC芯片内包含了相当数量的动态电路,所以这也是我们选择NanoTime作为SoC芯片主要的时序分析工具的重要原因之一。

图2.2是我们对常见的动态电路组合做的NanoTime时序分析模型,以确保在这种动态电路组合中不会漏报时序检查路径。如图2.2所示,该类动态电路组合的方式是ELATàDynamic(CK)àCATCHàDynamic(NCK)àDFF/ELAT。

图2.2常用动态电路组合时序分析示意图

在完成该动态组合的时序分析后,我把每一种时序检查都在图上作了标示。需要做特别说明的是:对应一致类型的时序检查只标示了其中的一条。通过对照NanoTime使用指南上对多米诺动态电路的分析说明,我们可以确保图2.2所示的动态电路组合的时序检查是完备的。

2.4NanoTimeSI分析

对于90nm工艺及以下的设计而言,噪声是一个不得不考虑的严重问题。而使用HSPICE之类的工具来分析大规模电路中的偶合噪声影响是不现实的。NanoTimeUltra版提供了分析耦合噪声对时序影响的强大功能。在进行NanoTimeSI分析之前,需要在抽取寄生参数文件时保存耦合电容的信息。在进行耦合噪声对信号延时影响的分析时,NanoTime综合评估入侵线和受侵线之间的耦合电容、两者的驱动强度以及相互施加影响的窗口重叠程度等因素,然后经过屡屡的反复迭代分析,保证最终计算出耦合噪声对受侵线的延时影响是最悲观的状况。

我们用一个简单的反相器级联模型进行post-layout分析来说明NanoTimeSI的分析结果。在时序报告中,可以使用report_paths–crosstalk_delta命令报出耦合噪声对每一级路径延时的影响,如图2.3所示:

图2.3NanoTimeSI分析结果例如

在图2.3所示的时序路径报告中,我们可以明显看到:对整条路径来说,NanoTimeSI的分析结果比正常分析多了3ps的时序延时。当然,这只是一个很小的试验例子,而且其幅员中也没有很长的互连线,所以耦

合噪声对该时序路径的影响相对比较小。但是在我们正常的时序分析中,对于规模大的模块,耦合噪声的影响会急剧增大。

在进行NanoTimeSI分析时,分析运行的时间并不会比正常的时序分析增加好多。和增加的运行时间相比,基于NanoTimeSI的分析结果而进行的风险评估无疑将会在产品的良率方面带来相当可观的收益。

2.5常见的问题及解决方案

我们使用NanoTime经历了多个芯片的时序分析,在日常使用的过程,也遇到了大量的问题,以下举出一些问题和解决经验和大家共享。1)对模块的分析时间过长

随着电路规模的越来越大,我们经常遇到一些繁杂的模块在进行NanoTime时序分析时运行时间长得不可接受。遇到这种状况,首先检查是否模块的规模过大,假使规模过大请考虑进行层次化的建模分析。假使模块的规模比较适中,请检查模块内的时钟信号数量和时钟类型是否过多。在NanoTime进行时序分析时,会对每一条时钟的路径进行探寻分析,模块内时钟信号过多会导致时序分析运行时间急剧增加。

总的来说,为了将NanoTime运行分析的时间保持在合理的范围内,我们建议对规模过大的模块进行拆分,并进行层次化的建模分析。同时应尽量减少时钟信号种类和数量,假使存在多个时钟器件并联驱动时钟信号的状况,建议通过配置命令只保存一条时钟通路上,这样既不影响路径搜寻的完备性,也可以使得运行分析的时间大大缩短。

2)如何合理地进行层次化分析

众所周知,层次化时序分析能带来分析速度上的收益,但是也会带来分析精度上的损失。根据我们的经验,层次化分析带来的精度损失大约在5%左右。所以,如何进行合理的层次化时序分析是我们每个芯片进行分析前就要考虑的问题。

时序分析层次化的划分需要考虑以下几个主要因素:芯片的架构及设计人员分工,服务器的运算能力,各个层次设计的并行度。只有综合考虑这些因素,制定出合理的分析层次,才能取得分析时间和分析精度上折中平衡,才能保证整个芯片各个层次时序分析的顺利进行,才能使得时序分析在整个芯片设计过程起到推动作用而不是牵制作用。

3)如何处理芯片的多种模式时序分析

现在的芯片往往都存在多种运行模块,在芯片的时序分析中,往往要求对每一种运行模式都要时序的评估和分析。以最常见的例子来说,一般的芯片中都会存在正常运行模式和扫描测试模式。在芯片中,这两种电路规律寻常会有相当大部分相互交叠的状况,譬如共用时钟信号通路和时序器件等等。寻常状况下扫描测试电路的频率都比较低,这样对扫描测试规律的时序分析检查标准也比较低。虽然也可以使用Nano

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论