数字后端面试必备-修订编选

上传人:l****6 文档编号:149353162 上传时间:2020-10-26 格式:PDF 页数:60 大小:1.18MB
返回 下载 相关 举报
数字后端面试必备-修订编选_第1页
第1页 / 共60页
数字后端面试必备-修订编选_第2页
第2页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数字后端面试必备-修订编选》由会员分享,可在线阅读,更多相关《数字后端面试必备-修订编选(60页珍藏版)》请在金锄头文库上搜索。

1、以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些 不算真正的问题。 Discuss about the projects worked in the previous company. 介绍一下你在公司里做过的项目 What are physical design flows, various activities you are involved? 介绍一下你们的后端流程(假设是从 gate level netlist 开始的) ,你负责哪一部分? Design complexity, capacity, frequency, process technolo

2、gies, block size you handled. 芯片的工艺,面积,standard cell 的 gate count,FF 的个数,memory macro 的个数,时钟频 率,时钟个数,是 hierarchy 还是 flatten flow, 如果是 flatten flow,分成几个 block 下面是第一个真正的问题:下面是第一个真正的问题: 1、 Why power stripes routed in the top metal layers? 为什么电源走线选用最上面的金属层?为什么电源走线选用最上面的金属层? 难度:难度:1 难度指数: 1:常识-无论是否有工作经验,

3、都应该准确回答 2:简单-只要做过一点后端的设计,就应该明白 3:一般-有实际工作经验一年左右,做过 2 个以上真正的设计,应该可以答上来 4:较难-在这个特定的领域有较多的研究,并积累了一定的经验 5:很难-基本上是专家级的牛人了! 答案: 1)高金属层的 IR 比较小,EM 能力大 2)底层被 IP,标准单元用的机会更大 2、Why do you use alternate routing approach HVH/VHV (Horizontal-Vertical-Horizontal/ Vertical-Horizontal-Vertical)? 为什么要使用横竖交替的走线方式? (感觉

4、这个问题比较弱智,但是号称是 intel 的面试问 题,晕!我憧憬和向往的圣地啊! ! ! ) 难度:1 答案: 最有效地利用走线资源 3、How to fix x-talk violation? 如何解决线间干扰? 难度:4 (关于难度的定义,在第一题里面) (应该至少有 5 大类解决办法,wire spacing, shielding, change layer 之类的只算其中 1 类) 答案: 1)upsize victim net driver, downsize aggressor net driver 2)increase wire space, shielding, change

5、 layer,change wire width 3)insert butter in victim net 能答出以上 3 条的,在工作中已经基本够用,但是还有两个不常用到的,是 AMD 的一个大 牛告诉我的。 4)把与 victim net 相连的输入端改成 Hi-Vth 的单元 5)改变信号的 timing window。这个不易做到,但是也是解决方法 4、What are several factors to improve propagation delay of standard cell? 哪些因素可以影响标准单元的延迟? 难度:3 答案: 1) PVT 2)input tran

6、sition, output load 3)Vth 5、What would you do in order to not use certain cells from the library? 如何禁止使用库里面的某些单元? 难度:1 答案: set_dont_use set_dont_touch 6、During the synthesis, what type of wire load model are often used? 做 RTL 综合时,经常使用的 wire load model 有哪几种? 难度:2 注意:问题是注意:问题是 wire load model,不是,不是 wi

7、re load mode,也不是,也不是 delay model 答案: 1)zero wire load model 2)基于 fanout 的传统 WLM 3)基于物理位置(距离)的 wire load model,在 Cadence 的 RC 中叫 PLE,Synopsys 叫 DC Ultra Topographical 附加问题: What types of delay model are used in digital design? (数字 IC 设计中有多少种类型的 delay model) 答案: NLDM CCS ECSM 还有一个现在基本不用了的LDM 7、How del

8、ays are characterized using WLM (Wire Load Model)? 使用一般的 WLM (不是 zero WLM, 也不是按照物理位置算的 DCT) , DC 是如何计算 delay 的? 难度:2 答案: DC 在计算延时的时候,net 的 rc 就要根据所选取的 wrie load model 来计算, 计算时和输出的 fanout 决定 以 smic13 的 smic13_wl10 为例 wire_load(smic13_wl10) resistance : 8.5e-8; capacitance : 1.5e-4; area : 0.7; slope

9、: 66.667; fanout_length (1,66.667); 根据 fanout 值,由 fanout(1,66.667)可以得出互连线长度为 66.667,然后根据 resistance 和 capacitance 计算出互连线电容为 1.5e-4*66.667,互连线电阻为 8.5e-8*66.667 ,当然如果扇出值表中没有,就会用到 slope,例如扇出为 3 时,此时估算的互连线长度为 1*66.667+(3-1)*slope,再计算出 RC 值,然后 DC 由此计算 net 的延时。 8、There are source clock clka (create_clock)

10、, and generated clock clkb by clka. In pre-CTS netlist, there is network latency in clka, how this latency propagates to clkb? In post-CTS netlist, What you need to do for this network latency? 假设有两个时钟,原始为 clka,生成的时钟为 clkb, 在没有时钟树的网表中,clka 的 network latency 会自动传递到 clkb 上吗?clkb 的 latency 如 何描述? 在生成时钟

11、树的网表中,如何处理 network latency? clkb 的 latency 又如何描述? 难度:3 答案: 在 pre-CTS 时,clka 的 network latency 会自动传到 clkb 上 在 post-CTS 时,可以把 network latency 去掉,通过 set_propagated_clock 命令,让工具根据 clock tree 去计算实际的 clock network latency 9、There are source clock clka (create_clock), and generated clock clkb by clka. how

12、do you specify them in CTS spec file? Assume there is real timing path between clka and clkb. clkb 是 clka 的生成时钟,在 CTS 的 spec 文件中如何定义这两个时钟?假设 clka 和 clkb 之 间的 FF 有时序收敛的要求。 难度:3 答案: 在 CTS 的 spec 文件中定义 clka 是 root, clkb 为 through pin, 再加上那些应该有的 skew, transition,insertion delay 等就好了,其它的事 CTS 会给你做 10、ass

13、ume in pre-CTS SDC, clock uncertainty for setup contains pll jitter + clock tree skew. How do you set clock uncertainty for hold, and how to modify it to post-CTS sdc? 假设在 pre-CTS 的时序约束中, setup 的 clock uncertainty 是由 PLL jitter 和 clock tree skew 两 部分组成,那么 1)pre-CTS 的时序约束中,hold 的 clock uncertainty 是什

14、么? 2)post-CTS 的时序约束中,setup 和 hold 的 clock uncertainty 要做什么样的修改? 难度:2 答案: 1) pre-CTS, setup 的 clock uncertainty = PLL jitter + clock tree skew hold 的 clock uncertainty = clock tree skew 2) post-CTS, setup 的 clock uncertainty = PLL jitter hold 的 clock uncertainty = 0 11、What are various techniques to

15、resolve routing congestion? 请详细解释解决走线阻塞的问题 难度:4 提示: 1) routing congestion 发生在后端,前端一般不太考虑这个问题,需要后端自己去想办法解 决,但是解决的办法不只在后端,也有一些方法需要前端的配合 2) 阻塞有多种情形,要分别讨论,没有一个统一的解决办法。能够把大部分的阻塞情况列 举出来,就已经够 4 级的水平啦 答案: 1)阻塞在 RAM(macro)之间:可能 RAM 之间的距离没有计算正确,可以加大 RAM 之 间的间距;扭转 RAM 的方向,使得 RAM 的 IO pin 朝向更容易走线的那边;如果是多个 RAM 共

16、用地址或者数据线,尽量把 RAM 的地址数据 pin 对齐 2)阻塞出现在 RAM 和帮助单元交界的地方:在 RAM 周围加一条 halo(keepout) ;把 RAM 放在四周,尽量把中间留下的空间变成方形;在有阻塞的地方加一些由小的 placement blockage 组成的矩阵 3)阻塞出现在标准单元的某一块:也可以加一些由小的 placement blockage 组成的矩阵; module/instance padding;利用 placement guide 减少那块地方的标准单元个数;scan chain reordering 也会改善一些阻塞;定义 density 上限;使用 congestion driven 的 placement,并且 要求 place 之后做 congestion 优化;在综合是禁止使用那些 pin 太多太密集的标准单元(多半 是那些复 杂的组合逻辑单元);请前

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号