数字系统设计及 VHDL 实践

Post on 30-Dec-2015

158 views 0 download

description

数字系统设计及 VHDL 实践. 专题二 专用集成电路 ( ASIC ) 设计概述. 主 讲 人:徐向民 单 位:电子信息学院. ASIC 介绍. ASIC : application-specific integrated circuit ,译为专用集成电路。 ASIC 的例子:玩具机器人芯片、卫星芯片、工作站 CPU 中存储器与微处理器之间的接口芯片、微处理器与其他逻辑单元作为一个单位的芯片。. ASIC 介绍. ASIC 类型 :. ASIC 介绍 — 全定制 ASIC. - PowerPoint PPT Presentation

Transcript of 数字系统设计及 VHDL 实践

数字系统设计及数字系统设计及 VHDLVHDL 实践实践

专题二 专用集成电路专题二 专用集成电路(( ASICASIC ))设计概设计概述述

主 讲 人:徐向民

单 位:电子信息学院

• ASIC: application-specific integrated circuit ,译为专用集成电路。

• ASIC 的例子:玩具机器人芯片、卫星芯片、工作站 CPU 中存储器与微处理器之间的接口芯片、微处理器与其他逻辑单元作为一个单位的芯片。

ASICASIC 介绍介绍

• ASIC 类型:

ASICASIC 介绍介绍

• 全定制 IC 包括一些(也可能全部)定制的逻辑单元和全部定制的掩膜层。微处理器就是一个全定制 IC 。专门的全定制 IC 常为特殊应用而设计,所以称为全定制 ASIC 。

ASICASIC 介绍介绍——全定制全定制 ASICASIC

• 基于标准单元的 ASIC( cell-based IC,CBIC )。采用预先设计好的标准逻辑,如与门、或门、多路开关、触发器。

• 基于门阵列的 ASIC 。晶体管在硅圆片上是预先确定的,门阵列上预先确定的晶体管图案即为基本阵列。

通道式门阵列; 无通道门阵列; 结构式门阵列。

ASICASIC 介绍介绍——半定制半定制 ASICASIC

• 半定制集成电路设计方法: 设计者可以只完成硬件的逻辑门级结构描述,然后由集

成电路制造者用门阵列或者标准单元方法将逻辑门级结构映射到版图,最后制造集成电路。

• 全定制集成电路设计方法: 设计者自行设计出集成电路的掩膜版图,由集成电路

制造者根据版图数据制造集成电路。

ASICASIC 半定制与全定制半定制与全定制

下面是设计 ASIC 的设计流程: 1 、设计输入: HDL 或电路图输入把设计输入给

ASIC 设计系统; 2 、逻辑综合:采用 HDL 和逻辑综合工具产生网

表; 3 、系统划分:将大型系统划分为几个 ASIC ; 4 、布图前仿真:检查设计功能是否正确;

ASICASIC 介绍介绍——设计流程设计流程

5 、布图规划:在芯片上排列网表的模块; 6 、布局:决定模块中单元的位置; 7 、布线:单元与模块之间的连接; 8 、提取:确定互连的电阻和电容; 9 、布图后仿真:加上互连线负载后检查 设计能

否正常工作。

ASICASIC 介绍介绍——设计流程设计流程

• 设计流程说明:

上述的步骤 1~ 4 为逻辑设计部分 ( 前端设

计 ) ,步骤 5~ 9 为物理设计部分 ( 后端设计 ) ,其中有些是重叠的,如系统划分可认为是逻辑设计也可认为是物理设计。在执行系统划分的时候,必须既考虑逻辑因素也考虑物理因素。

ASICASIC 介绍介绍——设计流程设计流程

系统级

算法级

寄存器级

逻辑门级

电路级,版图级…

传统:自底向上 现代:自顶向下

““ 自底向上”和“自顶向自底向上”和“自顶向下”下”

系统设计

算法设计

RTL设计

逻辑综合

向 foundry提交网表

系统验证

算法验证

RTL验证

Foundry进行版图设计

Foundry返回最终网表后仿真foundry流片

前端流程

后端流程

典型典型 ASICASIC 设计流程设计流程

1 )结构及电气规定。 2) RTL 级代码设计和仿真测试平台文件准备。3 )为具有存储单元的模块插入 BIST(Design For test 设计 ) 。4 )为了验证设计功能 , 进行完全设计的动态仿真。5 )设计环境设置。包括使用的设计库和其他一些环境变量。6 )使用 Design Compiler 工具 , 约束和综合设计 , 并且加入扫描链(或者 JTAG )。7 )使用 Design Compiler 自带静态时序分析器 , 进行模块级静态时序分析。8 )使用 Formality 工具 , 进行 RTL 级和综合后门级网表的 Formal

Verification 。9 )版图布局布线之前 , 使用 PrimeTime 工具进行整个设计的静态时 序分析。10 )将时序约束前标注到版图生成工具。

详细详细 ASICASIC 设计流程设计流程

11 )时序驱动的单元布局 , 时钟树插入和全局布线。12 )将时钟树插入到 DC 的原始设计中。13 )使用 Formality,对综合后网表和插入时钟树网表进行Formal Verification 。14 )从全局布线后的版图中提取出估算的时间延时信息。15 )将估算的时间延时信息反标注到 Design Compiler 或者 Primetime 。16 )在 Primetime 中进行静态时序分析。17 )在 Design Compiler 中进行设计优化。18 )设计的详细布线。

详细详细 ASICASIC 设计流程设计流程

详细详细 ASICASIC 设计流程设计流程

19 )从详细布线的设计中提取出实际时间延时信息。20 )将提取出的实际时间延时信息反标注到 Design Compiler

或者 Primetime 中。21 )使用 Primetime 进行版图后的静态时序分析。22 )在 Design Compiler 中进行设计优化(如果需要)。23 )进行版图后带时间信息的门级仿真。24 ) LVS和 DRC 验证 , 然后流片。

系统设计

算法设计

RTL设计

系统验证

算法验证

RTL验证

逻辑综合

布局布线 后仿真

数据流下载 硬件验证

EDA工具辅助完成

典型典型 FPGAFPGA 应用设计流程应用设计流程

• ASIC 单元库是 ASIC 设计中的关键部分。对可编程 ASIC 而言, FPGA公司以成套设计工具形式提供逻辑单元库,通常用户没有其他选择;

对其他用户而言,用户有 3种选择: 1、 ASIC供应商提供单元库; 2 、从第三方单元库供应商处购获单元库; 3 、自行开发自己的单元库。

ASICASIC 介绍介绍—— ASICASIC 单元库单元库

• ASIC 的单元库的每个单元必须包括以下内容:

• 物理版图• 行为级模型• Verilog/VHDL 模型• 详细时序模型• 测试策略• 电路原理图• 单元图符• 连线 - 负载模型• 布线模型

ASICASIC 介绍介绍—— ASICASIC 单元库单元库

• 我们把 ASIC 本身看作产品,并分析其成本组成:固定成本和可变成本。

• ASIC 工艺对成本的影响:选择不同工艺类型的单元和器件,要考虑到它们的成本。

• 产品成本:产品成本 = 产品固定成本 + 产品可变成本 × 产品售出数量;

ASICASIC 介绍介绍——经济学经济学

我们使用 FPGA 时,固定成本较低,使用 MGA

或者 CBIC 元件时的固定成本较高并包含掩膜、仿真、测试程序开发费用。

• ASIC固定成本:培训学习费用,设计 ASIC 的软硬件费用,测试费用,编程费用,掩膜成本等等。

• ASIC 可变成本:每两年连续推出新的工艺技术驱使每门价格按每年 30%速度下降; Moore 定律。

ASICASIC 介绍介绍——经济学经济学

• 库单元设计:库单元版图可由手工完成,也可使用某种符号版图形式。

• 门阵列设计:门阵列库中每个逻辑单元是预先设计好的,是采用确定的晶体管排列,即门阵列基本单元进行设计的。

• 标准单元设计:标准单元都是具有同样高度但不同宽度的矩形。

• 数据通路单元设计:数据通路触发器。

ASICASIC 库设计库设计

• 有两种可编程 ASIC 类型 : 可编程逻辑器件( PLD )和现场可编程门阵列( FPGA )。

PLD: 开始时只是作为能替代少量 TTL 的小器件 FPGA:IC 芯片制造厂生产出未连接 FPGA ,由设

计者设计输入和仿真,接着,专用软件产生一串二进制位,描述需要完成设计的外加的连接 -配置文件。然后,将计算机连接到芯片上并对芯片进行编程,使其按照配置文件完成必要的连接。

可编程可编程 ASICASIC

所有的 FPGA都有某些共同的要素。都有规则化的基本逻辑单元阵列,并用可编程技术进行配置。芯片输入和输出使用与基本逻辑单元不同的专用 I/O 逻辑单元。可编程互联方式形成这两种逻辑单元之间的连接。最后,设计者使用适合于各种编程技术和 FPGA

结构的定制软件设计和实现可编程连接。 FPGA 中的可编程技术决定了基本逻辑单元的类型和互联方式,由此也决定了输入和输出电路的设计以及编程方式。

可编程可编程 ASICASIC

计算机

目标板

下载电缆

FPGAFPGA 开发模式开发模式

表 可编程 ASIC技术Actel Xilinx

LCAAltera

EPLD

Xilinx

EPLD

Quick-logic

Cross-point

Atmel Altera

FLEX

编程技术

多晶 -扩散反熔丝, PLICE

可擦除SRAM ISP

UV- 可擦除EPROM

EEPRO-M

UV- 可擦除EPROM

金属 -金属反熔丝,通孔连接

金属 - 多晶硅反熔丝

可擦除SRAM ISP

可擦除SRAM

ISP

编程单元大小

小,但需要连到金属的接触

两个反相器加传输和开关器件。最大

1个 n沟EPROM器件。中等

1个 n沟EPROM器件。中等

最小 小 两个反相器加传输和开关器件。最大

两个反相器加传输和开关器件。最大

工艺 特殊:另加 3层掩膜的CMOS

标准CMOS

标准EPROM和EEPROM

标准EPROM

特殊:加通孔连接的 CMOS

特殊:加反熔丝的CMOS

标准CMOS

标准CMOS

编程方法

专门硬件

PC卡, PROM 或串口

ISP或EPROM编程器

EPROM编程器

专门硬件 专门硬件 PC卡, PROM 或串口

PC卡, PROM 或串口

• 所有可编程 ASIC或 FPGA 芯片都含有可以复制规则阵列的基本逻辑单元。共有 3种基本逻辑单元:

1 )基于多路选择器的基本逻辑单元; 2 )基于查找表的基本逻辑单元; 3 )可编程阵列逻辑。• Actel ACT

• Xilinx LCA

• Altera FLEX

• Altera MAX

可编程可编程 ASICASIC 逻辑单元逻辑单元

• 所有可编程 ASIC都含有某种输入 / 输出单元,用来驱动片外逻辑信号、接收和调节外部信号以及处理诸如静电保护类的事宜。

• DC 输出• AC 输出• DC 输入• AC 输入• 时钟输入• 电源输入• 其他 I/O 单元

可编程可编程 ASICASIC 的输入输出的输入输出 (I/O)(I/O)单单元元

• 所有 FPGA都包含某些类型的可编程互联连。互连的结构和复杂程度主要取决于编程技术及基本逻辑单元的结构。构筑互连的原始材料是铝基金属。

可编程可编程 ASICASIC 的互连的互连

蓝色:逻辑单元

红色:连线资源

黄色:输入输出块

可编程可编程 ASICASIC 的互连的互连

• 设计系统:完成设计输入—仿真器仿真—布局布线—时序仿真。

• 逻辑综合:在 FPGA 设计中有两种方法实验逻辑综合。

一是采取硬件描述,优化逻辑,接着产生网表,然后网表通过软件将其映射成 FPGA 结构。

二是采用硬件描述对特定的 FPGA 结构直接优化逻辑。

可编程可编程 ASICASIC 设计软件设计软件

• 设计输入的目的是描述一个微电子系统使其适合于电子设计自动化 EDA 工具。电子系统过去是现在大多仍是由现场元件构成(如 TTLIC )。这些电子系统的设计输入通常是画一张图,即一张原理图。原理图展示了这些电路元件是如何连接起来的,即描述了 ASIC 的连接特性。这种设计输入方式成为原理图输入或原理图获取。用电路原理图描述 ASIC 电路如同用建筑结构图描述一座建筑。

低层次设计输入低层次设计输入

• 电路原理图是我们易于理解和使用的一种形式,但是计算机只认识 ASCII 码和二进制码表示的原理图,我们称之为网表。原理图输入工具的输出就是这样一个包含了设计中所有元件及其互联信息的网表文件。

低层次设计输入低层次设计输入

• 近来大部分 ASIC 设计输入都用原理图输入。随着 ASIC 电路的日益复杂,其他的一些设计输入方式也正变得越来越普遍。目前可选择的设计输入方式有图形方式。使用硬件描述语言作为设计输入使我们能够通过逻辑综合直接产生网表。

低层次设计输入低层次设计输入

• 原理图输入是 ASIC 设计中最为通用的一种,有时也是最实用的。 HDL 正在取代传统的门级原理图输入,但是一些新的基于原理图输入的图形工具现在正在被用来生成大量的 HDL 代码。

• ASIC 设计的原理图输入工具类似于印刷电路板PCB 设计工具,如果认为 ASIC 的一个逻辑门和PCB 中的一个零件是等同的话,那么一个规模较大的 ASIC 电路就包含成千上万个零件。

低层次设计输入低层次设计输入

• 低层次设计语言 随着 TTL让位于 PLD ,基于文本形式的设

计工具变得更为流行了,并且设计文件的形式也成为事实上的标准。

低层次设计输入低层次设计输入

ASIC 设计的软件提供商主要有CADENCE、 SYNOPSYS 和MENTOR 等公司。它们都能提供全定制集成电路设计环境和工具、标准单元设计、综合、仿真、布局布线以及版图验证等一整套软件。基于EDA 平台的这些软件,可以完成各种集成电路设计的全部流程,包括全定制集成电路设计流程、数字电路自动化设计流程、模拟电路设计流程和 FPGA 设计流程等等。下面就常见的工具软件进行一些归类和说明。至于它们的使用方法请大家参阅相应手册,这里就不多着墨,仅列提纲如下:

ASICASIC 设计工具软件设计工具软件

( 1 )设计语言: VHDL、 Verilog HDL、AHDL、 System C 等等。( 2 )各阶段典型软件:• 输入及调试工具: Summit、Debussy 、以及 Xilinx、Altera 等开发的套

件。• 仿真工具: Modsim、 Verilog-XL、NC-Verilog、NC-

VHDL、 VSS、Active HDL

• 综合器: Design Compiler、 Physical Compiler、Ambit logic

synthesis

• 布局布线工具: Preview、 Silicon Ensemble、Apollo 系列、 ST-Hspice

• 版图验证工具: Dracula、Diva、Cosmos SE

• 静态时序分析: Prime Time

• 测试: DFT Compiler

ASICASIC 设计工具软件设计工具软件

• VHDL: Very-High-Speed Integrated Circuit

Hardware Description Language

• 诞生于 1982年。 1987年底, VHDL被 IEEE

和 美国国防部确认为标准硬件描述语言 。自IEEE公布了 VHDL 的标准版本, IEEE-1076

(简称 87版 ) 之后,各 EDA公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可 以和 VHDL 接口。

硬件描述语言硬件描述语言 --VHDL--VHDL

• 此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。 1993年, IEEE对VHDL 进行了修订, 从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL ,即 IEEE 标准的 1076-1993 版本,(简称 93 版)。现 在, VHDL和Verilog 作为 IEEE 的工业标准硬件描述语言,又得到众多 EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

硬件描述语言硬件描述语言 --VHDL--VHDL

• Verilog 是由 Gateway Design Automation公司于大约 1984年开发并将其作为一种仿真工具。Gateway Design Automation公司后来被 Cadence Design Systems于 1990年所购并。现在 Cadence 对于 Gateway 公司的 Verilog

和 Verilog-XL 模拟器拥有全部的财产权。 Verilog 仿真器和工具都严格遵守 IEEE 标准。

硬件描述语言硬件描述语言—— Verilog Verilog HDLHDL

• 集成电路设计过程: 硬件的高层次抽象描述

硬件的低层次物理描述

•把硬件的一种描述形式转换成另一种描述形式

采用手工方式采用自动化的计算机辅助设计工具

设计 综合

数字集成系统设计与综合数字集成系统设计与综合

设计层次 行为域 结构域

系统级

算法级

自然语言描述

算法描述自然语言综合 (设计 )

寄存器级 数据流图描述算法综合 (设计 )

门级

版图级

逻辑图描述

几何图形描述

逻辑综合 (设计 )

版图综合 (设计 )

数字集成系统设计与综合数字集成系统设计与综合

综合的过程由两部分组成:第一步:简单的转换。第二步:优化。

自动综合工具被广泛采用的原因:设计方案是否最优并不重要,而设计成本和设计的可靠性 (不出错误 )是必须最先考虑的因素。

有经验的电路设计者直接在中间层次 (寄存器传输级等 )设计的硬件质量要比综合器产生的好。

综合器不可能找出硬件设计的全部可能实现方式,从而

不可能得出最优的方案。

数字集成系统设计与综合数字集成系统设计与综合

• 就像 C语言编译器提供了 C源程序与机器语言之间的连接一样,逻辑综合器提供了硬件描述语言 HDL 和网表之间的连接。

• 逻辑综合后将再次进行设计仿真,并和行为级的仿真结果进行比较。逻辑综合产生的结构模型可以生产任何类型的 ASIC 版图。

逻辑综合逻辑综合

• 设计人员用图形或文本的设计输入创建HDL 行为级模型,不包含任何逻辑单元的引用,在描述 HDL 时,采用状态图、图形化的数据通路描述、真值表、 RAM/ROM

模板、门级原理图等。行为级 HDL 模型完成后,逻辑综合器以及单元库(也称为目标库)就要被应用来开始进一步的工作。

逻辑综合逻辑综合

• 逻辑综合器可能有几十万行的代码,我们应该在实际的设计中简化输入(减小总线宽度、简化代码或者进一步划分模块等),我们可以通过观察单元的数目、类型与驱动能力来了解逻辑综合器在干什么。

• 例如,如果在关键路径上存在大量驱动能力很弱的单元,则通常暗示综合软件还有一定的余地来提高这个电路的速度。

逻辑综合逻辑综合

• 通过用驱动能力大的单元来替代这些驱动能力弱的单元。但是在有些情况下不是这样,有时驱动能力强的单元反而会降低电路速度,因为增加大的单元同时加大了负载电容,但却没有足够的驱动来弥补,这就是我们为什么要进行逻辑综合度量的原因。

• 理想情况下,物理设计和逻辑综合设计应该同时完成,这样可以确保在布线完成后互联延迟的估计值与实际值很吻合。

逻辑综合逻辑综合

• 电子工程师们都习惯于使用原型来检验自己的设计,比如使用已有连接孔的电路试验板,只要插入互联先和 IC 就可以检验自己的设计。

• 对于 ASIC 电路来说,使用电路板是不现实的,作为替代, ASIC 设计工程师转而使用仿真作为一种新型的等效的检验设计的方式。

仿真仿真

• 仿真类型: 行为仿真 功能仿真 静态时序仿真 门级仿真 开关级仿真 晶体管级仿真(电路级仿真) 以上列表是从高层次到低层次的仿真排序(层次越高越抽象,

层次越低越具体)。从高层次到低层次的仿真的仿真结果越来越准确,也越来越复杂和费时。

仿真仿真

• 建立仿真模型可以有多种方式,一种方法就是将系统的组合用有输入和输出的黑盒进行建模,这种仿真类型通常称为行为仿真。行为仿真不包含时序信息,仅仅告诉我们设计是否能工作。

• 功能仿真忽略时序,并把延迟设为固定值,进行单位延迟仿真。

• 在行为仿真和功能仿真预测系统工作正确之后,接下来就是检查时序性能。此时,系统被划分为ASIC ,并对每一个 ASIC 分别进行时序仿真。

仿真仿真

• 有一类时序仿真器利用时序分析,计算每一条路径的延迟,并以静态的方式进行逻辑分析,被称之为静态时序分析。静态时序分析不需要建立一组测试矢量。静态时序仿真是使用最多的仿真,但是它可能产生虚假路径(不可能激活的关键路径)。

• 门级仿真经常被用来检查 ASIC性能。对于门级仿真器,一个逻辑或逻辑单元用黑盒来模拟,一个逻辑门或逻辑单元的函数变量是输入信号。

仿真仿真

• 如果逻辑门的黑盒模型提供的时序仿真还不够精确,可以进行更仔细的开关级仿真。开关级仿真将晶体管模拟为开关(开或关)。开关级仿真比门级仿真提供了更精确的时序预估,但不可能用逻辑单元延迟作为模型参数。开关级仿真可以被用来检验电路行为,而电路节点并非一直被驱动或者是使用非互补逻辑。

仿真仿真

• 最精确也是最复杂、最费时的仿真形式是晶体管级仿真,使用晶体管级仿真器要求有晶体管的模型,该模型提供晶体管的非线性电压和电流特征。当我们需要了解电路电压的模拟行为而不是数字行为时,我们可采用晶体管级仿真。

仿真仿真

• ASIC 芯片设计的不同阶段都会用到仿真。初期的布图前仿真包括了逻辑单元的延迟,但不包括互联的延迟。逻辑综合完成之后包含了电容估算,但是只有在版图设计之后才有可能实现精确的布图后仿真。

仿真仿真

• 所有的 ASIC 产品都需要经过测试(可编程ASIC 在定制前有制作者进行测试,但它们还需要再测试)。小规模或中规模模块中的简单单元采用自动化技术测试,但诸如RAM 或乘法器之类的大模块需要规划其测试策略。

测试测试

• ASIC 的产品测试在制造过程中分 2次进行:• 第一次测试是在制造工艺完成后对硅圆片

进行测试或分类的时候对管芯进行测试;• 第二次测试是对封装好的 ASIC 进行的,这是 ASIC 产品递交用户前的最后测试。

测试测试

• 测试的重要性 产品质量是用缺陷水平来度量的,我们设

计的专用集成电路 ASIC 的缺陷水平需要靠有效的测试手段来保证,相应地也决定了ASIC 产品的质量和市场前景。

如果不重视测试的作用,我们以后可能为此付出高昂的代价。

测试测试

• 测试中的故障 ASIC 制造是一个复杂的过程,需要经过上百道工艺步骤。缺陷往往会引起故障。

制造中的任何问题都可能引起晶体管无法正常工作或者是互联线的短路或者断路。

金属化过程中一般会产生 2种常见的缺陷:金属刻蚀不清、刻蚀过度使金属线断裂或电路开路。

故障一般分为物理故障和逻辑故障。

测试测试

ASICASIC 设计流程设计流程系统规范说明 系统划分 逻辑设计与综合

综合后仿真版图设计版图验证

参数提取与后仿真 制版、流片 芯片测试

逻辑划分 布局 布线 设计检验输出输入

人机交互

单元库

布图规划

自动版图设计过程自动版图设计过程

• 布图规划:根据电路 ( 门级 ) 网表、估计的芯片的大体面积和形状、各功能块的大体形状面积、功能块的数目、输入 /

输出数目等,对设计的电路进行物理划分和预布局。先进行初始规划( initialize floorplan),产生输入 / 输出行,单元区行以及布线网格等,然后进行行调整、芯片面积调整、布线网格调整,并进行预布局,初步确定各功能块的形状面积及相对位置、 I/O 位置以及芯片形状尺寸,而且可以从总体上考虑电源、地线、数据通道分布( datapath plan)

• 总之,布图规划 (Floor Plan) 就是在保证布线能够走通、性能允许的前提下,如何最大限度的减少芯片面积。

布图规划布图规划

• 布局概念:按电路功能、性能、几何要求,放置各部件。

• 目标:芯片面积最小、性能优化。

• 过程:初始布局、布局迭代改善。

自动布局自动布局

• 概念:满足工艺规则、布线层数限制、线宽、线间距限制和各线网可靠绝缘等,根据电路的连接关系进行连线, 1

00% 连通,使芯片面积最小。• 包括总体布线、详细布线(通道布线)和特殊布线 ( 时钟

布线和电源布线 ) 。• 布线质量评价:

– 布通率 100%

– 布线面积最小– 布线总长度最小– 通孔数少– 布线均匀

自动布线自动布线

• 自动设计很大程度受限于近似算法与版图结构, 可作人工调整;未布的单元、线、布线过密处 可作压缩处理。• 布局布线算法的发展

– 时延驱动算法 0.18 微米工艺:连线延迟与门延迟已经相当。对深亚微米电路,布

图优化目标由芯片面积最小调整到连线总延迟最小、性能优化,布图中引入时延模型、时延分析。

– 多层布线算法

自动布线自动布线

• 原因:人工介入、版图引入物理因素。• 包括: DRC、 ERC、 LVS 、后仿真。

网表与参数提取设计规则检查

版图

版图网表

后仿真 电学规则检查 网表一致性检查

原理图网表

版图检查与验证版图检查与验证

• DRC :设计规则检查(最小线宽、最小图形间距、最小接触孔尺寸、栅和源漏区的最小交叠等)。

• ERC :检查电学规则,检测出没有电路意义的连接错误,(短路、开路、孤立布线、非法器件等),介于设计规则与行为级分析之间,不涉及电路行为。

• LVS :网表一致性检查。– 概念:从版图提取出的电路网表与从原理图得到的网表进行比较,

检查两者是否一致。

版图检查与验证版图检查与验证

• 后仿真:考虑版图引入的寄生量的影响,进行后仿真,保证版图能满足电路功能和性能的要求。– 后仿真对象

• 参数提取程序提取出实际版图参数和寄生电阻、寄生电容等寄生参数,进一步生成带寄生参数的器件级网表

• 提取得到寄生参数文件和单元延迟文件结合,通过延迟计算器生成一个延迟文件,把该延迟文件反标( back-

annotation )到网表中• 通过参数提取直接得到一个与路径延迟相关的延迟文件,进行反标

后仿真后仿真

• 物理综合:在传统的 IC 设计流程中,前端综合或时序分析时没有精确的线和 CELL

延迟信息,这样就容易造成和布局后的时序不收敛。随着工艺的进步,线延迟占主导地位,时序收敛问题越来越严重。根本的解决方法是前后端的设计流程整合起来,物理综合就是在针对的这种情况。

• 主要功能:1. 将 RTL 代码综合成已布局的门电路(关键功能)2. 利用已存在的门级网表生成已布局的门电路3. 采用内置的 RTL性能原型设计 (RPP) 进行快速精确地实施可行性分析4. 时钟树综合5. 优化和精确的时序分析

物理综合物理综合

• Synopsys推出新一代物理实现工具 Galaxy IC Compiler ,它将物理综合、时钟树合成、布线、成品率最佳化与验收( sign-off )相关性等功能整合在一起。该工具将代替Synopsys 的物理综合工具 Physical Compiler和 Astro 布线器。作为 Synopsys Galaxy 设计平台的核心,与该平台中的 RTL 综合工具 Design Compiler 一起,构成从 RTL到GDSII 流程的全面解决方案。

新一代物理设计工具贯穿新一代物理设计工具贯穿物理综合和布线物理综合和布线

新一代物理设计工具贯穿新一代物理设计工具贯穿物理综合和布线物理综合和布线

•随着芯片设计的复杂度日益加剧,先进的芯片制造工艺与设计的变化,在正确的时序验证与物理实现之间需要更紧密的连结。而且,成品率也不再被视为后续流程而必须被纳入设计流程中。而在以前的设计工具中,布局、时钟树合成与布线都是独立而不相关的步骤。这些挑战全都需要新的物理设计工具加以解决。 IC Compiler独特的架构能够消除彼此的间隔而统一物理设计,利用 Synopsys 在综合、时序、布局、布线、光刻及验收上的核心技术,再配合物理设计的创新作法,对物理设计提供从网表、到待试产、直至 GDSII 产出的整套流程的最完整的支持。 IC 设计工程师可以在逻辑综合以后使用 IC Compiler ,可以在单一步骤中同时实现布局、时钟树合成和布线。通过 Synopsys的Milkyway 数据库, IC Compiler 可以和PrimeTime 静态时序分析、 Star-RC 提取,以及其它工具进行通信。  

• ASIC 逻辑综合是指在给定工艺库的基础上通过映射和优化,将行为级描述的设计在一定的规约下转化为逻辑结构。它是面向给定的设计约束,将高级的设计描述翻译和优化到工艺库中的门级网表的自动化过程。

• 完成设计后,将设计的源程序导入 Synopsys的 Design

Compiler 工具进行 ASIC 逻辑综合,综合后得到文件包括:综合后的网表文件(一般为 VERILOG格式)、时序信息文件( SDF 文件)。

ASICASIC 逻辑综合逻辑综合

• APR( Auto Place & Route ,自动布局布线)是目前普遍采用的芯片后端设计方法。使用 EDA 工具环境,快速、自动地完成 IP 、逻辑门等的放置和物理连接。

• CADENCE公司的 SE( Silicon Ensemble )是 IC业内一种较优秀的深亚微米自动布局布线工具,功能强大,操作简单。在 SE 环境下,可以将综合生成的网表读入并与工艺物理信息库及时序库配合,进行整个芯片的布局布线。布局布线走通后,得到版图。

ASICASIC 版图自动布局布线设版图自动布局布线设计计

• 在 ASIC 逻辑综合获得的网表通过了综合后的仿真之后,即可进入 ASIC 物理设计阶段。 ASIC 物理设计包括平面布图规划( floorplanning )、布局 (placement) 、以及布线 (rounting)等。 ASIC 物理版图自动布局布线工具采用 Cadence 公司的 Envisia Silicon Ensemble ,简称 SE 。SE 完成 APR 的数据导出,比较有用的数据包括: GDS

版图数据(用于送到 FOUNDRY厂商加工芯片)、 Verilog 网表文件(用于后仿真)、 SDF 时延信息文件(用于后仿真)。

ASICASIC 物理设计物理设计

• 目前,芯片设计除了向更大规模、更高工艺技术的方向发展外,还有两个明显的发展特征:一是向 IP内核方向的发展 , 一是向 SOC 的技术方向发展。下面分别简述之 :

• IP 内核IP 内核是指满足特定规范,并能在设计中复用的功能模块。在 IC 设计中, IP 内核复用可以有效地缩短产品开发周期并降低成本。 IP 内核可以在不同的硬件描述级别实现,依据产品交付的方式,可分为三类 IP 内核:软核 (Soft

cores) 、固核 (Firm cores) 和硬核 (Hard cores) 。

ASICASIC 的设计发展趋势的设计发展趋势

• 软核通常以可综合的 HDL 形式提供,因此具有较高的灵活性,并与具体的实现工艺无关,其主要缺点是缺乏对时序、面积和功耗的预见性。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。

• 硬核则以经过完全的布局布线的网表形式提供,这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级 (RTL) 文件,因而更易于实现IP 保护。

ASICASIC 的设计发展趋势的设计发展趋势

固核则是软核和硬核的折衷。目前常用的 IP 内核主要有:RISC: ARM、 PPC、MIPS、 SPARC 等Controllers: USB、 PCI、 UART 等Encryption: DES、 AES 等Multimedia: JPEG compressor、MPEG decoder 等Networking: PHY、MAC、 ATM switch 等Memories: Specialized embedded memories、 High

speed、 Low power 等

ASICASIC 的设计发展趋势的设计发展趋势

• SOC 就是将系统的全部功能模块集成到单一半导体芯片上,包括 CPU、I/O 接口、存储器,以及一些重要的模拟集成电路等。功能模块化的系统芯片具有易于增加新功能和缩短上市时间的显著特点,是 ASIC 设计业当前、乃至可预见未来的主流设计方式。一个芯片如果包含了可编程处理器、控制器、信号处理器和片上存储器等部分就是一个 SOC 芯片。

• SOC技术的特点 : ① 半导体工艺技术的系统集成 ; ②软件系统和硬件系统的集成。

SOCSOC

• 系统级芯片形成或产生过程包含以下三个方面 :

① 基于单片集成系统的软硬件协同设计和验证; ②再利用逻辑面积技术使用和产能占有比例有效提高即开

发和研究 IP核生成及复用技术 , 特别是大容量的存储模块嵌入的重复应用等;

③超深亚微米 (UDSM) 、纳米集成电路的设计理论和技术。

SOCSOC 设计的关键技术设计的关键技术

•具体地说 , SOC 设计的关键技术主要包括总线架构技术、 IP核可复用技术、软硬件协同设计技术、SOC 验证技术、可测性设计技术、低功耗设计技术、超深亚微米电路实现技术等 , 此外还要做嵌入式软件移植、开发研究 , 是一门跨学科的新兴研究领域。

SOCSOC 设计的关键技术设计的关键技术

SOCSOC 软硬件协同设计流程软硬件协同设计流程

• 总线结构及互连技术,直接影响芯片总体性能发挥; • 软、硬件的协同设计技术,主要解决硬件开发和软件开发同步进行问题;

• IP 可重用技术,如何对其进行测试和验证; • 低功耗设计技术,主要研究多电压技术、功耗管理技术以及软件低功耗利用技术等;

• 可测性设计方法学,研究 eJTAG 设计技术、批量生产测试问题; • 超深亚微米实现技术,研究时序收敛、信号完整性、天线效应等。

SOCSOC 的发展重点的发展重点