数字后端设计问题总结:5道面试题

1.请例出修复由clock skew 造成的f2f setup violation时需要检查什么,并描述你怎么实现skew。

数字后端设计问题总结:5道面试题_第1张图片

数字后端设计问题总结:5道面试题_第2张图片

2.例举修复crosstalk 所有方法

数字后端设计问题总结:5道面试题_第3张图片

3.给你一个10层金属的设计,描述你将设计的典型的电源网络。

如果是block level设计,10层金属留给顶层打power,8-9层为power stripe,一层为power rail为st cell 供电。底层金属由顶层金属通过层层打孔进行电源供给。若是先进工艺power stripe 可以通过打孔直接连接macro内部PG pin为其供电,若非先进工艺,也可以在macro四周设置power ring 为其供电。

4.

5.请描述你如何初始化和建立一个还没有做floorplan的block。请说明如何量化和验证你的工作。

1.导入文件:网表,lib,Techlef,lef,mmmc,qrc,sdc等

2.读入det文件初始化block的尺寸(如果顶层没给可以需要自己根据要求定义)

3.建立row和track (如果需要的话)

4.摆放macro:根据准则和要求摆放并调整布局,比如出pin方向,macro之间的位置,channel,预留的st cell 摆放区为正方形等。如果需要微调macro,让macro pin在相应track上

6.建立 voltage areas
7. place ports:
8.建立 keepout margin around hard macros

9.create placement blockages  :macro 的channel里

10.插入boundary cell 和 tap cell

11.电源规划:定义逻辑连接,建立via规则,创建power stripe, power rail等步骤

量化和验证

导入文件之后需要check netlist,检查时钟周期是否符合SPEC;检查log中是否有ERROR;

lib缺失,constraint定义问题等

floorplan 之后:总的来说就是,各个模块cell的分布符合data flow,  congestion map 和cell density适度, drc相对clean。

检查memory摆放的方向是否正确(poly方向需要和标准单元,memory的poly方向一致)

检查powerplan是否存在pg floating:

verifyConnectivity -noAntenna -noSoftPGConnect -noUnroutedNet -error 1000000 -net VDD

verifyConnectivity -noAntenna -noSoftPGConnect -noUnroutedNet -error 1000000 -net VSS

检查powerplan是否存在short和open:verify_PG_short -no_routing_blkg

检查floorplan&powerplan是否有drc violation:verify_drc -limit 10000

最好的办法就是先简单处理后在calibre里跑一遍,检查drc;

根据目前的drc进行floorplan阶段的迭代优化,可能到place_opt由于时序问题仍要返回优化迭代。

你可能感兴趣的:(学习)