VLSI基本术语和设计概述

IC(Integrated Circuit,集成电路)是电子元件,它将大量微小的电子器件(大部分是晶体管)放在一块半导体材料上(通常是硅)集成并互连在一起。许多这样的电路在一片直径为200mm或300mm的薄半导体晶圆上同时制造,之后它们被分割分开成为裸片(die)。通常裸片的尺寸从一个钉头大小到一枚较大的邮票不等。大多数IC用密封包封装起来,然后焊接到PCB(Printed Circuit Board)上。

芯片尺寸是设计复杂度一个很差的度量指标,因为电路的几何尺寸随着工艺、制造深度和设计风格变化非常大。晶体管数量是一个好得多的指标,但跨逻辑系列比较时会产生问题。

GE(Gate Equivalent,等效门)试图在描述设计的硬件复杂度时不受实际的电路形式和制造技术的影响。一个GE代表一个两输入的与非门(NAND),并对应着静态CMOS中的4个MOSFET。一个触发器大致需要7个左右的GE。存储器电路根据存储容量用位数衡量,根据命名惯例的GE和存储器容量如下所示:

不过这种分类方法比较粗糙,它将一位存储量等于一个GE。同时需要注意的是,电路复杂度不是有点,工程师需要尽可能找到简单和精致的解决方案,并有效率地、可靠地满足给定的功能规格。

1. 不同的观察视角

1.1 市场视角

1. 通用IC

通用IC的功能要么特别简单,要么非常通用。例如门电路、触发器、计数器、RAM、ROM、微处理器以及大多数DSP。

2. 专用集成电路

专用集成电路(Application-Specificic Integrated Circuit, ASIC)在确定规格和设计时考虑了特定的用途、设备或处理算法。

当今的高度集成ASIC更加复杂,包含了专门的数据或信号处理任务的功能强大的系统或子系统。片上系统(System-on-a-Chip,SoC)这个词就是反应这个发展的。制造总成本、性能、小型化和能量效率是选择ASIC的关键原因。

1.2 生产的视角

1. 全定制IC

集成电路是通过指定多层半导体材料、金属和绝缘材料的图形制造的。在全定制IC中,所有这些层都是根据用户的规格指定图形的。

2. 半定制IC

只有一小部分制造掩膜是每个设计独有的。用户定制化从预处理过的晶圆开始,这些晶圆大量预制造但是基本上未确定具体用途的基本元件,如晶体管或逻辑门。

3. 现场可编程逻辑

不用制造专门的版图结构,一个通用部件能够完全通过电学方法呈现用户定义的电路结构。FPL(Field-Programmable Logic,现场可编程逻辑)可以看做是一种“软硬件”。

1.3 设计工程师的视角

1. 手工版图

在这种设计方式中,一个IC或它的某个子模块通过在版图层次描述单个晶体管、导线和其他电路元件被输入到CAD数据库中。

2. 通过电路图输入的基于单元的设计

这里的设计描述是画出电路的结构图,其中的子功能(大部分是逻辑门)是实例化的并用导线互连。其中涉及到一些概念:

标准单元:很小但很通用的构建模块,如逻辑门、锁存器、触发器、多路选择器等,有预先确定的版图和确定的电学特性。

巨单元(megacell)也和一个立即可用的版图一起提供,与标准单元的区别在于更大的尺寸和更高的复杂度。典型的例子包括微处理器核以及外围设备,例如直接存储访问器、各种串行和并行通信接口、定时器、A/D和D/A转换器等。用巨单元和微机或ASIC拼接在一起是很理想的,只需要相对很少的工作量。典型的应用领域包括通信设备、汽车设备、仪器仪表和控制系统。

宏单元:它们的版图根据设计者的规格基于每个案例的情况呗组合汇编,如ROM和RAM。

3. 自动电路综合

这里的设计入口层次是整个芯片或其中主要子模块的形式化描述。大多数这种综合模型都是用文本编辑器建立的,都是用HDL(Hardware Description Language)写成的。

4. 使用虚拟元件设计

本质上是一个HDL综合包,其他设计人员可以将其集成到自己的IC里。例如ARM提供的处理器IP。

1.4 商业的视角

最后一个问题是商业公司如何参与到IC设计和生产中?

集成器件制造商:指不仅设计和销售芯片,也运营自己的晶圆处理线(也成为晶圆厂)的公司。

无晶圆厂供应商:公司自己开发和销售专有的半导体器件,但把它们的生产转包给独立的晶圆代工厂。

晶圆代工厂:指运营完整的晶圆处理线和为其他公司提供制造服务的公司;

虚拟元件供应商:无晶圆厂公司业务是开发综合包并把它们授权给其他公司以集成到他们的IC里。

2. 数字VLSI设计流程

根据不同的抽象层次,不同的设计阶段完成的事情在表中列出。

从行为视角看,我们只关心电路或系统的功能,而不关心实际上是如何构建的。最重要的是输出对过去的和现在的输入的依赖关系,输入数据、输出数据和某个时钟信号的时序关系也是感兴趣的。

从结构的视角看待电子电路,我们关心的是连接性,就是关于构成电路的构建模块和它们是如何互相连接的。对于某个给定的行为级规则,几乎总是有可能提出超过一个网络来实现它。结构化视图的选择通常在电路复杂度、性能、能量效率和其他实际兴趣的特性方面各有不同。

VLSI设计的主要阶段

系统级设计:这一阶段比其余任何阶段对最终结果的影响都要大。

——确定系统要有的功能、运行环境和期望特性(性能、功率、外形尺寸、成本等方面);

——将系统功能划分为子任务;

——探索可选的软件和硬件折中;

——为所有的主要构建模块决定是设计还是购买;

——决定数据交换接口和协议;

——决定数据格式、运行模式和异常处理过程等;

——从行为视角出发,定义、建模、评估和细化改进各种不同的子任务。

算法设计:用一系列计算满足之前定义的数据或信号处理的需求,由于它们是在硬件里实现,因此效率更高。

——提出很多合适的算法或计算范式;

——降低计算负荷及存储需求;

——在计算复杂度和精度之间找到可接受的折中;

——分析并抑制有限字长计算的效应;

——决定数据表示方案;

——评估各种选择并挑选出最合适眼前情况的选择;

——量化所需的最小计算资源(存储器、字宽、算术及逻辑操作,以及它们出现的频率)。

架构设计:决定必需的硬件资源并组织它们,在目标应用规定的性能、成本、功率和其他约束情况下实现已知的计算算法。它们提出的硬件排列必须描述未来电路的基本结构特性,但是同时从实现细节抽象出来。构架设计还意味着选择目标工艺和考虑它的潜力和限制。

架构设计从电路功能的相当抽象的概念开始,并逐渐发展到更详细的描述。这个过程有两个子阶段,也就是高层次架构设计和寄存器传输级设计。前一个阶段包括以下的内容:

——根据硬件实现划分计算任务;

——安排不同子任务间的相互作用;

——决定硬件资源来分配每个子任务;

——定义数据通路和控制器;

——决定片外RAM、片上RAM和寄存器;

——决定通信拓扑结构和协议(并行、串行);

——决定硬件提供多大的并行度;

——决定在哪里选择流水线和流水线深度;

——决定电路类型、制造技术和生产工艺;

——确定设计的抽象层次和要使用的单元库;

——获得电路规模和成本的初步评估。

结果用一张高层次模块图描述,包含了数据通路、控制器、存储器、接口以及关键信号。初步的布局规划也已经建立了。架构的验证通常要用仿真,每个主要的构建模块用它自己的行为模型表示。

接下来的工作要进行更详细RTL(寄存器传输级)设计,电路由纯组合逻辑互连的一组存储单元模拟。这个设计阶段的相关内容包括以下几点:

——如何实现算术和逻辑单元(比如行波进位、超前进位、进位选择);

——使用硬连接还是微代码实现控制器;

——何时使用ROM;

——在哪个时钟周期执行什么运算(调度);

——在哪个处理单元执行什么运算(绑定);

——在哪里插入流水线寄存器等;

——如何在寄存器之间平衡组合逻辑深度;

——采用什么时钟方案;

——使用多少时间间隔作为频率基本时钟周期;

——在哪里使用双向或单向主线,在哪里使用三态总线驱动器而不是多路选择器;

——用什么测试方案来确保可行性;

——如何初始化电路。

RTL设计的结构是一组更详细的图,包含所有的寄存器、存储器和组合逻辑的主要模块。

参考文献

Kaeslin, Hubert. Digital integrated circuit design : from VLSI architectures to CMOS fabrication = 数字集成电路设计[M]. 人民邮电出版社, 2010.

你可能感兴趣的:(VLSI基本术语和设计概述)