数字IC后端笔试500题出炉(附答案)

2023-11-18

数字IC后端笔试500题出炉!(附答案)

文章右侧广告为官方硬广告,与吾爱IC社区无关,用户勿点。点击进去后出现任何损失与社区无关。

吾爱 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 篇)

数字 IC 后端实现 TOP 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。

数字芯片设计实现中修复 setup 违例的方法汇总

在分析 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://img-blog.csdnimg.cn/img_convert/24536f8d73073fd3af94794107724070.png

欢迎关注 “吾爱 IC 社区

微信号:ic-backend2018
在这里插入图片描述

![](https://img-blog.csdnimg.cn/img_convert/a35e75d7588d4c1e7b572ec99f7e57e0.png

https://mp.weixin.qq.com/s/HakXy4bNtyhm-Ma7jUZXUw

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字IC后端笔试500题出炉(附答案) 的相关文章

  • flutter 插件

    一 简介 Flutter 中调用这些能力就必须和原生平台进行通信 目前Flutter 已经支持 iOS Android Web macOS Windows Linux等众多平台 要调用特定平台 API 就需要写插件 插件是一种特殊的包 和纯
  • LeetCode234:回文链表

    题目描述 题目链接 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解题思路
  • 贪吃蛇实验报告

    贪吃蛇实验报告 第一次写博客 这是中山大学软件工程导论的项目之一 对初学者可能有点难度 分享出来做参考 使用的C语言 如果你喜欢的话可以使用 就这样 直接上代码 智能蛇部分也发上来 include

随机推荐

  • 实现二维数组或多维数组排序得方法

    例 对数组 3 2 6 2 3 6 3 4 5 3 进行排序 方法一 import numpy as np a np array 3 2 6 2 3 6 3 4 5 3 ind np lexsort a 1 a 0 print a ind
  • Linux- 文件夹相关的常用指令

    1 统计文件夹下的文件数量 在 Linux 下 有几种方法可以统计文件夹下的文件数量 使用 ls 和 wc 命令 这种方式可以统计目录下的直接子文件 不包括子目录里的文件 ls l lt 目录路径 gt wc l 注意 这将也统计目录自身
  • Hugging Face PEFT 调优实战附代码

    Hugging Face PEFT 调优实战附代码 PEFT调优大模型 Hugging Face PEFT 调优实战附代码 使用Hugging Face PEFT Library 先快速上手使用PEFT LoRA详解 实际应用 Kaggle
  • 常见的Web漏洞——命令注入

    目录 命令注入简介 命令注入原理 漏洞利用 漏洞防范 总结 命令注入简介 命令注入漏洞和SQL注入 XSS漏洞很相似 也是由于开发人员考虑不周造成的 在使用web应用程序执行系统命令的时候对用户输入的字符未进行过滤或过滤不严格导致的 常发生
  • RBF网络的matlab实现

    一 用工具箱实现函数拟合 参考 http blog csdn net zb1165048017 article details 49407075 1 newrb 该函数可以用来设计一个近似径向基网络 approximate RBF 调用格式
  • python教程30-python2和python3的区别、is和isinstance的使用、字类重写父类方法、不使用多态的问题、多态的使用

    python教程 小白入门2021 4 19 学习目标 这里是对应的视频链接 目录 python教程 小白入门2021 4 49 P173 python2和python3的区别 P174 is和isinstance的使用 P175 子类重写
  • 第十三节:特殊的对象——数组的详解

    typeof null 为什么结果是Object JS解释器编译原则 如果二进制前三位是0 typeof查询的数据类型返回的就是Object 而null转换为二进制存储时 全部位数均为0 所以typeof查询结果为Object 这是早期开发
  • 计算机网络——传输层

    一 传输层概述 传输层功能 完成主机进程 主机进程之间的报文传输 传输层是真正的端对端的通信 传输层协议在端主机上运行 路由器一般没有传输层 传输层从主机层面上对网络层采取相应补救措施 可以提供更高质量的数据传输能力 传输层独立于网络设备
  • 设计模式——Visitor(访问者)模式

    目录 前言 1 定义 2 适用性 3 结构 3 1 结构图 3 2 参与者 4 Java实际应用举例 以ASM技术为例 4 1 被访问对象 ClassReader 4 2 Visitor ClassVisitor 4 3 具体visitor
  • web渗透测试学习路线

    web渗透学习路线 文章目录 web渗透学习路线 前言 一 web渗透测试是什么 二 web渗透步骤 1 前期工作 2 中期提高 3 后期打牢 总结 前言 本文整理的学习路线 清晰明了 重点分明 能快速上手实践 相信想学的同学们都能轻松学完
  • Stable Diffusion入门笔记(自用)

    学习视频 20分钟搞懂Prompt与参数设置 你的AI绘画 咒语 学明白了吗 零基础入门Stable Diffusion 保姆级新手教程 Prompt关键词教学 哔哩哔哩 bilibili 1 图片提示词模板 2 权重 提示词 无数字 fl
  • 如何编译火狐浏览器的源代码

    以下摘录于 http zhidao baidu com question 33214960 html 源代码编译安装Firefox linux下 http forums mozine cn index php showtopic 601 W
  • Goland2023版新UI的debug模式调试框按钮功能说明

    一 背景 Jetbrains家的IDE的UI基本都是一样的 debug模式的调试框按钮排列也是一致的 但是在我使用Goland2023版的新UI时 发现调试框的按钮变化还是很大的 有一些按钮被收起来了 如果看之前的博客会发现有一些文中的旧U
  • 自绘CComboBox

    转自 http www gymsaga com mfc 419 html 先介绍基本ComboBox 风格 列表框何时可见 静态控件还是编辑控件 Simple 包括下拉框一直可见 编辑控件 Drop down 可编辑 下拉框 点击可见 编辑
  • 数字逻辑笔记7丨2.5逻辑函数卡诺图化简法

    卡诺图的构成 1 卡诺图的构成 一种图形化简法 在逻辑设计中广泛应用 卡诺图 一种平面方格图 每个小方格代表一个最小项 又叫 最小项方格图 卡诺图可以视为真值表图形化的结果 n个变量的真值表是用2的n次方行给出变量的2的n次方种取值 每行取
  • laravel框架 - 安装初步使用学习 composer安装

    一 什么是laravel框架 Laravel框架可以开发各种不同类型的项目 内容管理系统 Content Management System CMS 是一种比较典型的项目 常见的网站类型 如门户 新闻 博客 文章等 都可以利用CMS进行搭建
  • Shiro权限管理框架

    Shiro 一 Shiro权限 什么是权限控制 忽略特别细的概念 比如权限能细分很多种 功能权限 数据权限 管理权限等 理解两个概念 用户和资源 让指定的用户 只能操作指定的资源 CRUD 初学javaweb时怎么做 Filter接口中有一
  • 153、有效三角形的个数

    题目描述 给定一个包含非负整数的数组 你的任务是统计其中可以组成三角形三条边的三元组个数 示例 1 输入 2 2 3 4 输出 3 解释 有效的组合是 2 3 4 使用第一个 2 2 3 4 使用第二个 2 2 2 3 注意 数组长度不超过
  • 为 Vue 编写一个插件

    1 介绍 以编写Vue日志插件为例 讲述从插件的开发到部署 原文 https lluvio github io blog plugin for vuejs html 2 代码初始 不用一步到位开发插件 先抛开 Vue保证自己的代码能够运行
  • 数字IC后端笔试500题出炉(附答案)

    数字IC后端笔试500题出炉 附答案 文章右侧广告为官方硬广告 与吾爱IC社区无关 用户勿点 点击进去后出现任何损失与社区无关 吾爱 IC 社区 吾爱 IC 社区 52 ic com 是一个专业交流和分享数字 IC 设计与实现技术与经验的