IC系统组成概论
IC系统是什么?
对算法工程师来说,IC系统是完成特定功能的硬件。
对架构设计师来说,IC系统包括控制,运算,存储部分。
电路设计工程师来说,IC系统是加法器,乘法器,与非门,运算放大器,开关电容等的搭配。
对版图工程师来说,它是多边形组成的组合。
一个常见的IC系统包括:
- 数字部分(可能包括微处理器,控制电路,数据通路等)
- 模拟部分(可能包括PLL,A/D,RF等)
- 连线
- I/O PAD
- 存储器
数字部分
绝大多数数字系统都采用同步设计方法,即采用时钟來统一协调系统各部分的运行。它由组合逻辑和时序单元(寄存器和锁存器)组成,数据在时序单元-组合逻辑-时序单元这种结构间一级级的传递下去。通常可以将数字部分大致分为数据通路部分与控制部分。数据通路部分是指乘法器,加法器,有限响应冲击滤波器(FIR)等规则的运算单元,控制部分是指控制管理数据流通的逻辑。
模拟部分
• 模数转换ADC
• 数模转换DAC
• 可编程增益放大器PGA
• 锁相环PLL
I/O部分
I/O是IC系统与外部环境的接口。foundry提供的综合库中,通常包括三类PAD单元:输入PAD,输出PAD,双向PAD。在设计中,可以将这些PAD看作是标准单元,直接例化就可以了。
存储器
存储器对整个芯片设计至关重要:
• 高速IC设计中,存储器的带宽已经成为性能瓶颈
• 存储器占整个芯片70%以上的面积
• 存储器消耗了芯片的大部分功耗
我们在实际设计中一般是无需自己设计存储器,只需根据需要(深度,速度,面积,功耗等)使用memory compiler直接生成,将别人提供的存储器单元拼接起来即可。在使用存储器的时候,需要注意接口时序是否满足要求。(例如我在2D/GPU的设计当中,都是按照要求直接用memory compier來生成各种sram)
连线
连线包括芯片的信号连线,电源线和时钟线。
• 在深亚微米设计中,不能将连线简单地看作是理想的连接,金属连线具有电容、电阻和电感效应。这些寄生效应会影响信号的完整性,而信号完整性和时序收敛问题是紧密联系的。通常,串扰会使时序更为恶化,更难以收敛。
连线的电容寄生效应会引起信号线的耦合,从而引起串扰(cross talk),串扰会影响时序,引起setup/hold violation,也可能会影响功能,导致芯片无法正常工作。
连线的电阻寄生效应会导致显著的电压降,从而影响信号电平。在一个IC系统中,是通过电源网络來供电的,一个数字系统要能正常工作,必须要为它的逻辑单元提供稳定的直流电压,并且这个电压的起伏要尽可能小。随着芯片规模的增加,芯片内部的电流越来越大,要满足电压稳定也越来越困难。加宽导线可以降低电阻,从而减小压降,并且会增加允许通过的峰值电流,但也会占用过多的面积。
如果连线过长或者电路速度极高,则导致电线的电感效应变的显著。电感效应很难处理,不过幸好目前大多数的设计中电感效应都很小,可以忽略不计。
• 连线还会导致设计时序难以收敛。
Logic synthesis的时候无法知道具体的连线信息,经常采用wireload model來估计连线延迟。这种模型并不准确,所以会导致P&R之后时序难以收敛,从而进化出physical synthesis的技术。
至于什么是physical synthesis,以及它与logic synthesis的区别,我会在以后的博文中加以讲解。
参考资料
《IC设计基础》
IC系统组成概论的更多相关文章
- 图解Android - Android GUI 系统 (1) - 概论
Android的GUI系统是Android最重要也最复杂的系统之一.它包括以下部分: 窗口和图形系统 - Window and View Manager System. 显示合成系统 - Surfac ...
- 图解Android - System Service 概论 和 Android GUI 系统
通过 图解Android - Binder 和 Service 一文中,我们已经分析了Binder 和 Service的工作原理.接下来,我们来简要分析Android 系统里面都有哪些重要的Servi ...
- Android GUI系统
图解Android - Android GUI 系统 (1) - 概论 图解Android - Android GUI 系统 (2) - 窗口管理系统 图解Android - Android GUI ...
- 图解Android - Android GUI 系统 (2) - 窗口管理 (View, Canvas, Window Manager)
Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道And ...
- NodeJS爬虫系统初探
NodeJS爬虫系统 NodeJS爬虫系统 0. 概论 爬虫是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上是针对爬虫而做出的优化. robots.txt是一个文本文 ...
- Linux系统编程【转】
转自:https://blog.csdn.net/majiakun1/article/details/8558308 一.Linux系统编程概论 1.1 系统编程基石 syscall: libc:标准 ...
- 入行数字IC验证后会做些什么?
半年前,公众号写了第一篇推文<入行数字IC验证的一些建议>,介绍了IC小白可以如何一步一步地摸索入门数字IC验证,同时也在知乎发了这篇入门贴,并且衍生出很多额外基础的内容,收获了不少的浏览 ...
- 【凯子哥带你学Framework】Activity界面显示全解析
前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分 ...
- 2012高校GIS论坛
江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...
随机推荐
- 浅谈ClickableSpan , 实现TextView文本某一部分文字的点击响应
超文本:http://www.baidu.com 这么一个效果:一行文本当中 前面显示黑色颜色的“超文本:”,后面显示红色颜色的“http://www.baidu.com” 并且要求红色字体的部分可以 ...
- 第一个JSP程序
本文介绍如何写出第一个JSP程序 1.配置服务器 (1)在eclipse中选择Server视图,(ps:很多童鞋说找不到Server,那是因为eclipse的版本问题,请下载JEE版本的eclipse ...
- CSS 指定选择器(十一)
一.指定选择器 有时个会希望控制某个元素在一定范围内的对象样式,这时就可以把元素与Class或者Id选择器结合起来使用 <!DOCTYPE html PUBLIC "-//W3C//D ...
- unity下载文件二(http同步下载)
说到下载,其实C#里的网络模块,真的是被各种封装,最终就看你对这个语言中库的熟悉程度了. 抛开C#中IO效率的弊病不说,真的很容易,记住,太过于注重效率或者追求极致,你将会死的很惨,有时候折中才是最好 ...
- 干货-iOS、mac开源项目及库,以后我也会持续更新。
昨晚在网上看的干货,直接分享给大家了,觉得有用的,直接fork吧. https://github.com/Brances/TimLiu-iOS
- runtime之消息转发
前言 在上一篇文章中我们初尝了runtime的黑魔法,可以在程序编译阶段就获取到成员变量的名字,特性以及动态的给对象增加属性等等,在接下来中我们进一步了解OC的消息发送机制.如果之前没接触过runti ...
- Finder增强插件XtraFinder
关于在Mac上安装XtraFinder插件,现在因为Mac更新到10.11, Mac OS X 10.11(El Capitan)默认开启了 SIP(System Integrity Protecti ...
- 【UXPA工作坊小记】郎学明:做更“有用”的用户研究
xueminglang@google.com 本来做了一些笔记,但郎老师后来发了相关教材.内容比现场PPT详细的多.由于,本人在网上也没有搜索到相关文章,还是决定做一回码字工,稍作精简后分享给大家. ...
- 数据结构--栈的应用(表达式求值 nyoj 35)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=35 题目: 表达式求值 时间限制:3000 ms | 内存限制:65535 KB描述 AC ...
- Linux dsh
一.简介 目前在企业网络中越来越多的出现Linux服务器,而如何方便高效的管理大量的Linux服务器是系统管理员非常关心的一个问题,而dsh正是一个通过命令行有效地管理大量Linux的工具. 二. ...