可编程逻辑器件的发展历程及概述Word下载.docx

上传人:b****5 文档编号:18913860 上传时间:2023-01-02 格式:DOCX 页数:36 大小:1.30MB
下载 相关 举报
可编程逻辑器件的发展历程及概述Word下载.docx_第1页
第1页 / 共36页
可编程逻辑器件的发展历程及概述Word下载.docx_第2页
第2页 / 共36页
可编程逻辑器件的发展历程及概述Word下载.docx_第3页
第3页 / 共36页
可编程逻辑器件的发展历程及概述Word下载.docx_第4页
第4页 / 共36页
可编程逻辑器件的发展历程及概述Word下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

可编程逻辑器件的发展历程及概述Word下载.docx

《可编程逻辑器件的发展历程及概述Word下载.docx》由会员分享,可在线阅读,更多相关《可编程逻辑器件的发展历程及概述Word下载.docx(36页珍藏版)》请在冰豆网上搜索。

可编程逻辑器件的发展历程及概述Word下载.docx

nSpecificIC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000

件以下)之中。

几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。

(注:

不同厂家的叫法不尽相同,Xilinx把,基于查找表技术,SRAM工艺,要外挂配置用的EEPRO的PL

D叫FPGA把基于乘积项技术,Flash(类似EEPRO工艺)工艺的PLD叫CPLD;

Altera把自己的PLD产品:

MAX系列(乘积项技术,EEPRO工艺),FLEX系列(查找表技术,SRAM工艺)都叫作CPLD,即复杂PLD(ComplexPLD),由于FLEX系列也是SRAM工艺,基于查找表技术,要外挂配置用的EPROM用法和Xilinx的

FPGA一样,所以很多人把Altera的FELX系列产品也叫做FPGA.

(8寸硅晶片,每一个小方格经过切割,封装后就是一片芯片)

FPG"

CPLD概述

FPGA现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。

同以往的PAL,GAL等相比较,FPG"

CPLD勺规模比较大,它可以替代几十甚至几千块通用IC芯片。

这样的FPGA/CPLD实际上就是一个子系统部件。

这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。

经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。

比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市

场。

通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。

全球PLD/FPGA产品60%以上是由

Altera和Xilinx提供的。

可以讲Altera和Xilinx共同决定了PLD技术的发展方向。

当然还有许多其它类型器件,如:

Lattice,Vant

is,Actel,Quicklogic,Lucent等。

(99年Lattice收购了Vantis,成为第三大PLD供应商;

同年Xilinx收购了Philips的PLD部门)

1998年世界十大PLD公司

排名

公司

销售额(亿美金)

市场占有率

1

Altera

5.96

30.1

2

Xilinx

5.74

29.0

3

Vantis

2.20

11.1

4

Lattice

2.18

11.0

5

Actel

1.39

7.0

6

Luccent

0.85

4.3

7

Cypress

0.44

2.2

8

Atmel

0.42

2.1

9

Philips

0.28

1.4

10

Quicklogic

0.24

1.2

资料来源:

99年4月《电子产品世界》

尽管FPGA,CPL和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的,

•一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。

•输入/输出块:

•连接逻辑块的互连资源。

连线资源:

由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。

典型的PLD的框图

I()ControlBlotk

对用户而言,CPLD与FPGA勺内部结构稍有不同,但用法一样,所以

多数情况下,不加以区分。

CPLD芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点

之外,还具有以下几个优点:

-随着VlSI(VeryLargeScaleIC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGAZCPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。

•FPG"

CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。

所以,FPGA/CP

LD的资金投入小,节省了许多潜在的花费。

•用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用

不同软件就可实现不同的功能。

所以,用FPG*PLD试制样片,能以最快的速度占领市场。

FPGA/CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。

当电路有少量改动时,更能显示出FPG"

CPLD的优势。

电路设计人员使用FPG*CPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。

PLD/FPGA结构与原理初步

(一)

一.基于乘积项(Product-Term)的PLD结构

采用这种结构的PLD芯片有:

Altera的MAX7OO0MAX3000系列(EEPRO工艺),Xilinx的XC9500系列(F

lash工艺)和Lattice,Cypress的大部分产品(EEPRO工艺)

我们先看一下这种PLD的总体结构(以MAX7000为例,其他型号的结构与此都非常相似):

图1基于乘积项的PLD内部结构

这种PLD可分为三块结构:

宏单元(Marocell),可编程连线(PIA)和I/O控制块。

宏单元是PLD的基本结构,由它来实现基本的逻辑功能。

图1中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画

岀)。

可编程连线负责信号传递,连接所有的宏单元。

I/O控制块负责输入输岀的电气特性控制,比如可

以设定集电极开路输出,摆率控制,三态输出等。

图1左上的INPUT/GCLK1INPUT/GCLRn,INPUT/OE1,l

NPUT/OE2是全局时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。

宏单元的具体结构见下图:

图2宏单元结构

左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现“与”逻辑。

后面的乘积项选择矩阵是一个“或”阵列。

两者一起完成组合逻辑。

图右侧是一个可编程D触发器,

它的时钟,清零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积项阵列)产生的时钟和清零。

如果不需要触发器,也可以将此触发器旁路,信号直接输给PIA或输岀到1/

O脚。

二.乘积项结构PLD的逻辑实现原理

16:

25

作者:

出处:

PLD将以下面的方式来实现组合逻辑

图4

A,B,C,D由PLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A,A反,B,B反,C,C反,D,D反8个输出。

图中每一个叉表示相连(可编程熔丝导通),所以得到:

f=fl+f2=(A*C*!

D)+(B*C*!

D)。

这样组合逻辑就实现了。

图3电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器来实现。

时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。

可编程触发器的输岀与I/O脚相连,把结果输岀到芯片管脚。

这样PLD就完成了图3所示电路的功能。

(以上这些步骤都是由软件自动完成的,不需要人为干预)

图3的电路是一个很简单的例子,只需要一个宏单元就可以完成。

但对于一个复杂的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单元相连,宏单元的输岀也可以连接到可编程连线阵列,再做为另一个宏单元的输入。

这样PLD就可以实现更复杂逻辑。

这种基于乘积项的PLD基本都是由EEPRO和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。

PLD/FPGA结构与原理初步

(二)

一.查找表(Look-Up-Table)的原理与结构

采用这种结构的PLD芯片我们也可以称之为FPGA如altera的ACEX,APE)系列,xilinx的Spartan,Virte

x系列等。

查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM这样,每输入

一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

下面是一个4输入与门的例子,

实际逻辑电路

LUT的实现方式

地址线

a.

h

1盟1EAMdirr)

输出

a1>

11s.nuit

c1>

d1>

1LX4

d

a,b,c,d输入

逻辑输岀

地址

RAM中存储的内容

0000

0001

1111

二.基于查找表(LUT)的FPGA勺结构

我们看一看xilinxSpartan-II的内部结构,如下图:

xilinxSpartan-ll芯片内部结构

CIN1

ClK

CE

Slices结构

Spartan-Il主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。

在spartan-ll中,一个CLB包括

2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。

Slices可以看成是Spartanll实现逻辑

的最基本结构(xilinx其他系列,如SpartanXL,Virtex的结构与此稍有不同,具体请参阅数据手册)

altera的FLEX/ACEX等芯片的结构如下图:

逻辑单元(LE)内部结构

FLEX/ACEX的结构主要包括LAB,I/O块,RAM块(未表示出)和可编程行/列连线。

在FLEX/ACEX中,一个

LAB包括8个逻辑单元(LE),每个LE包括一个LUT,—个触发器和相关的相关逻辑。

LE是FLEX/ACEX芯

片实现逻辑的最基本结构(altera其他系列,如APEX的结构与此基本相同,具体请参阅数据手册)

.查找表结构的FPGA逻辑实现原理

我们还是以这个电路的为例:

A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了

所有可能的逻辑结果,通过地址查找到相应的数据然后输岀,这样组合逻辑就实现了。

该电路中D触发器

是直接利用LUT后面D触发器来实现。

时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。

触发器的输岀与I/O脚相连,把结果输岀到芯片管脚。

这样PLD就完成了图3所

示电路的功能。

(以上这些步骤都是由软件自动完成的,不需要人为干预)

这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。

对于一个LUT无法完成的的

电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。

由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAMC艺的,而SRAM工艺的芯片在掉电后信息就会丢失,一定需要外加一片专用配置芯片,在上电的时候,由这个专用配置芯片把数据加载到

FPGA中,然后FPGA就可以正常工作,由于配置时间很短,不会影响系统正常工作。

也有少数FPGA采用

反熔丝或Flash工艺,对这种FPGA就不需要外加专用的配置芯片。

二.选择PLD还是FPGA

根据上一篇PLD的结构和原理可以知道,PLD分解组合逻辑的功能很强,一个宏单元就可以分解十几个甚至20—30多个组合逻辑输入。

而FPGA勺一个LUT只能处理4输入的组合逻辑,因此,PLD适合用于设计

译码等复杂组合逻辑。

但FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻

辑单元成本大大低于PLDo所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。

HDL语言概述

11:

00作者:

 

HDL概述

随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。

目前最主要的硬件描述语言是VHDL

和VerilogHDL。

VHDL发展的较早,语法严格,而VerilogHDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。

VHDL和VerilogHDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。

国外电子专业很多会在本科阶段教授VHDL在研究生阶段教授v

erilog。

从国内来看,VHDL的参考书很多,便于查找资料,而VerilogHDL的参考书相对较少,这给学习

VerilogHDL带来一些困难。

从EDA技术的发展上看,已出现用于CPLD/FPGA设计的硬件C语言编译软件,虽然还不成熟,应用极少,但它有可能会成为继VHDL和Verilog之后,设计大规模CPLD/FPGA勺又一种手段。

VHDL语言简介:

VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,诞生于1982

年。

1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。

自IEEE公布了VHDL的标准版本,

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

此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。

1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本

的VHDL,即IEEE标准的1076-1993版本,(简称93版)。

现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

有专

家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。

VHDL主要用于描述数字系统的结构,行为,功能和接口。

除了含有许多具有硬件特征的语句外,V

HDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工

程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)

和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

应用VHDL进行工程设计的优点是多方面的。

(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳

的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随

时可对设计进行仿真模拟

(3)VHDL吾句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效,

高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,

可以利用EDA工具进行逻辑综合和优化,并自动的把VHD潴述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

附:

一个简单的VHDL的例子:

(12位寄存器)

---VHDLExample

--User-DefinedMacrofunction

ENTITYreg12IS

PORT(

d:

INBIT_VECTOR(11DOWNTO0);

clk:

INBIT;

q:

OUTBIT_VECTOR(11DOWNTO0));

ENDreg12;

ARCHITECTUREaOFreg12IS

BEGIN

PROCESS

WAITUNTILclk='

1'

;

q<

=d;

ENDPROCESS;

ENDa;

VerilogHDL简介

任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过

程中那样,必须等到完成样机后才能进行实测和调试。

VerilogHDL就是在用用最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(Gatew

ayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。

1985年Moorby推出它的第三个商用仿真器Verilog-XL,

获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。

1989年CADENC公司收购了GDA公司,使

得VerilogHDL成为了该公司的独家专利。

1990年CADENC公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995.

VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快

的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。

与之相比,VHDL的学习要困难一些。

但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。

一个简单的VerilogHDL的例子:

(12位寄存器)

//VerilogExample

//User-DefinedMacrofunction

modulereg12(d,clk,q);

'

definesize11

input['

size:

0]d;

inputclk;

output['

0]q;

reg['

always@(posedgeclk)

q=d;

endmodule

其他VDL语言简介:

ABEL-HDL

这是一种早期的硬件描述语言。

在可编程逻辑器件的设计中,可方便准确的描述所设计的电路逻辑功能。

他支持逻辑电路的多种表达形式,其中包括逻辑方程,真值表和状态图。

ABEL语言和Verilog语言同属一

种描述级别,但ABEL语言的特性受支持的程度远远不如Verilog。

Verilog是从集成电路设计中发展而

来,语言较为成熟,支持的EDA工具很多。

而ABEL语言从早期可编程逻辑器件(PLD)的设计中发展而来。

ABEL-HDL被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器的设计。

如DOS版的ABEL3.0软件可对包括GAL期间进行全方位的逻辑描述和设计,而

在诸如Lattice的ispEXPERTQATAIO的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1