资讯详情

PR各阶段的要求

文章目录

#PR ##1.Floorplan:

Floorplan是后端实现的基础,对后续流程影响最大,必须综合考虑。SoC顶层的Floorplan涉及面广杂,说明更通用。至于模块级或者。IP级,可以在SoC删除一些级别。

各方面的因素如下:

芯片的形状和尺寸。三大芯片指标的评价PPA里的A(Area)最后体现在这里。在一定的工艺参数条件下,A成本越低,竞争力越强。对于TSMC来说(有的Foundry对曝光利用率没有强制性要求),仅A是不够的,具体的长度和宽度也会影响成本——所谓MFU。过低的MFU会额外收费,很高MFU会有额外的奖励;

板级芯片的互联。支持显示屏、存储、电源管理、晶体等的方向决定了相关方向IO放置,然后影响Floorplan;

芯片有多少电源输入,是否需要单独关闭。属于同一电源的模块应尽可能集中在一起,以便于包装布线和电源网络设计;

包装的具体要求。PAD开口尺寸通常有明确的要求,其基板的过孔尺寸也会导致一定的位置不能打开PAD口。类似于存储接口。IO位置密集,需要仔细考虑如何同时满足信号质量和供电要求,方便封装布线;

进入先进的深亚微米工艺后(40nm以下),对许多指标的过程有非常详细的要求,如Poly direction等。会导致这些需求IP方向性概念出现了:买的IP是NS的?还是EW的?还是放在角落里?这将涉及项目规划和项目规划IP采购,比如NS类型的IP只能放在上下两边,不能旋转后放在左右两边;

IO的选型也是Floorplan的一部分,in-line / stagger模式应根据芯片的实际情况确定,是否支持CUP要看工艺和IO库。选定IO库后还会涉及驱动能力。一般来说,外部输出的管脚对此很敏感,需要使用SSO对于某一组功能,评估指标是否带动外部电路IO添加多少PG IO需要计算和评估,还涉及到ESD等,也要在Floorplan阶段规划好;

在Floorplan阶段还应结合工艺提供的可用金属层和IR signoff具体规划标准PG网络设计。主干网一般采用高层金属厚度大、电阻小、低层金属PG会影响signal routing,仔细计算评估strap width / spacing等,横竖strap过孔会导致潜在的routing congestion,还要仔细评估如何添加。其他包括是否有要求back-bias?SRAM或IP是否有额外的供电网络要求等;

模块的partition以及模块间的channel设计,也是Floorplan需要注意的问题。在规划时,应充分考虑每个模块的特性,以及是否timing难收敛?是否routing难度大?将不同的模块规划成不同的形状可能有助于利用顶层空间来节省面积。Channel避免复杂的逻辑,防止复杂的逻辑routing congestion。

还有很多细节,特定的IP对周围环境的要求(如PLL放在尽可能远离干扰的角落附近),几组IO是做成Ring?还是形成孤岛?SRAM朝哪个方向摆?MTCMOS摆成什么pattern,如何连接?如何使用?placement / routing blockage引导工具做出自己想要的结果?

多次迭代检查后续过程中是否存在问题Floorplan及时调整;

Floorplan作为一个基础,它直接决定了后续工作的高度。Floorplan对外符合系统要求,不会给系统设计造成额外麻烦,对内不会造成意外timing问题和routing问题。坏的Floorplan内外都会浪费更多的资源,比如走线层数,run time、功耗等。

评价机制上,首先要满足外部系统要求和内部各类IP、方位、PAD分布、间距、Pattern等。在此基础上,可以比较不同版本Floorplan在timing result、power、total net length等等。好的符合数据流Floorplan会带来好的timing / routability / power结果。

#2.Placement:

除了Floorplan除了阶段和物理检查阶段,PPA这三个目标将在每个阶段定量出现,成为每个阶段的目标。

Placement要完成的任务是合理地放置逻辑Floorplan在预留的空间中,尽可能少地增加面积和功耗,同时满足时间顺序的要求。一方面,工程师应了解工具的行为和方法,另一方面,工程师应了解待处理的对象和可用材料。

工具的行为方法可以从操作开始log如果你看到一部分,你也可以咨询EDA AE。现在深亚微米的工艺越来越复杂,EDA工程师选择的开关选项也很多,不同的开关会导致完全不同的结果。

待处理的对象是设计本身,是timing critial(如高性能CPU)还是routing critical(例如CEVA DSP core)?还包括使用library,不同的library cell时间顺序和绕组的性能完全不同,需要一定的时间来指导工具在不同的场景中选择不同的单元。

例如,让工具尽可能均匀地传播逻辑,或者尽可能地集成相关的逻辑timing / routability结果会完全不同。CPU实现和DSP在实现方面,需要不同的开关组合。不同单元pin density因此,差别很大dont use cell list等等也需要考虑。

Placement问题通常表现在timing差,或差congestion map。debug具体问题要具体分析,如观察timing path、各hier module看有没有分布,看有没有Floorplan工具设置不合理或不合理。

评价Placement通常看几点:

由于完成了一些,可以考虑逻辑门数的增量HFN的fixing以及一些逻辑优化,面积会略有增加,是否考虑具体合理的增加和综合Floorplan也有关系;

看timing result,各timing group的setup time不要太大violation;

检查congestion map,确认placement legalization之后,没有出现high congestion的点等。

#3.CTS:

或者先看目标,传统CTS来说,工程师需要尽可能的把时钟源头产生的时钟,在同一时刻传递给全部的FF(useful skew点除外)。当然,事实上,我们不能同时达到一切FF,所以有最基本的latency / skew的概念。首先CTS目标是追求尽可能小的目标skew,过大的skew会导致后续setup/hold难以收敛;二是追求尽可能小的东西latency,这将会通过OCV影响timing还会影响功耗。此外,还需要考虑一些额外的指标,如上升和下降的平衡。通常,工程师应选择一些特定的门电路CTS,另一个例子是时钟脉宽CPU对设计有严格的要求CTS此外,考虑到战略也有影响SI什么样的问题?spacing,要不要加额外的shield routing还需要考虑。

同样的,凡是用到工具的地方,都需要理解工具的行为,从log我们可以看到工具是如何长大的clock tree是的,从根节点到leaf看节点,还是从leaf向根推节点?哪些指标能显著影响工具的运行结果?还要了解设计,通常SRAM、hard macro可能导致等tree意外变长,可以重点关注。

CTS如果结果不够好,需要分析哪个时钟出了问题(通常设计中会有很多时钟,尤其是考虑到功能模式和测试模式后)。CTS为了比较前后不同阶段的不同,可以考虑一种方法tree性能。有时也需要和Designer讨论时钟的定义是否仍有优化的空间。

评价CTS的结果,除了latency / skew此外,功耗也是一个重要因素clock network它将占全芯片功耗的很大一部分。另外,如果common path过短可能导致后续timing fix难度大,需要检查不同的分支。clock是否尽可能多地使用?common path。面积增量也是检查的方向。面积增加过大可能意味着相对较差CTS结果。

#4.Route:

仍然需要了解工具和过程。不同金属层的厚度和电阻率不同PVT corner下会对timing带来完全不同的影响。

Route阶段优化阶段工具的范围不是很大,很多结果都是前期的Floorplan / Placement / CTS所决定,因此顺序上越靠前的步骤越应该多优化。

Double pattern的出现导致routing engine需要升级,合理使用引导工具double pattern CAD layer。除了完成基础的所有连接外,从DFM从这个角度来看,过孔的可靠性需要额外的优化,因此double via ratio的概念。实际routing完成后,工具可以看到真实的SI效应,因此iming结果需要根据实际情况进一步进行优化。

Route阶段不应该出现大的congestion意外,如果发现要仔细分析与Floorplan / Placement等阶段到底有何不同。理论上congestion map在各步骤之间应该是连续可控的。如果发现Route有问题,包括DRC / short / open等,需要检查是否有充足的资源用于route,是否出现局部routing过于拥塞,是否与PG或Clock net相关等,以便进行局部微调,或者调整Floorplan等。

Route之后不应该出现大的timing violation和DRC violation。面积增量应该是受控的,否则需要检查约束是否合理(尤其是hold time)。

#5.DRC:

DRC通常被分类为前段和后段,即通常讲的base layer / metal layer。前段DRC要在较早的时间点上确认干净,因其往往与Floorplan相关,如果后期改动时间来不及。

DRC与工艺直接相关,每一代先进工艺都会引进大量的DRC rule,因此需要提前学习设计规则文件,了解Foundry有哪些要求,以便在Floorplan时即有考虑。

先进工艺下的DRC检查,除了基础的宽度、间距这些几何检查外,还混合了ESD、latch-up等连接性和电路检查。这就要求工程师熟悉设计规则的同时,清楚DRC rule file里每个开关选项的具体含义和用法。正确的使用开关组合以及开启相应的完备的检查是DRC signoff正确的前提。

基础的DRC做debug在GUI上显示分析即可很容易,ESD等跟电路结构有关,如果自己不具备分析能力,需要请layout engineer帮忙分析。另外有很多新的DRC rule与电压等信息相关,因此输入信息的准确性也需要反复检查。

评价芯片的DRC结果,首先要划分类型:必须消灭的和可以waive的:

除了一些特定原因引起的DRC可以waive(比如电感或敏感电路周边的density issue,或者designer确认电路本身没问题只是工具的理解有问题)外(也要跟Foundry确认),其他的DRC都要修干净。

再说几句题外话,伟哥的师傅Kimi哥说过,后端实现是“良心活儿”。这实在是一句真理。理论上说,通过了形式验证的后端数据,功能正确性就有了保证;通过了物理验证的后端数据,可生产性就有了保证;再通过timing、IR、SI等方面的signoff check,后端数据的使用正确性也有了保证。然而,作为后端工程师这时候就可以交差了么?显然不是。PPA三项指标,还能不能再做优化一些?能不能少用一层金属一层孔?能不能少用一种Vt的device?电源网络设计还能不能再robust一些?DFM recommendation rule是否能多满足一些?ESD放电路径是否能再增加一些冗余度…

如果有无限多的时间和无限多的资源,理论上可以逼近最完美的那个解。可是在实际项目里,不管是时间还是其他资源,trade-off无处不在,因此,虽然后端实现无法从无到有的增加功能,但好的后端实现能够最大程度上保障芯片的可用性和可靠性。后端实现的“灵魂”,在于在于不断地寻找更优的可能,发自内心的想把芯片做得更强壮更好用,在于今天要比昨天做得更好。

标签: 201微调电阻电阻metal

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台