可编程逻辑
随着集成威廉希尔官方网站 工艺技术的不断发展,集成威廉希尔官方网站 的特征设计尺寸进入到深亚微米,芯片规模扩大到百万门级,从计算量、后端布局布线(placement&routing,P&R)工具、内存占用、运行时间、设计时序收敛性等方面考虑,扁平化的后端实现方式已变得难以承受,近年来,层次化的设计方式被广泛采用,以实现大规模芯片的后端工作。
随着芯片规模的扩大,设计复杂性的提高,设计周期成为广泛关注的问题。设计周期主要取决于4个方面
1.设计步骤
2.各个设计步骤需要重复的次数
3.各个设计步骤的执行时间
4.各步骤之间需要等待的时间
设计周期的缩短需要从这4个方面努力。此外,还有一个能缩短设计周期的因素:可参考设计流程。可参考设计流程定义了设计中必须执行的设计步骤,比如,著名的rugged.script是SIS的参考综合流程。参考设计流程让用户在设计初期就能够快速开始设计,否则设计人员在设计初期需要自行作多种尝试,决定设计流程。
本文首先介绍IBM的专用集成威廉希尔官方网站 (ASIC)设计流程,然后详细介绍层次化模块设计中对子模块进行快速物理设计的可重用设计流程(RLMREDOFLOW),顶层整合时对子模块的优化处理方法,以及该RLM设计流程的优点。
图1描述了IBM的ASIC设计流程。在初始设计阶段,系统工程师、前端逻辑设计工程师和后端物理实现工程师将一起分析设计,进行设计规划,根据逻辑设计和物理特性划分设计层次。层次划分是这一阶段重点要考虑的因素,将影响到综合和布局布线时对子模块边界优化的力度,子模块之间连接关系的复杂程度等。此外,进行层次划分时还要考虑逻辑设计的进度,如果部分子模块的前端逻辑设计比其他子模块早,则可以先完成这部分子模块的物理设计。
图1 IBMASIC设计流程
RLM可重用设计的自动化流程涵盖了从可测性设计(DesignForTest,DFT),物理设计到时序收敛的后端设计的各个方面,使得设计工程师可以通过一个标准化的设计流程来保证后端设计的收敛性和较少的迭代周期。我们根据后端设计中的主要设计节点把整个子模块的后端设计分为9个部分来具体实现。
1)100前端处理
2)200确定物理信息
3)300为时序驱动的布局做准备
4)400时序驱动的布局
5)500 时钟插入&时钟绕线
6)600时钟插入后的LateMode时序收敛
7)700时钟插入后的EarlyMode时序收敛
8)800 详细布线
9)900交付验收
下面具体介绍各个设计步骤。
100前端处理
主要完成RLM内部测试结构的生成,包括插入扫面链,以及测试逻辑,如边界扫描逻辑、存储器件的内建自测试逻辑等。
200确定物理信息
确定RLM的一些主要物理信息,包括RLM的大小、形状、内部的电源网络、内部硬核的摆放、边界上端口的位置。
1)首先定义RLM的大小、形状,以及RLM的绕线资源,这是RLM能够独立于顶层设计往下走的一个起点。往往这些信息的确定是经过多个迭代后的结果,而一旦确定之后在设计后期再要修改会极大的影响设计的可重用性。
2)在给定的RLM资源的基础上进行硬核的预布局(Floorplan)工作。预布局工作可以利用工具自动完成或者采用手工摆放的方式,需要考虑到时序收敛和绕线拥塞,在设计初期会占用很大的设计时间来达到一个较好的预布局结果。
3)根据已做好的预布局结果,对硬核中端口噪声较高的区域进行防噪声处理。
4)分析整个RLM的时钟结构。
5)进行电源设计,一个独立的RLM的电源设计需要在RLM边界上有一个电源环的结构,以此来连接RLM内部和顶层的电源信号。
6)自顶向下的来完成RLM的端口摆放,在后续的设计中可以根据RLM内部设计的需求来进行一些调整。
7)在不考虑线延迟的情况下对RLM的时序进行分析,以确定时序约束的合理性,需要注意的是,要做好RLM边界的时序约束。
300为时序驱动的布局做准备
主要完成RLM端口和内部硬核的相关逻辑的预布局,同时也可以根据设计的具体需求进行其他重要逻辑的预布局。通过前面时钟结构分析的结果,把设计中时钟相关的逻辑确定出来,与时钟相关的设计我们会放在布局之后独立完成。
400时序驱动的布局
基于上一步的输出,对剩下未做布局的部分进行时序驱动的布局。并对完成布局的网表进行时序和物理的检查。
500时钟插入&时钟绕线
根据前面时钟结构分析的结果在做完布局的设计上进行时钟树的插入工作,并进行时钟的绕线。
600时钟插入后的LateMode时序收敛
调用优化工具优化setup,直到setup满足要求
700时钟插入后的EarlyMode时序收敛
调用优化工具优化hold,直到hold满足要求
800详细布线
对所有信号进行布线,并完成物理特性的检查。然后提取寄生参数,以及噪声、耦合信息,进行时序分析,并调用优化工具优化时序。
900交付验收
检查RLM的布局布线、时序、功耗、噪声等,确保RLM的设计满足验收要求,可以交付给顶层进行整合。
从上面的设计流程可以看出,RLM设计和顶层设计的交互主要在200和900这两步。在RLM设计流程开始之前,芯片的顶层设计人员需要确定 RLM的在芯片上的位置、形状(包括尺寸)、端口的位置和约束,可用于RLM布线的最高金属层,以及RLM边界上的时序约束。在RLM设计人员进行RLM 设计的同时,顶层的工作可以并行进行,各个RLM的设计也是可以并行的,并行度的提高大大缩短了设计周期。
HATS(HierarchicalAbstractTimingSignoff)是IBM层次化设计方法学的一部分,仅抽取RLM 的部分信息,用于顶层合成时的时序分析和优化。在RLM中,影响芯片顶层时序的仅仅是输入/输出端口相关的路径。而占绝大部分的时序路径是从寄存器到寄存器的,这部分已经在RLM中已做到时序收敛,整合到顶层时,时序信息不会发生变化,合成时可以不考虑这部分的时序。
HATS的流程如图2所示,在完成RLM设计之后进行时序分析和网表分析,去除RLM内部寄存器到寄存器的路径,以及与此相关的时序约束,抽取 RLM信息,交给顶层使用。抽取的过程如图3所示。
图2HATS处理流程
图3RLM信息的抽取
随着芯片规模的扩大,标准单元和硬核的数量迅速增加,采用传统的设计方法需要占用大量的内存和CPU时间。而采用HATS方法,在保证验收质量的同时,去除了冗余的计算,大大降低了芯片合成所需的内存和CPU时间。表1中示出了一个90nm芯片的设计实例,该芯片中包含一个重复使用了20次的 RLM,采用HATS大量节省了CPU时间和占用的内存。
表1HATS在芯片“P”上的应用
可重用的设计流程是缩短设计周期的关键。本文介绍的RLM快速物理设计方法,其优点归纳起来有以下几点:
1)IBMRLM层次化设计方法具备灵活有效的模块划分技术;
既可针对客户的设计要求进行有针对性的RLM划分,也可以在顶层针对物理设计的需求进行易于物理实现的RLM模块划分,还可以综合考虑客户的设计要求和物理设计的需求进行RLM划分。
2)充分考虑了功耗及噪声对于物理设计方面的影响;
在设计初始阶段就进行完备而合理的电源设计,DECAP插入,确保流片后不会因动态或静态电压降的问题影响芯片的正常工作。
3)充分考虑信号完整性对于芯片设计的影响;
对于关键的线做屏蔽,比如时钟树,确保在验收阶段尽可能准确,减少不必要的冗余迭代。
4)完备的时序验收分析;
在IBMRLM设计流程中既引入多CORNER,统计分析,同时在设计开始阶段就充分考虑了电压降对于时序的影响,尽量避免了在验收阶段由于时序问题所产生的迭代,并进一步确保流片后芯片在时序上的功能与设计阶段分析的一致性。
5)充分考虑RLM集成在顶层的边界问题;
对于接口处进行了合理设计确保顶层集成时易于实现;
6)该设计方法具有很好的灵活性;
允许不同的工程师针对不同的RLM并行工作,而又可以共享利用统一的设计脚本,同时不影响顶层的并行评估。
7)设计方法易于更新和共享;
不同的工程师可以根据实际设计需要更新设计脚本同时共享给其他设计者。
8)易于集成;
设计完成的RLM,可以抽取信息便于顶层集成快速进行物理设计以及时序、信号完整性、功耗等方面的分析,同时在顶层验收分析时可以绕开RLM内部路径,直接打平RLM,进行扁平化分析。
9)易于迭代;
当工程师对一个RLM根据该方法进行一次评估后,确定设计需要的脚本,之后可以根据客户更新的ECO网表重新调用以前的预布局,电源等信息进行快速的再评估,减少了交付市场的时间。
对于大规模的系统设计,层次化的设计策略是业界的方向,特别是规模庞大的系统采用层次化的设计把一个大的系统分成子模块,对小的子模块设计的收敛时间更容易把握,后端工程师可以并行的处理同一个设计。IBM先进的子模块快速设计流程提高了设计过程的可重用性,缩短了设计周期。
全部0条评论
快来发表一下你的评论吧 !