EDA技术南京林业大学信息学院吴海青
2006.8
课程简介
以,数字电路,为基础:学习了数字电路的基本设计方法。
,可编程逻辑器件,,面向实际工程应用,紧跟技术发展,掌握数字系统新的设计方法。
,数字信号处理,,后续课程,应用的一个方面,由 FPGA代替 DSP来实现算法,
提高系统的速度。
课程宗旨
更新数字电路的设计观念,建立用 PLD器件取代传统 TTL器件设计数字电路的思想
更新数字系统设计手段,学会使用硬件描述语言( Hardware Description
Language)代替传统的数字电路设计方法来设计数字系统。
课程内容
器件为什么能够编程
了解大规模可编程逻辑器件的结构及工作原理( 了解一类器件 )
怎样对器件编程
熟悉一种 EDA软件的使用方法(工具)
以 Altera公司的 QuartusII为例( 熟悉一种设计工具 )
掌握一种硬件描述语言(方法),以设计软件的方式来设计硬件(重点)
以 VHDL语言为例( 掌握一门语言 )
教学安排
理论教学( 40学时)
上机实践( 8学时 +2周实习)
考核方式
平时 [上课、作业等情况 +实验成绩(实验报告) ]
理论笔试(考试)
教材及参考书
宋万杰,CPLD技术及其应用,西安电子科大出版社。
侯伯亨,顾新,VHDL硬件描述语言与数字逻辑电路设计,西安电子科大出版社。
CPLD / FPGA开发及应用,西安电子科技大学出版社。
课本:潘松,EDA实用教程本节主要内容
1.1 EDA技术及其发展
1.2 EDA技术的主要内容
1.3 EDA设计方法
1.4 EDA技术及 EDA工具的发展趋势第一章 EDA技术概况
1.1 EDA技术及其发展
1.什么是 EDA?
Electronic Design Automation
电子设计自动化
2,EDA技术定义
半导体工艺设计自动化
可编程器件设计自动化
电子系统设计自动化
印刷电路板设计自动化
仿真与测试、故障诊断自动化
形式验证自动化
通称为 EDA工程
(广义定义)
EDA技术定义
1、以 大规模可编程逻辑器件 为设计载体.
2、以 硬件描述语言 为系统逻辑描述的主要表达方式.
3、以 计算机,大规模可编程逻辑器件 (PLD)的 开发软件 及实验室开发系统为设计工具.
4、通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作.
5、最终形成电子系统或专用集成芯片的一门新的技术。
(狭义定义)
3,电子系统设计技术的发展过程:
1)手工设计阶段
2)早期电子 CAD技术
3)计算机辅助工程设计 CAE阶段
4)电子设计自动化 (EDA)技术
5) SOC,ESDA设计技术
SOC,System On a Chip
ESDA,Electronic System Design Auotmation
1)手工设计阶段,
全人工手段、实际电路搭试。
查找、修改错误十分不便,复杂电路设计、调试十分困难,缺点突出。
早期的电路板设计
2)早期电子 CAD技术,
20世纪 70年代,利用计算机、二维图形编辑与分析的 CAD工具,可完成布图布线等高度重复复杂性工作,如:
完成图形(逻辑图、版图)输入与编辑工作,可进行几何规则检查( DRC,Design Rule
Check)、电学规则检查( ERC,Electrical Rule
Check)等。软件有,OrCAD,Tango,Protel软件。
3)计算机辅助工程设计 CAE阶段
20世纪 80年代初,出现了低密度的可编程逻辑器件( PLA programmable array logic和 GAL
generic array logic),相应的 EDA开发工具主要解决电路设计没有完成之前的功能检测等问题。
80年代后期,EDA工具已经可以进行初级的设计描述、综合、优化和设计结果验证。
4)电子设计自动化 (EDA)技术:
整个(或绝大部分)设计过程可由计算机完成。提供各种自动综合工具:自动布线,逻辑综合、版图综合、
测试综合,物理验证等。主要体现在两方面:
a,HDL的使用。 HDL可实现从抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行模拟验证,保证设计过程的正确性。降低设计成本,缩短周期。
b,库( Library)的引入( IP核)。 EDA完成各种自动设计,源于各类库的支持。如逻辑模拟时的模拟库、类似的综合库、版图库、测试库等。
必然趋势、高级阶段。比较成熟阶段。
5) SOC与 ESDA设计技术:
随着芯片集成度的提高(上亿个晶体管,
数百万门),可将一个完整的电子系统集成到一个芯片上,构成单片系统、片上系统或系统芯片( SOC,System On a
Chip)。相应的设计技术由 EDA 提升到
ESDA:
Electronic System Design
Automation。
处于起步阶段。
实现载体:大规模可编程逻辑器件描述方式:硬件描述语言设计工具:开发软件、开发系统硬件验证:实验开发系统
1,2 EDA技术的主要内容
FPGA__ Field Programmable Gates Array
CPLD__ Complex Programmable Logic
Device
主流公司,Xilinx,Altera,Lattice,Actel
FPGA/CPLD 显著优点:
开发周期短、投资风险小、产品上市速度快、市场适应能力强、硬件修改升级方便。
1,大规模可编程逻辑器件三类器件的主要性能指标比较
ASIC,Application Specific Integrated Circuits
· aê P L D A S I Cè é? á-
êù 1ü 1? 1ü 1? 2é
ˉ 3è 1ü 1? 1ü 1? 2é
·? 1ü 1? 1ü 1? 2é
§?¢ éa 1ü 1? 2é 1?
ùá éa 1ü 1? 2é 2é
ì éa 1ü 1? 2é 1?
é? ó? μ ò?3è 1ü 1? 2é 1?
a ′ 1ü 1? 2é 1?
§?¢?¤ μ§3 1ü 1? 1ü 1? 2é
VHDL,IEEE标准,系统级抽象描述能力较强。
Verilog,IEEE标准,门级开关电路描述能力较强。
ABEL,系统级抽象描述能力差。
2,硬件描述语言( HDL__Hardware Description
Language)
EDA开发工具分为:
1.芯片厂商提供
2.第三方专业 EDA公司提供
3,软件开发工具注:目前业内几家专业的 EDA公司:
Synopsys,Cadence,Mentor,Magma,etc
这些公司专注于不同的领域,能提供包括板级设计,芯片设计等几乎所有的 EDA工具。
Altera 公司,QuartusⅡ,MaxplusⅡ 系列
Xilinx 公司,ISE Foundation,ISE Aillance系列
Lattice 公司,ispEXPERT,ispLEVER系列
Actel公司,Libero,Designer系列芯片厂商一般都提供集成化的开发系统注:
但是由于芯片厂商不是专业的 EDA公司,这些公司的主要业务是芯片,所以这些公司提供的设计输入,
仿真和综合软件功能比较差,这些公司为了提供更好的集成化开发环境,常常采用第三方 EDA公司的专业工具综合类:
Mentor公司 LeonardoSpectrum,Precision RTL
Synplicity公司的 Synplify/Synplify Pro
Synopsys公司的 FPGAexpress,FPGA compilerⅡ
仿真类:
Mentor公司的 Modelsim
Aldec 公司的 Active HDL
Cadence公司的 NC-SIM
Synopsys公司的 VCS等设计输入:
HDL Designer Series,Summit,Active HDL等第三方 EDA公司所提供的开发软件
4,实验开发系统
1,3传统方法与 EDA方法比较:
传统方法
1,自下至上( Bottom Up)
2,通用的逻辑元、器件
3,系统硬件设计的后期进行仿真和调试
4,主要设计文件是电路原理图
5、手工完成
EDA方法
1,自上至下( Top Down)
2,PLD(可编程逻辑器件)
3,系统设计的早期进行仿真和修改
4,多种设计文件,发展趋势以 HDL描述文件为主
5,降低硬件电路设计难度
6、自动完成
EDA技术极大的降低了硬件电路的设计难度,提高了设计效率,是电子系统设计方法的质的飞跃传统设计方法自下而上 (Bottom-up)的设计方法
优点
设计人员对于用这种方法进行设计 比较熟 悉
实现 各 个子块电路 所需 的时间短
缺 点
一 般 来 讲 对系统的 整 体 功 能把握不 足
实现 整 个系统的 功 能 所需 的时间 长 因为必须 先 将各 个 小 模块 完 成; 使 用这种方法对设计人员之间相 互 进行 协 作有 比较 高的要求。
EDA设计方法自顶而下 (Top-Down)的设计方法
优点
在设计 周期 伊始 就做 好 了系统 分 析。
由 于设计的主要仿真和 调试 过程 是在高 层次完 成的,所 以能 够早期 发现结构设计上的 错 误,避免 设计工作的 浪费,
同 时 也减 少了逻辑仿真的工作量。
自 顶 向下的设计方法方 便 了 从 系统 划分 和 管 理 整 个 项 目,
使得 几 十 万门 甚 至 几百万门规模的复杂数字电路的设计成为可能,并 可 减 少设计人员,避免 不必要的重复,设计提高了设计的一 次 成 功 率。
缺 点
得 到的 最小 单 元 不 标准 。
制造成 本 高。
EDA技术的优点:
1),采用自上至下( Top - Down)的设计方法;
2),采用系统早期仿真;
3),多种设计描述方式;
4),高度集成化的 EDA开发系统;
5),PLD在系统 (在线 )编程( ISP) 能力;
6),可实现单片系统集成( SOC— System On a Chip),
减少产品体积、重量,降低综合成本;
7),提高产品的可靠性;
8),提高产品的保密程度和竞争能力;
9),降低电子产品的功耗;
10),提高电子产品的工作速度。
1.4 EDA技术及 EDA工具的发展趋势
1,EDA技术的发展趋势
( 1)广度上:大型机 —— 工作站 —— 微机
( 2)深度上:
ESDA( Electronic System Design Automation )
CE( Concurrent Engineering 并行设计工程)
SOC/SOPC ( system on a programmable chip 单芯片集成)
ESDA强调建立从系统到电路的统一描述语言,在设计综合中考虑各种约束条件,
统一进行设计描述和优化,提高设计的一次成功率。
ESDA技术中,系统设计的核心仍是可编程逻辑器件的设计。
Concurrent Engineering(CE):
CE是将电子产品及相关制造直至销售、维护全过程统一进行设计的一种方法,其核心是产品设计对象的全面可预见性。
CE要求从管理层次上把工艺、工具、任务、智力和时间的安排协调一致,使用统一的集成化设计环境,由若干个相关的设计小组共享数据库,同步地进行设计。
并行工程( CE)和自上而下( Top-Down)设计方法被誉为构成现代电子产品开发方式的 两大特征 。体现了设计策略的变革。
单芯片集成( SOC/SOPC,System On a Chip
/System On a Programmable Chip)
随着 PLD器件集成度的提高(一亿以上个晶体管,
数千万门)和开发系统的完善,可实现整个电子系统 → 单芯片设计( SOPC,System On a
Programmable Chip,可编程单片系统、可编程片上系统),相应的 EDA技术提升为 ESDA。在此领域,将更加强调用 HDL对复杂系统完成系统级的抽象描述。目前研究有一定进展,尚不能实用化。
2,EDA工具的发展趋势
1)输入工具( 多种 —— 语言描述方式为主)
2)混合信号处理能力(模拟与数字信号)
3)仿真工具(功能仿真、时序仿真)
4)综合工具综合:高层次描述转换为低层次描述,是
EDA技术的核心。
第二章 PLD
2.1 数字电路课程的回顾
布尔函数--数字系统数学基础(卡诺图)
数字电路设计的基本方法
组合电路设计问题?逻辑关系?真值表?化简?逻辑 图
时序电路设计列出原始状态转移图和表?状态优化?状态分配?触发器选型?求解方程式?逻辑图数字电路课程的回顾
使用中、小规模器件设计电路( 74,54
系列)
编码器( 74LS148)
译码器( 74LS138,74LS154 )
比较器( 74LS85)
计数器( 74LS193,74LS161,74LS90)
移位寄存器( 74LS194)
………
数字电路课程的回顾
设计方法的局限
卡诺图只适用于输入比较少的函数的化简。
采用,搭积木,的方法的方法进行设计。必须熟悉各种中小规模芯片的使用方法,从中挑选最合适的器件,缺乏灵活性。
设计系统所需要的芯片种类多,且数量很大。
数字电路课程的回顾
采用中小规模器件的局限
电路板面积很大,芯片数量很多,功耗很大,
可靠性低--提高芯片的集成度
设计比较困难--能方便地发现设计错误
电路修改很麻烦--提供方便的修改手段
PLD器件的出现改变了这一切
2.2 概述
2.2.1 PLD出现的背景
电路集成度不断提高
SSI?MSI?LSI?VLSI
计算机技术的发展使 EDA技术得到广泛应用
设计方法的发展
自下而上?自上而下
用户需要设计自己需要的专用电路
专用集成电路( ASIC- Application Specific
Integrated Circuits)开发周期长,投入大,风险大
可编程器件 PLD:开发周期短,投入小,风险小
2.2.2 PLD器件的优点
集成度高,可以替代多至几千块通用 IC芯片
极大减小电路的面积,降低功耗,提高可靠性
具有完善先进的开发工具
提供语言、图形等设计方法,十分灵活
通过仿真工具来验证设计的正确性
可以反复地擦除、编程,方便设计的修改和升级
灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间
保密性好
2.2.3 PLD的发展趋势
向高集成度、高速度方向进一步发展
最高集成度已达到千万门级
向低电压和低功耗方向发展,
5V?3.3V?2.5V?1.8V? 1.1V? 0.9V?更低
内嵌多种功能模块
RAM,ROM,FIFO,DSP,CPU
向数、模混合可编程方向发展
2.1.1 PLD的发展进程
70年代初:熔丝编程的 PROM和 PLA (第一代)
70年代末,AMD公司推出 PAL
( Programmable Array Logic)
2.1 可编程逻辑器件概述
80年代初,Lattice公司推出 GAL( Generic Array
Logic) (第二代);
80年代中:
Xilinx公司推出 FPGA( Field Programmable
Gates Array) ;
Altera公司推出 EPLD( Erasable rogrammable
Logic Device) ;
90年代初:
Lattice公司提出 ISP( In System Programming)
概念,推出 ispLSI。
近年 PLD的发展密度:单片集成度已达数千万门速度:达 550MHz以上工艺:已达 0.09um or 0.065 um,属甚深亚微米技 术 ( VDSM— Very Deep Sub Micrometer)
PLD最显著的特点:
高集成度、高速度、高可靠和在系统编程 (ISP)
PLD已占整个 IC产值的 40%以上。 PLD的产量、
集成度每年增加 35%,成本降低 40%。
2005年已达到 5千万系统门
Logic Cells (Thousands)
On
-Ch
ip
RA
M
(K
bit
s)*
* assumes 25% of CLBs used as RAM
0
4000
8000
12000
16000
0 100 200 300 400 500 600
20052004
20032002
2001
10M
20M
30M
40M
50M
Altera? Stratix? Architecture
DSP Blocks
MegaRAM?
Blocks
I/O Elements
(IOEs)
M4K RAM
Blocks
Logic Array
Blocks (LABs)
Phase-Locked
Loops (PLLs)
M512 RAM
Blocks
48
Altera 产品系列主要性能
á- μ¤?§ ó? o§ êù μ R A M
£¨ FF £| I / O £¨ ns £| £¨?o £|
A P E X I I E P 2A 90 4000k 89280 1140 1,523,712
A P E X 20 K E P 20 K 15 00 E 1500k 51840 808 4 44 2,36 8
F L E X 10 K E P F 10 K 10 250k 4992 406 4 24,576
F L E X 80 00 E P F 80 50 50k 4032 360 3
F L E X 60 00 E P F 60 24 A 24K 1960 218 5
M A X 90 00 E P M 95 60 12k 560 212 12
M A X 70 00 E P M 72 56 5k 256 160 10
M A X 50 00 E P M 51 92 3,75 k 192 64 1
C l a s s i c E P 18 10 0,9k 48 48 20
μ àD ′ú aí 2úè ó éy
注,MAX5000系列已经停产
Xilinx 产品 系列主要性能
C L B / êù μy?ˉ?ü à¥?é ′ó ó? R A M
1ê μ¤?§ £¨ ns £| £¨ mA £| o§ I / O £¨?o £|
X C 200 0 X C 201 8L 1,0 K ~ 1,5 K 100 172 10 4 74
X C 300 0 X C 309 0 5,0 K ~ 6,0 K 320 928 6 4 144
X C 310 0 X C 319 5/ A 6,5 K ~ 7,5 K 484 1320 0.9 8 176
X C 400 0 X C 406 3E X 6 2 K ~ 1 3 0 K 2304 5376 2 12 384 73728
X C 520 0 X C 521 5 1 4 K ~ 1 8 K 484 1936 4 8 244
X C 620 0 X C 626 4 6 4 K ~ 1 0 0 K 16384 16384 8 512 262K
X C 810 0 X C 810 9 8,1 K ~ 9,4 K 2688 1344 1 24 208
X C 720 0 X C 727 2A 2.0K 72 126 15 8 72
X C 730 0 X C 731 44 3.8K 144 234 7 24 156
X C 950 0 X C 952 88 6.4K 288 288 10 24 180
μ àD ′ú aí 2úè ó FF
Lattice 产品 系列主要性能
êù μé ′ó
£¨ ns £| I / O
i s pL S I 10 00 / E i s p1 04 8 8k 192 288 5 108
i s pL S I 20 00 / E / V i s p2 19 2 8k 192 192 6 110
i s pL S I 30 00 i s p3 44 8 20k 320 672 12 224
i s pL S I 50 00 V i s p5 51 2V 24k 512 384 10 384
i s pL S I 60 00 i s p6 19 2 25k 192 416 15 159
i s pL S I 80 00 i s p8 84 0 45k 840 1152 8.5 312
FF?μ àD ′ú aí 2úè ó 1ê μ¤?§
PLD工业市场份额据市场调研公司 Gartner Dataquest预测,2010年
FPGA和其它可编程逻辑器件 (PLD)市场将从 2005年的 32
亿美元增长到 67亿美元;同时预测,2006年 FPGA/PLD
市场将增长 14%至 37亿美元,2007年增长 18%至 43亿美元。由于 PLD为全球数字系统设计者提供了灵活、及时上市、集成的和低风险的解决方案,使 PLD市场得到了迅速地发展。 FPGA已成为各种更高层系统级功能的平台,
在未来将主导逻辑器件产业,逐步吞噬 ASIC,ASSP的市场份额。
Source,Dataquest,March 2000
a,从互连延时入手解决系统速度问题门延时:几百 ns → 不足 2ns
互连延时:相对门延时越来越大线宽 互连延时占系统延时比例
0,6u m 30%
0,5u m 50%
0,35 um 70%
近年 PLD的发展热点
b,在系统可编程技术( ISP)
ISP( In_System
Programmability/Programming):
是指对器件、电路板、整个电子系统进行逻辑重构和修改功能的能力。这种重构可以在制造之前、制造过程中、甚至在交付用户使用之后进行。
传统 PLD:先编程后装配;
ISP PLD:可先编程后装配,也可先装配后编程。
设计 产品面市速度快,减少原材料成本,提高器件及板级的可测试性。
制造减少制造成本,免去单独编程工序,免去重做印刷电路板的工作,大量减少库存,减少预处理成本,提高系统质量及可靠性。
现场服务 /
支持提供现场系统重构或现场系统用户化的可能,提供遥控现场升级及维护的可能
ISP技术的优越性现配置时间为几十 ~几百 ms
实时重配问题配置时间的极大缩短:
硬件 → 软硬件 → 资源
ISP的进一步发展:
2.2.4 PLD器件的分类--按集成度
低密度
PROM,EPROM,EEPROM,PAL,PLA,GAL
只能完成较小规模的逻辑电路
高密度,已经有超过五千万门的器件
EPLD,CPLD,FPGA
可用于设计大规模的数字系统 集成度高,甚至可以做到 SOC( System On a Chip)
PLD器件的分类--按结构特点
基于与或阵列结构的器件--阵列型
PROM,EEPROM,PAL,GAL,CPLD
CPLD的代表芯片如,Altera的 MAX系列
基于 LUT结构的器件--单元型
FPGA
PLD器件的分类--按编程工艺
熔丝或反熔丝编程器件-- Actel的 FPGA器件
体积小,集成度高,速度高,易加密,抗干扰,耐高温
只能一次编程,在设计初期阶段不灵活
SRAM--大多数公司的 FPGA器件
可反复编程,实现系统功能的动态重构
每次上电需重新下载,实际应用时需外挂 EEPROM
用于保存程序
EEPROM--大多数 CPLD器件
可反复编程
不用每次上电重新下载,但相对速度慢,功耗较大
2.2.5 数字电路的基本组成
任何组合电路都可表示为其所有输入信号的最小项的和或者最大项的积的形式。
时序电路包含可记忆器件(触发器),
其反馈信号和输入信号通过逻辑关系再决定输出信号。
输入电路输出电路或阵列与阵列输入项 乘积项 或项大的 PLD生产厂家
www.altera.com
最大的 PLD供应商之一
www.xilinx.com
FPGA的发明者,最大的 PLD供应商之一
www.latticesemi.com
ISP技术的发明者
www.actel.com
提供军品及宇航级产品
2.3 PLD的逻辑符号表示方法一、连接方式:
固定连接 不连接 可编程连接二、基本门的 PLD表示
1 与门:
F=A+B+C
A B C
3 输入缓冲器
2 或门
4 输出三态缓冲
PROM结构
与阵列为全译码阵列,器件的规模将随着输入信号数量
n的增加成 2n指数级增长。因此
PROM一般只用于数据存储器,不适于实现逻辑函数。
EPROM和 EEPROM
用 PROM实现组合逻辑电路功能实现的函数为:
BABAF1 BABAF2 BAF3
固定连接点
(与)
编程连接点
(或)
PLA结构
PLA的内部结构在简单 PLD中有最高的灵活性。
PAL结构
与阵列可编程使输入项增多,或阵列固定使器件简化。
或阵列固定明显影响了器件编程的灵活性
B
n
A
n
“或”阵列
(固定)
S
n
C
n + 1
“与”阵列
( 可编程 )
C
n
nnnnnnn
nnnnnnnnnnnnn
CBCABAC
CBACBACBACBAS


1
AnBnCn
AnBnCn
AnBnCn
AnBnCn
AnBn AnCn
BnCn
用 PAL实现全加器
GAL结构
GAL器件与 PAL器件的区别在于用可编程的输出逻辑宏单元( OLMC)
代替固定的或阵列。可以实现时序电路。
85年 Lattice公司首次 采用
EEPROM技术逻辑宏单元
OLMC
GAL器件的 OLMC
Output Logic Macro Cell
每个 OLMC包含或阵列中的一个或门
组成:
异或门:控制输出信号的极性
D触发器:适合设计时序电路
4个多路选择器三态数据选择反馈信号选择乘积项数据选择输出数据选择第三章 CPLD 与 FPGA
3,1 CPLD
以 ALTERA公司 MAX7000S系列为例表 3-1 MAX7000系列表,MAX 7000 器件封装提供封装 MAX 7000B (2.5 V) MAX 7000AE (3.3 V) MAX 7000S (5.0 V)
塑封 J引线芯片封装 (PLCC)
薄四角扁平封装 (TQFP)
塑封四角扁平封装 (PQFP)
高效四角扁平封装 (RQFP)
BGA
1.0毫米间距 FineLine BGA
0.8毫米间距 UBGA
PLD器件的命名与选型
EPM7 128 S L C 84- 10
EPM7:产品系列为 EPM7000系列
128:有 128个逻辑宏单元
S:电压为 5V,AE为 3.3V,B为 2.5V
L:封装为 PLCC,Q代表 PQFP等
C:商业级( Commercial) 0~ 70度,
I:工业级( Industry),- 40~ 85度
M:军品级( Military),- 55~ 125度
84:管脚数目
10:速度级别管脚的定义
特殊功能的管脚
电源脚 VCC和 GND,VCC一般分为 VCCINT和 VCCIO
两种
JTAG管脚:实现在线编程和边界扫描
配置管脚( FPGA):用于由 EEPROM配置芯片
信号管脚
专用输入管脚:全局时钟、复位、置位
可随意配置其功能为:输入、输出、双向、三态
MAX7000S系列结构图( Altera)
逻辑阵列模块 I/O单元连线资源逻辑阵列模块中包含多个宏单元宏单元内部结构乘积项逻辑阵列乘积项选择矩阵可编程触发器并联扩展乘积项串联扩展乘积项
I/O控制块可编程的 I/O单元
能兼容 TTL和 CMOS多种接口和电压标准
可配置为输入、输出、双向、集电极开路和三态等形式
能提供适当的驱动电流
降低功耗,防止过冲和减少电源噪声
支持多种接口电压(降低功耗)
1.2~ 0.5um,5V
0.35um,3.3V
0.25um,internal 2.5V,I/O3.3V
0.18um,internal 1.8V,I/O2.5V and 3.3V
PIA信号布线到 LAB的方式可编程连线阵列
在各个逻辑宏单元之间以及逻辑宏单元与 I/O单元之间提供信号连接的网络
CPLD中一般采用固定长度的线段来进行连接,因此信号传输的延时是固定的,
使得时间性能容易预测。
管脚:
有 44---208个引脚 各式封装,
引脚 44,68,84,100,160,192,208
分类
( 1) I/O 可以人为编程,也可以由软件选择
( 2) Vccint— 内部电源
VccIO— I/O接口电源
(3)专用接口 GCLR,GCLK,OE(或称全局控制信号管脚)
( 4) JTAG接口 TDI,TDO,TCK,TMS
JTAG( Joint Test Action Group)联合测试行动小组输出配置
多电压 I/O接口
Vccint— 内部电源 5V 5V
VccIO— I/O接口电源 5V 3.3V
S系列可编程为开漏输出(相当于 OC门)
摆率控制(高低电平转换的速率)
可以控制为高速或低噪声
可编程速度 /功耗控制
MAX7000提供节省功耗的工作模式,可以对每个独立的宏单元编程为高速( Turbo接通)或低速( Turbo关断)
工作模式
3.2 FPGA
Altera FLEX 10K 系列器件
Altera FLEX 10K 系列器件一、性能特点
( 1)业界第一种嵌入式可编程逻辑器件系列嵌入式阵列( EAB_Embedded Array Block)、
逻辑阵列( LAB_Logic Array Block)
( 2)高密度最大 250000门 /片,40960位内部 RAM( 20个
EAB),可实现单片集成
( 3)系统级特点
a.多电压 I/O接口、低功耗( SRAM工艺)
JTAG(Joint Test Action Group)
BST(Boundary Scan Test)
b,ICR(In Circuit Reconfiguration),在电路可重构。
c.时钟锁定 (Clock Lock)电路:减小时钟延迟和偏移
d.时钟自举 (Clock Boost)电路:时钟倍频
e.低变形时钟树形分配网络
( 4)灵活的内部连接快速通道( Fast Track),连续式布线结构特点:延迟可预测专用进位链:高速加法器、计数器、比较器专用级联链:实现高速、多输入逻辑函数 。
( 5)增强功能的 I/0引脚
I/O脚三态输出使能控制
I/O脚漏极开路选择( Open-Drain Option)
输出电压摆率 (Skew)控制:高速、或低噪 声
( 6)多种封装形式,多种器件类型
84 ~ 672引脚,相同封装引脚兼容
FLEX10K系列中集成度最小的是 FLEX10K10LC84:
FLEX10K10LC84内部结构图:
FLEX10K系列中 集成度 最大的是 FLEX10K250ABC600:
FLEX10K250ABC600内部结构图:
二、基本结构嵌入式阵列块 (EAB)、逻辑阵列块 (LAB),Fast Track和 I/O单元
FLEK10K器件的结构方框图
4 Dedicated Inputs,
2 Dedicated Clocks
Chip-Wide Reset,
Chip-Wide Output Enable
Embedded
Array
Block
(EAB)
Embedded
Array
Block
(EAB)
I/O Element
(IOE)
Logic
Array
Block
Local
Interconnect
Column
FastTrack
Interconnect
Logic
Element
Row
FastTrack
Interconnect
Peripheral Control Bus
FLEX 10K Family Block Diagram
(一) FLEX10K嵌入式阵列块 EAB(Embedded Array Block)
1,EAB结构:
可用于实现:
FIFO,ROM、
RAM、乘法器、
数字滤波器、
微处理器
2048位 RAM
数据线最宽 8位地址线最宽 11位同步设计、
异步设计
EAB 模块图
FLEX 10K EAB Details
Out Clock
Registers are cleared by chip-wide reset
In Clock
Write
Enable
Write
Pulse
Circuit
RAM/RO
M
2,048
Bits
11,10,9,8Address
1,2,4,8Data In 1,2,4,8
Data Out
Memory contents are
never cleared
Family Size Ports CAM? Product Terms?
FLEX 10K/V/A/B 2048 Single No No
FLEX 10KE 4096 Dual No No
ACEX 1K 4096 Dual No No
APEX 20K 2048 Dual No Yes
APEX 20KC/E 2048 Dual Yes Yes
APEX II 4096 Bidir,Dual Yes Yes
Mercury 4096 Quad Yes No
EABs and ESBs
EABs and ESBs are blocks of RAM
Can be used as RAM,ROM,FIFOs and so on
FLEX 10K Single-port RAM/ROM
2048 X 1
1024 X 2
512 X 4
256 X 8
Data In
Address
Write Enable
In Clock
Out Clock
Data Out
For synchronous RAM,both Address and Write Enable must be registered
Optional registers on inputs and outputConfiguration affects
bus widths
2、用 EAB实现 RAM功能
EAB中 RAM的大小可灵活配置:
256x8 512x4 1024x2 2048x1
EAB存贮结构
( 1)将 EAB级联成,字宽更宽,的 RAM。
QUARTUSⅡ 软件自动级联(无需附加逻辑)
两个 512? 4级联成 512? 8
与 FPGA中分布式 RAM不同,
查找表构成
(16x1)RAM
组成大 RAM时,
存取时间变长,
并占用大量器件资源。 扩展 EAB
( 2)将 EAB扩展成,更深,(地址线宽度更宽 )的 RAM
两个 2048x1 EAB
自动复用成一个
4096x1 EAB块:
复用器选择线作为附加地址线引入一小的附加延迟复用 EAB
( 3)实现同步 RAM、异步 RAM
( 4)仿真 ROM
ROM的内容可由 Altera的存贮器初始化文件
(,mif)确定,比真正 ROM更灵活。
3、用 EAB 实现 FIFO功能
FIFO( First In First Out-先进先出)缓冲器:
用于高速的、突发性的数据缓存。
4,EAB构成查找表 LUT( Look up Table)
EAB在只读模式下编程可构成查找表。用 LUT
查找结果比用算法计算快得多,可实现高速的乘法器、数字滤波器等。
5,EAB与逻辑单元
EAB用作 LUT,能实现较复杂的逻辑功能,占用器件面积更小,速度更快。
逻辑单元实现相对简单的功能。如要实现较复杂功能,则所需逻辑单元较多,
占用器件面积较大,速度变慢。
6、动态重配置在器件其它部分工作时,可随时重写
EAB的内容。
E
(二)逻辑阵列块( LAB _Logic Array Block )
LAB由 8个 LE、
LAB控制信号及
LAB局部互连线组成。
FLEX 10K LAB的方块图
4种全局信号:
Clock,Preset、
Clear,OE
高速、低偏移全同步化设计
Co
lumn
In
terco
nn
ect
Row Interconnect
Global Control Nets,
Dedicated Clocks
FLEX 10K Family LAB
LAB
Local
Interconnect
LE1
LE2
LE3
LE4
LE5
LE6
LE7
LE8
LAB
Control
Signals
(三)逻辑单元( LE )
LE(Logic Element) 是 FLEX10K 结构 中的最小单元。
四个部分:
1、查找表
( LUT)
2、可编程寄存器
3,专用进位链
4,专用级联链寄存器打包
Logic Element
labclr1
Chip-Wide
Reset
labclr2
Look-Up
Table
(LUT)
Carry
Chain
Cascade
Chain
Carry-In Cascade-In
data1
data2
data3
data4
Clock and
Clock Enable
Select
labclk1
labclk2
Carry-Out Cascade-Out
PRN
CLRN
To FastTrack Interconnect,
MegaLAB Interconnect,or Local
Interconnect
D Q
ENA
Packing Register Select
labclkena1
labclkena2
Asynchronous
Clear/Preset/
Load Logic
Synchronous
Load & Clear
Logic
To FastTrack Interconnect,
MegaLAB Interconnect,or
Local Interconnect
LAB-wide
Synchronous
Clear
LAB-wide
Synchronous
Load
APEX 20K— Other LEs are similar
1、查找表( LUT)
LUT(Look Up Table)是一种函数发生器,
可快速计算 4个变量的任意函数。
LUT有两种方式输出:
直接输出(寄存器旁路输出)
寄存器输出
2、可编程寄存器可设置成 D,T,JK,SR触发器;
触发器的时钟 (Clock)、清除 (Clear)、置位
(Preset)控制信号可由以下驱动:
专用输入引脚,通用 I/O引脚,内部逻辑信号。
使用触发器可构成时序逻辑电路;
旁路触发器可构成组合逻辑电路。
寄存器打包,LUT驱动一个输出,寄存器驱动另一个输出,LUT和寄存器可独立使用,
完成不相关的功能。可提高 LE的利用率。
3、进位链专用高速数据通道。 LE之间约 0.2ns 高速 向前进位。
用于:高速计数器、任意位数加法器、比较器等
n+1个 LE实现 n位全加器
LUT分成两部分:
一部分产生两输入信号及进位信号的,和,;
一部分产生进位输出信号。
进位链操作
Look-Up
Table
(LUT)
Carry
Chain
Cascade
Chain
Carry-In Cascade-In
data1
data2
data3
data4
labclr1
Clock and
Clock Enable
Select
labclk1
labclk2
Carry-Out Cascade-Out
PRN
CLRN
D Q
Chip-Wide
Reset
ENA
labclr2
labclkena1
labclkena2
Asynchronous
Clear/Preset/
Load Logic
Synchronous
Load and Clear
Logic
LAB-wide
Synchronous
Clear
LAB-wide
Synchronous
Load
APEX 20K LE
Carry Chain
0
10
20
30
40
50
60
70
80
90
100
Max,Period
(ns)
4 8 16 32
N
Using Carrys Not Using Carrys
Adder Speeds
4、级联链专用高速数据通道。用相邻的多个 LUT 分别计算函数的各个部分,实现高扇入的逻辑函数。
n个 LE实现
4n个变量的函数级联链操作低有效 高有效
Cascade Logic
Look-Up
Table
(LUT)
Carry
Chain
Cascade
Chain
Carry-In Cascade-In
DATA1
DATA2
DATA3
DATA4
LAB Clear/
Preset 1
LAB Clear/
Preset 2
Clock
Select
LAB Clock 1
LAB Clock 2
Carry-Out Cascade-Out
Clear/
Preset
Logic
PRN
CLRN
To Row,
Column
Interconnects
D Q
Chip-Wide
Reset
ENA
To LAB
Local
Interconnect
Dedicated routing
Not Stratix,Cyclone
Cascade Chain
LUT
LE1
LUT
LE2
LUT
LEn
Cascades LUT Outputs,
Implementing High-Performance,
Wide Fan-in Functionsin[3..0]
in[7..4]
in[4n-1,,4(n-1)] Result of Inputsin[0] to 4[n-1]
8-Input NAND Gate
LE
LUTin[2..0]
LE
LUTin[5..3]
LE
LUT
in[7..6]
result
result
LUT
LE
in[3..0]
LUT
LE2
in[7..4]
in0
in2
in1
in3
in4
in5
in6
in7
result
Eight-input NAND with Cascades
Used automatically by
synthesis
Can cause routing
congestion
Without Cascade Chains—
3 LEs
Using Cascade Chains— 2
LEs
(四) 快速通道互 连( Fast Track)
Fast Track组成:
行连线带、
列连线带特点:
快速并且布线延迟可预测
FLEX 10K 器件的互连资源其它 FPGA连线:由不同长度的布线及开关矩阵组成分段式互连结构弱点:布线延迟的不可预测性布线资源
(五) I/O单元( IOE— Input Output Element)
IOE包含一个双向 I/O缓冲器和一个寄存器。
FLEX10K器件 I/O( IOE)
特点:
1,I/O引脚可作为输入 /输出或双向引脚。
2、寄存器可作为外部数据的输入寄存器,
也可作为内部数据的输出寄存器。
3、输出缓冲器输出信 号的电压摆率可调,
可配置成低噪声或高速度工作方式。
4、具有集电极开路输出选择。
I/O单元与行、列通道的连接关系:
(a)I/O单元与行的连接 (b)I/O单元与列 的连接
n为每行的通道数
m为每个引脚的行通道数
(a)
n为每列的通道数
m为每个引脚的列通道数
(b)
工作模式
正常模式
运算模式
加减法计数模式
可清零计数模式查找表的基本原理实际逻辑电路 LUT的实现方式
a,b,c,d 输入 逻辑输出 地址 RAM中存储的内容
0000 0 0000 0
0001 0 0001 0
...,0,.,0
1111 1 1111 1
N个输入的逻辑函数需要 2的 N次方的容量的 SRAM
来实现,一般多个输入的查找表采用多个逻辑块级连 的方式查找表的基本原理
N个输入的逻辑函数需要 2的 N次方的容量的 SRAM
来实现,一般多于输入的查找表采用多个逻辑块级连 的方式查找表 与门查找表 与门查找表 与门
d [ 3,,0 ]
d [ 7,,4 ]
d [ 1 1,,0 ]
FPGA中的嵌入式阵列( EAB)
可灵活配置的 RAM块
用途
实现比较复杂的函数的查找表,如正弦、余弦等。
可实现多种存储器功能,如 RAM,ROM,双口 RAM,FIFO,Stack等
灵活配置方法,256? 8,也可配成 512? 4
内部晶体震荡器
高速反向放大器用于和外部晶体相接,形成内部晶体振荡器。
提供将振荡波形二分频成对称方波的功能。
CPLD与 FPGA的区别
CPLD FPGA
内部结构 Product- term Look- up Table
程序存储 内部 EEPROM SRAM,外挂 EEPROM
资源类型 组合电路资源丰富 触发器资源丰富集成度 低 高使用场合 完成控制逻辑 能完成比较复杂的算法速度 慢 快其他资源 - EAB,锁相环保密性 可加密 一般不能保密
FPGA与 CPLD的区别
FPGA采用 SRAM进行功能配置,可重复编程,但系统掉电后,SRAM中的数据丢失 。 因此,需在 FPGA外加 EPROM,将配置数据写入其中,系统每次上电自动将数据引入 SRAM中 。 CPLD器件一般采用
EEPROM存储技术,可重复编程,并且系统掉电后,EEPROM中的数据不会丢失,
适于数据的保密 。
FPGA与 CPLD的区别
FPGA器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个 CLB结合起来实现。
CPLD的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。
FPGA与 CPLD的区别
FPGA为细粒度结构,CPLD为粗粒度结构 。
FPGA内部有丰富连线资源,CLB分块较小,芯片的利用率较高。 CPLD的宏单元的与或阵列较大,通常不能完全被应用,
且宏单元之间主要通过高速数据通道连接,
其容量有限,限制了器件的灵活布线,因此 CPLD利用率较 FPGA器件低。
FPGA与 CPLD的区别
FPGA为非连续式布线,CPLD为连续式布线。
FPGA器件在每次编程时实现的逻辑功能一样,
但 走的路线不同,因此 延时不易控制,要求开发软件允许工程师对关键的路线给予限制。
CPLD每次布线路径一样,CPLD的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。 连续式互连结构 消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。 CPLD的延时较小。
PLD的设计步骤设计输入设计处理下载编程功能仿真时序仿真在线测试设计输入
原理图输入
使用元件符号和连线等描述
比较直观,但设计大规模的数字系统时则显得繁琐
HDL语言输入
逻辑描述功能强
成为国际标准,便于移植
原理图与 HDL的联系与高级语言与汇编语言类似设计处理
综合和优化
优化:将逻辑化简,去除冗余项,减少设计所耗用的资源
综合:将模块化层次化设计的多个文件合并为一个网表,使设计层次平面化
映射
把设计分为多个适合特定器件内部逻辑资源实现的逻辑小块的形式
布局与布线
将已分割的逻辑小块放到器件内部逻辑资源的具体位置并利用布线资源完成各功能块之间的连接
生成编程文件
生成可供器件编程使用的数据文件模拟仿真
功能仿真
不考虑信号传输和器件的延时
时序仿真
不同器件的内部延时不一样,不同的布局、
布线延时也会有比较大的不同
在线验证
利用实现手段测试器件最终功能和性能指标