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设计基础》

时间: 2024-10-13 10:18:40

IC系统组成概论的相关文章

图解Android - Android GUI 系统 (1) - 概论

http://www.cnblogs.com/samchen2009/p/3364327.html Android的GUI系统是Android最重要也最复杂的系统之一.它包括以下部分: 窗口和图形系统 - Window and View Manager System. 显示合成系统 - Surface Flinger 用户输入系统 - InputManager System 应用框架系统 - Activity Manager System. 它们之间的关系如下图所示 只有对这些系统的功能和工作原

图解Android - Android GUI 系统

图解Android - Android GUI 系统 (1) - 概论 图解Android - Android GUI 系统 (2) - 窗口管理系统 图解Android - Android GUI 系统 (3) - Surface Flinger (TBD) 图解Android - Android GUI 系统 (4) - Activity的生命周期 图解Android - Android GUI 系统 (5) - Android的用户输入处理

NodeJS爬虫系统初探

NodeJS爬虫系统 NodeJS爬虫系统 0. 概论 爬虫是一种自动获取网页内容的程序.是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上是针对爬虫而做出的优化. robots.txt是一个文本文件,robots.txt是一个协议,不是一个命令.robots.txt是爬虫要查看的第一个文件.robots.txt文件告诉爬虫在服务器上什么文件是可以被查看的,搜索机器人就会按照该文件中的内容来确定访问的范围. 一般网站的robots.txt查找方法: 例如www.qq.com http://ww

[CortexM0--stm32f0308]系统框架

目录 目录 问题描述 系统框架概述 Masters Slaves 框架图示 Memory概述 SRAM Flash boot配置 如何配置 boot分类 问题描述 stm32f0308为CortexM0架构,系统框架部分将进行简述,详细的可参看ARM的CortexM0相关的文档. 系统框架概述 stm32f0308 IC内部系统框架可简单划分为2个master和4个slave系统.这里的master和slave概念是相对于Busmatrix而言的: Masters Cortex-M0 core

Linux系统编程【转】

转自:https://blog.csdn.net/majiakun1/article/details/8558308 一.Linux系统编程概论 1.1 系统编程基石 syscall: libc:标准C库.系统调用封装.线程库.基本应用工具 gcc: 1.2 模块接口 API:应用程序编程接口,源代码级别,能通过编译,由标准C语言定义,libc来实现 ABI:应用程序二进制接口,二进制级别,能正常运行,关注调用约定.字节序.寄存器使用.系统调用.链接.二进制格式等,很难实现 1.3 错误处理 <

Course

Coursera计算机专业课程列表 巴黎中央理工学院人工视觉中的离散推理和学习  教授  Nikos Paragios & Pawan Kumar Jan 10th 2014  8 weeks课程时间 华盛顿大学计算神经科学  教授  Rajesh P. N. Rao & Adrienne Fairhall Jan 10th 2014  8 weeks课程时间 爱丁堡大学人工智能规划  教授  Gerhard Wickler & Austin Tate Jan 13th 2014 

【凯子哥带你学Framework】Activity界面显示全解析

前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分析的文章必不可少,但是对于更多的Android开发者——即只想做应用层开发,不想了解底层实现细节——来说,“整体上把握,重要环节深入“是更好的学习方式.因为这样既可以有完整的知识体系,又不会在浩瀚的源码世界里迷失兴趣和方向. 所以呢,今天凯子哥又带来一篇文章,接着上一篇的结尾,重点介绍Activity开启之后

集成电路学习[笔记1]

集成电路系统的组成 典型集成电路包括以下模块: 数字电路模块 模拟电路模块 知识产权IP核 边界扫描模块(如JTAG) 输入/输出PAD 内存(如RAM) 在一个IC系统里,为了与外部世界交换数据和信号,模拟信号是必不可少的 输入输出端口是IC系统与外部环境的接口 参考文献: [1]专用集成电路设计使用教程 虞希清 编著

2012高校GIS论坛

江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办.高校GIS论坛每两年举办一次,已在北京九华山庄成功举办三届,现已发展成为国内高校GIS教育界最有权威,最具影响力的高端论坛. 赛迪网直播小组正在现场进行图文.微博直播——2012高校GIS论坛! 主持人:尊敬的李院长.曹省长.陈校长,“突破与提升2012高校GIS论坛”现在开幕!首先请允许我介绍出席今天开幕