第二章集成电路设计及SOC概论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FPGA概述
可编程逻辑器件概述
起 源 : 可 编 程 逻 辑 器 件 (Programmable Logic Device, PLD)起源于20世纪70年代,是在专用集成 电路(ASIC)的基础上发展起来的以后总新型逻辑器 件。
主要特点:完全由用户通过软件进行配置和编程, 从而完成某种特定的功能,并且可以反复擦写。
高度复杂电路系统的要求 什么是分层分级设计?
将一个复杂的集成电路系统的设计问题分解为复杂性较低 的设计级别,这个级别可以再分解到复杂性更低的设计级 别;这样的分解一直继续到使最终的设计级别的复杂性足 够低,也就是说,能相当容易地由这一级设计出的单元逐 级组织起复杂的系统。一般来说,级别越高,抽象程度越 高;级别越低,细节越具体
设计的基本过程
功能设计
逻辑和电路设计
版图设计
集成电路设计的最终输出是掩膜版图,通过
制版和工艺流片可以得到所需的集成电路。 设计与制备之间的接口:版图
设计特点和设计信息描述
设计特点(与分立电路相比)
对设计正确性提出更为严格的要求 测试问题 版图设计:布局布线 分层分级设计(Hierarchical design)和模块化 设计
实际设计流程
系统功能设计 输出:语言或功能图 软件支持:多目标多约束条件优化问题 无自动设计软件 仿真软件:VHDL仿真器、Verilog仿真器
实际设计流程
2、逻辑和电路设计 概念:确定满足一定逻辑或电路功能的由逻辑或电路 单元组成的逻辑或电路结构 过程: A.数字电路:RTL级描述 逻辑综合(Synopsys,Ambit) 逻辑网表
现场编程
XILINX:用SRAM存储内容控制互连:允许修改
配置程序—— 存储器单元阵列中各单元状态— —控制CLB的可选配置端、多路选择端 控制IOB的可选配置端 控制通导晶体管的状态和开关矩阵的连接关系 ACTEL:可熔通的点,不可逆,易于保密
适用:200块以下的原型设计
PLD和FPGA设计方法的特点
集成电路设计
引
言
什么是集成电路?(相对分立器件组成的电路而言) 把组成电路的元件、器件以及相互间的连线放在单个芯片 上,整个电路就在这个芯片上,把这个芯片放到管壳中进 行封装,电路与外部的连接靠引脚完成。 什么是集成电路设计? 根据电路功能和性能的要求,在正 确选择系统配置、电路形式、器件结构、工艺方案和设计 规则的情况下,尽量减小芯片面积,降低设计成本,缩短 设计周期,以保证全局优化,设计出满足要求的集成电路。
1980 年份
1990
1998
2000
微电子技术的加工尺度
微米
亚微米
深微米
超深微米
纳米
功能电路
系统集成
SOC的设计概念
SOC的设计理念与传统IC不同。 SOC把系统的处理机 制、模型算法、芯片结构、各层次电路直到器件的设计紧 密结合,在一个或若干个单片上完成整个系统的功能。与 普通IC的设计不同,SOC的设计以IP核为基础,以硬件 描述语言为系统功能的主要描述手段,借助于以计算机为 平台的EDA工具进行。SOC的出现是电子设计领域的一 场革命。如果说在上个世纪,电子系统的设计主要是在 PCB层次上将各种元器件合理连接,那么进入本世纪后, 电子系统的设计将主要是以HDPLD或ASIC为物理载体的 系统级芯片的设计,它对电子信息产业的影响将不亚于20
一个4输入与门电路的例子来说明LUT实现逻辑功能原理
实际逻辑电路
a,b,c,d入 0000 逻辑输出 0
LUT实现方式
RAM地址 0000 … 1 RAM中存储 的内容 0
0001 … 1111
0
0001 … 1111
0 … 1
FPGA的芯片结构
芯片组成
主要有可编程输入/输出单元(IOB)、基本可 编程逻辑单元、完整的时钟管理、内嵌SRAM、 丰富的布线资源、底层嵌入功能单元和内嵌专用 单元等 。
查找表(Look-Up-Table)简称为LUT,LUT本质上就是 一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可 以看成是一个有4位地址线的16╳1 的 RAM。当用户通过原 理图或HDL语言描述一个逻辑电路以后,PLD/FPGA开发软 件会自动计算逻辑电路的所有可能结果,并把真值表(即结 果)写入RAM,这样,每输入一个信号进行逻辑运算就等于 输入一个地址去进行查表,找出地址对应的内容,然后输出 即可。
第二阶段:(20世纪70年代中到80年代中)
结构上稍微复杂的可编程阵列逻辑(PAL)和通用阵列逻辑
(GAL)器件,正式被称为PLD,能够完成各种逻辑运算功能。
第三阶段:(20世纪80年代中到90年代末)
Xilinx和Altera公司分别推出了与标准门阵列雷似的FPGA以
及类似于PAL结构的扩展性CPLD。提高了逻辑运算速度,逻辑 单元灵活、集成度高、适用范围宽、编程灵活。
版图设计过程:由底向上过程
版图验证与检查 DRC:几何设计规则检查 ERC:电学规则检查 LVS:网表一致性检查 POSTSIM:后仿真(提取实际版图参数、电阻、电 容,生成带寄生量的器件级网表,进行开关级逻辑模 拟或电路模拟,以验证设计出的电路功能的正确性和 时序性能等),产生测试向量 软件支持:成熟的CAD工具用于版图编辑、人
单元库:一组单元电路的集合
经过优化设计、并通过设计规则检查和反复工艺
验证,能正确反映所需的逻辑和电路功能以及性 能,适合于工艺制备,可达到最大的成品率。
元件 门 元胞 (功能块) 基于单元库的描述:层次描述
宏单元
单元库可由厂家提供,可由用户自行建立
B. 模拟电路:尚无良好的综合软件 RTL级仿真通过后,根据经验进行电路设计 原理图输入 电路模拟与验证 模拟单元库
机交互式布局布线、自动布局布线以及版图检查 和验证
SOC设计及FPGA概念
系统芯片(SOC)是微电子技术发展的必然
微电子技术的发展
GSI >109 ULSI 106~109 LSI MSI 103~104 100~1000 1966 1971
VLSI 105~106
集成度
SSI 10~100
1948 1961
第四阶段:(20世纪90年代末至今)
出现了可编程片上系统(SOPC)和片上系统(SOC)技术。涵 盖了实时化数字信号处理、高速数据收发器、复杂计算以及嵌入 式系统设计技术的全部内容。Xilinx和Altera公司也退出了相应的 SOC FPGA产品。
FPGA的基本工作原理
查找表(Look-Up-Table)结构
掩膜编程:通过设计掩膜版图来实现所需的电路功
能,但由于可编程逻辑器件的规则结构,设计及验证 比较容易实现。
可编程逻辑器件分类
ROM、EPROM、EEPROM、PLA、 PAL、GAL 可编程逻辑阵列(PLA):实现数字逻 辑
基本思想:组合逻辑可以转换成与-或逻辑 基本结构:
现场可编程门阵列(FPGA) (逻辑单元阵列)
④
在器件上,第4类为易失性器件,掉电后,配置数据 会丢失,在每次上电后需要重新进行数据配置。
可编程逻辑器件的发展史(4个阶段)
第一阶段:(20世纪70年代初到70年代中)
只有简单的PROM、紫外线可擦除只读存储器(EPROM)和 电可擦除只读存储器(EEPROM)3种。只能完成简单的数字逻
辑功能。
IP核简介
IP(Intelligent Property)核
是具有知识产权的集成电路芯核总称,是经过反复 验证过的、具有特定功能的宏模块,与芯片制造工艺 无关,可以移植到不同的半导体工艺中。 IP核的提供方式上看,通常将其分为软核、硬核和固 核这三类。从完成IP核所花费的成本来讲,硬核代价最大; 从使用灵活性来讲,软核的可复用性最高。
逻辑和电路设计的输出:网表(元件及其连接关系)
或逻辑图、电路图 软件支持:逻辑综合、逻辑模拟、电路模拟、时序分析 等软件 (EDA软件系统中已集成)
实际设计流程
3.
版图设计
概念:根据逻辑与电路功能和性能要求以及工艺
水平要求来设计光刻用的掩膜版图, IC设计的最终输出。 什么是版图?一组相互套合的图形,各层版图相 应于不同的工艺步骤,每一层版图用不同的图案 来表示。 版图与所采用的制备工艺紧密相关
从层次和域表示分层分级设计思想
域:行为域:集成电路的功能 结构域:集成电路的逻辑和电路组成 物理域:集成电路掩膜版的几何特性和 物理特性的具体实现 层次:系统级、算法级、寄存器传输级(也称 RTL级)、 逻辑级与电路级
系统级
算法级
RTL 级
逻辑级 电路级
行为、性 CPU、存储 能描述 器、控制器 等 I/O 算法 硬件模块、 数据结构 ALU、寄存 状态表 器、 MUX 微存储器 布尔方程 门、触发器
现场编程:
功能、逻辑设计 网表 硬件编程器 编程文件 编程软件
PLD器件
掩膜编程: PLA 版图自动生成系统,可以从
网表直接得到掩膜版图 设计周期短,设计效率高,有些可多次擦除, 适合新产品开发
FPGA的转换
FPGA转换到门阵列,降低价钱 网表转换,用布局布线后提出的网表及库单元映射 时序一致性 门阵列芯片的可测性(FPGA母片经过厂家严格测试) 管脚的兼容性 多片FPGA向单片门阵列转换
常见PLD 产品:可编程只读存储器 (PROM) 、现场 可编程逻辑阵列 (FPLA) 、可编程阵列逻辑 (PAL) 、 复杂可编程逻辑器件 (CPLD) 、和现场可编程门阵 列 (FPGA) 等类型。它们的内部结构和表现方法各 不相同
按照编程工艺可分为4类:
① ② ③
熔丝和反熔丝编程器件 可擦除可编程只读存储器编程器件 电信号可擦除的可编程只读存储器 (EEPROM ) 编程器件 SRAM编程器件 前3类为非易失性器件,编成后,配置数据保留
世纪60年代集成电路的出现所产生的影响。
可编程逻辑器件设计方法(PLD方法)
概念:用户通过生产商提供的通用器件自ቤተ መጻሕፍቲ ባይዱ进行现
场编程和制造,或者通过对与或矩阵进行掩膜编程, 得到所需的专用集成电路
编程方式:
现场编程:采用熔断丝、电写入等方法对已制备好
的PLD器件实现编程,不需要微电子工艺,利用相应 的开发工具就可完成设计,有些PLD可多次擦除,易 于系统和电路设计。
芯片、电路 板、子系统 部件间的物 理连接 芯片、宏单 元 单元布图
微分方程 晶体管、电 管子布图 阻、电容
设计信息描述
分类 内容 语言描述 (如VHDL语 功能描述与逻辑描述 言、 Verilog语言等 )
功能设计 设 计 逻辑设计 电路设计 功能图 逻辑图 电路图 符号式版图 , 版图
图
版图设计
举例:x=a’b+ab’;CMOS与非门;CMOS反相器版图
典型的实际设计流程
1、系统功能设计 目标:实现系统功能,满足基本性能要求 过程:功能块划分,RTL级描述,行为仿真 功能块划分 RTL级描述(RTL级VHDL、Verilog)
RTL级行为仿真:总体功能和时序是否正确
功能块划分原则:
集成度高,使用灵活,引脚数多(可多达100
多条),可以实现更为复杂的逻辑功能 不是与或结构,以可配置逻辑功能块 (configurable logic block)排成阵列,功能 块间为互连区,输入/输出功能块IOB 可编程的内部连线:特殊设计的通导晶体管 和可编程的开关矩阵 CLB、IOB的配置及内连编程通过存储器单 元阵列实现
既要使功能块之间的连线尽可能地少, 接口清晰,又要求功能块规模合理,便 于各个功能块各自独立设计。同时在功 能块最大规模的选择时要考虑设计软件 可处理的设计级别
算法级:包含算法级综合:将算法级描述转换到 RTL级描述 综 合: 通过附加一定的约束条件从高一级设 计层次直接转换到低一级设计层次的过程 逻辑级:较小规模电路
逻辑模拟与验证,时序分析和优化 难以综合的:人工设计后进行原理图输入,再进行 逻辑模拟
电路实现(包括满足电路性能要求 的电路结构和元件参数):调用单元库
完成;
没有单元库支持:对各单元进行电路
设计,通过电路模拟与分析,预测电路 的直流、交流、瞬态等特性,之后再根 据模拟结果反复修改器件参数,直到获 得满意的结果。由此可形成用户自己的 单元库