数字IC后端笔试500题出炉!(附答案)
吾爱 IC 社区
吾爱 IC 社区(52-ic.com)是一个专业交流和分享数字 IC 设计与实现技术与经验的 IC 社区
145 篇原创内容
公众号
新一年的秋招又要到了,为此小编特定编写整理了一份数字 IC 后端笔试 500 题 ,部分内容如下所示。这份文档是以腾讯文档形式共享的,后续会根据需求不断新增题目,到时候各位看到的这份文档也会自动同步更新。
这份文档分带答案 和不带答案两个版本。不带答案的版本是分享给社区的所有读者,而带答案的版本仅供小编知识星球内部成员使用。
对于普通的读者(非社区会员),可以长按识别下方小程序申请文档查看权限并添加小编微信**ic-backend2018,**获取这份数字后端 500 题宝典。
知识星球用户可以长按识别下方小程序申请文档查看权限,并填写社区会员的相关信息(用于身份核实 )。后续知识星球的赠书等福利活动均按这上面的联系地址发货。
知识星球用户还可以点击文章末尾的**“阅读原文”**来获取文档权限。
好了,介绍完数字 IC 后端笔试题获取方法后,我们该进入今天的干货分享主题。
最近小编的知识星球上有人问到初学者经常会问到的一个问题:如何根据 placement 来调整 floorplan? 由于问题的普遍性,今天专门写篇文章来解决大家的困惑。希望今天的内容分享能够对你有所帮助。
对于一些星友提到的问题,如果这类问题具有普遍性,那么有机会成为一个小专题来进行详细阐述。
说实话小编当年读研究生的时候也是一头雾水,想要快速入门数字后端发现也挺困难的。也遇到过与上面这位星友类似的问题。没有人天生就是大佬,天生就懂做数字后端实现的。暂时的小白并不可怕,可怕的是你不思进取,永远是个小白。
至少小编当年是个彻彻底底的小白,如今算是入门了。所以方向,努力都特别重要。当年我们那会哪里有我们这种社区,现在互联网发达,什么信息,资源都有。就像小编的知识星球的资源和干货绝对足以让你从 0 基础入门到精通。所以小编的知识星球欢迎追求进步,喜欢交流的你。
如果方向不对,就很容易让你从入门到放弃 。
如何做 floorplan?
这个星友的问题其实也是不知道如何去做 floorplan,所以才会提出这个问题。关于如何做好 floorplan 可以查看这篇文章。
数字 IC 后端设计实现 floorplan 及 powerplan 规划
【机密】从此没有难做的 floorplan(数字后端设计实现 floorplan 篇)
placement 结果分析
- 模块分布查看
通过 design broswer 来查看 design 中各个 module 的分布情况,并与实际的 data flow 进行比对。如果差距较大,可以通过 bounds 或 region 等方式来调整。这步是要放在第一步做,因为只有模块分布正确了,接下去做的事情才是有意义的,你做出来的东西才有可能做到最好。
真正有经验的工程师是要有这种 sense 的,即摆完 floorplan 就知道预期的模块分布。很多工程师是不是 placement 完后也很少去看模块的分布?是不是只关心 timing? 如果你的回答是肯定的,请在文章末尾点下 “在看” 让小编知道下。
- timing report 查看 (timing path 分析)
模块分布基本上符合设计的 data flow 后,我们应该重点看 place 中的 setup 的 timing 和 timing drc。
在分析 timing 的同时还得关心 physica 的绕线问题,而绕线问题主要体现在 congestion 和 density 两个方面。
一种情况是当前的 placement congestion 比较严重(不论是 local 的还是 global 的),说明后续绕线会存在一定困难。遇到这种情况就需要想办法做进一步调整和优化。
另外一种情况是当前的 placment density 特别高,比如整体 density 高于 90% 或者 local density 高于 95% 的情况。density 高最后不一定有问题,但是它带来的风险是较高的,比如 route 后 timing 和 routing 都比较满意,但是修过几轮 hold 后发现没地方修了,此时你应该怎么办呢?
其实 density 太高是会导致 timing 的 degarte 的,只不过很多时候因 design 的 timing 需求没有那么高,你没在意它的存在而已。所以,如果你比较注重这些细节,那么后期的 signoff 工作你会比较顺利。
- congestion map
数字后端实现时 congestion 比较严重,你 hold 得住吗?
手把手教你如何在 Innovus 中解决 local congestion 问题
- density map
如何根据 place 结果来调整 floorplan?
上面介绍完这些 placment 后应该重点看的事项后,你应该知道如何来分析 placement 结果了。接下来小编将以几个比较常见的案例来进一步剖析如何通过 placement 结果来调整和优化 floorplan。
Case1: marco 摆放不合理
你是否遇到过下面这种情况:来自五湖四海的朋友要与右上角的 macro 进行 talk。如果这类 timing path 的 timing 要求比较高,容易出现 timing 问题。
Sol: 将图中的 macro 摆放在一起。
Case2: Local congestion issue
下图中的红圈处摆放了大量的标准单元,导致这个区域存在比较严重的 congestion。之所以出现这个问题是因为 macro 摆放的不够好,在 macro 之间存在一个比较大的空洞,而这个空洞并没有做特殊的处理。
Sol: 在红圈处添加 soft blockage,避免此区域摆放大量的标准单元
Case3: channel density 引起的 timing 问题
这个案例容易出现在 macro 堆叠的比较多且 channel 的空间预留的比较少的情况。工具在优化 timing 需要插入足够多的标准单元,导致局部区域 density 太高而出现的 “兜圈”。
Sol: channel 空间变大
Case4: module 分布 issue
如果 placement 后的 module 分布如下图所示。其中 Module C 分布比较散,且经分析发现它只与 Module A 有交互。
【思考题】 为何 Module C 会这样分布?
Sol: 通过 bounds 或 region 来解决
什么样的 floorplan 才是一个好的 floorplan?
-
模块分布符合 data flow
-
congestion density 适中
-
timing&drv 符合要求
-
面积有一定裕量(后续 timing signoff 需求)
好了,今天的内容分享就到这里。另外,因为公众号更改推送规则,小编分享的每篇干货不一定能及时推送给各位。为了避免错过精彩内容,请关注星标公众号,点击 “在看”,点赞并分享到朋友圈,让推送算法知道你是社区的老铁,这样就不会错过任何精彩内容了。
如果你想和小编有更进一步的沟通交流的机会,欢迎加入小编知识星球,让我们一起学习成长,共同进步。相信在这里能让你成就一个更完美的自己 。
小编知识星球简介(如果你渴望进步,期望高薪,喜欢交流,欢迎加入 *** *):
在这里,目前已经规划并正着手做的事情:
-
ICC/ICC2 lab 的编写
-
基于 ARM CPU 的后端实现流程
-
利用 ICC 中 CCD(Concurrent Clock Data)实现高性能模块的设计实现
-
基于 ARM 四核 CPU 数字后端 Hierarchical Flow 实现教程
-
时钟树结构分析
-
低功耗设计实现
-
定期将项目中碰到的问题以案例的形式做技术分享
-
基于 90nm 项目案例实现教程(ICC 和 Innovus 配套教程)
-
数字 IC 行业百科全书
吾爱 IC 社区 知识星球星主为公众号” 吾爱 IC 社区” 号主,从事数字 ic 后端设计实现工作近十年,拥有55nm,40nm,28nm,22nm,14nm 等先进工艺节点成功流片经验,成功tapeout 过三十多颗芯片 。
这里是一个数字 IC 设计实现高度垂直细分领域的知识社群,是数字 IC 设计实现领域中最大,最高端的知识交流和分享的社区,这里聚集了无数数字 ic 前端设计,后端实现,模拟 layout 工程师们。
在这里大家可以多建立连接,多交流,多拓展人脉圈,甚至可以组织线下活动。在这里你可以就数字 ic 后端设计实现领域的相关问题进行提问,也可以就职业发展规划问题进行咨询,也可以把困扰你的问题拿出来一起讨论交流。对于提问的问题尽量做到有问必答,如遇到不懂的,也会通过查阅资料或者请教专家来解答问题。在这里鼓励大家积极发表主题,提问,从而促进整个知识社群的良性循环。每个月小编会针对活跃用户进行打赏。
最重要的是在这里,能够借助这个知识社群,短期内实现年薪百万的梦想!不管你信不信,反正已经进来的朋友肯定是相信的!相遇是一种缘分,相识更是一种难能可贵的情分!如若有缘你我一定会相遇相识!知识星球二维码如下,可以扫描或者长按识别二维码进入。目前已经有947 位星球成员,感谢这947位** 童鞋的支持!欢迎各位渴望进步,期望高薪的铁杆粉丝加入!终极目标是打造实现本知识星球全员年薪百万的宏伟目标 **。
![](https://www.icode9.com/i/ll/?i=img_convert/24536f8d73073fd3af94794107724070.png
欢迎关注 “吾爱 IC 社区 ”
微信号:ic-backend2018
![](https://www.icode9.com/i/ll/?i=img_convert/a35e75d7588d4c1e7b572ec99f7e57e0.png
https://mp.weixin.qq.com/s/HakXy4bNtyhm-Ma7jUZXUw