可编程逻辑器件_第1页
可编程逻辑器件_第2页
可编程逻辑器件_第3页
可编程逻辑器件_第4页
可编程逻辑器件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、9.1 引言引言 可编程逻辑器件可编程逻辑器件(PLD)是在半导体存储器基础上是在半导体存储器基础上发展起来的一种发展起来的一种大规模集成电路大规模集成电路,它通过改变外加的,它通过改变外加的二进制码,而不必去改变电路的硬件,就可以改变电二进制码,而不必去改变电路的硬件,就可以改变电路的逻辑功能。路的逻辑功能。 第第9 9章章 可编程逻辑器件可编程逻辑器件 可编程逻辑器件大致经历了从可编程逻辑器件大致经历了从PROM、PLA、PAL、GAL、EPLD、FPGA、 CPLD的发展过程,在结构、工的发展过程,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和艺、集成度、功能、速度和灵活性

2、方面都有很大的改进和提高。提高。 9.2可编程逻辑器件的发展可编程逻辑器件的发展 1. 70年代,熔丝编程的年代,熔丝编程的PROM和和PLA器件。器件。 2. 70年代末,年代末,PAL器件。器件。 3. 80年代初,比年代初,比PAL使用更灵活的使用更灵活的GAL器件。器件。 4 . 80年代中期,提出现场可编程概念,世界上第一片年代中期,提出现场可编程概念,世界上第一片FPGA器件出现,同时推出器件出现,同时推出EPLD(Erasable Programmble Logic Device)器件,较器件,较GAL器件有更高的集成度,可以用器件有更高的集成度,可以用紫外线或电擦除。紫外线或电

3、擦除。 5. 80年代末,在系统可编程技术,并且推出了一系列具年代末,在系统可编程技术,并且推出了一系列具备在系统可编程能力的器件备在系统可编程能力的器件CPLD(复杂可编程逻辑器(复杂可编程逻辑器件)。件)。 1 1GALGAL器件的结构器件的结构9.3 可编程逻辑器件的结构可编程逻辑器件的结构输入缓冲器输入缓冲器与阵列与阵列固定或门固定或门输出逻辑宏单元输出逻辑宏单元 1 1. IN1和和IN2为输入信号,经缓冲门输出为输入信号,经缓冲门输出IN1和和IN2的原、的原、反变量输入与阵列。反变量输入与阵列。 2. GAL器件与逻辑是可编程的,或逻辑固定。可编程器件与逻辑是可编程的,或逻辑固定

4、。可编程与门的输出等于图中点黑点的输入信号的与逻辑。与门的输出等于图中点黑点的输入信号的与逻辑。 3.内部控制信号内部控制信号A用来控制输出二选一数据用来控制输出二选一数据MUX的输的输出,当出,当A为为0时,可以实现组合逻辑电路;当时,可以实现组合逻辑电路;当A为为1时,可时,可以实现时序逻辑电路。控制信号以实现时序逻辑电路。控制信号B控制三态反相器处于控制三态反相器处于工作状态还是高阻状态。当工作状态还是高阻状态。当B为为1时,三态门处于工作状时,三态门处于工作状态;当态;当B为为0时,则三态反相器为高阻状态。内部控制信时,则三态反相器为高阻状态。内部控制信号状态由计算机编程自动生成。号状

5、态由计算机编程自动生成。 GAL的结构的结构 2 2CPLD的结构的结构 多个与多个与GAL器件内部结构相似的宏单元器件内部结构相似的宏单元每个宏单元每个宏单元有多个有多个I/O连接端与连接端与IC的的外引线连接外引线连接通过可编程连接阵列与控制信号连接通过可编程连接阵列与控制信号连接 MAXEPM7128S MAXEPM7128S为为ALTERA公司的公司的CPLD器件器件,具有具有2500个可用门,个可用门,128个个宏单元。宏单元。 MAXEPM7128S的引脚说明的引脚说明 引脚名引脚名引脚号引脚号引脚功能引脚功能INPUT/GCLK183输入输入/全局时钟全局时钟1INPUT/GCL

6、Rn1输入输入/全局清零全局清零INPUT/OE184输入输入/输出使能输出使能1INPUT/OE2/GCLK22输入输入/输出使能输出使能2/全局时钟全局时钟2TDI14编程数据输入编程数据输入TMS23编程模式选择编程模式选择TCK62编程时钟编程时钟TDO71编程数据输出编程数据输出GNDINT42,825V电压地端电压地端GNDIO7,19,32,47,59,72I/O地地VCCINT(5.0V Only)3,435V电压输入端电压输入端I/O4、5、6等等68个个输入输出引脚输入输出引脚 3. FPGA的结构的结构 它由它由3种可编程单元和一个种可编程单元和一个用于存放编程数据的静态

7、存储用于存放编程数据的静态存储器组成。这器组成。这3种可编程单元是:种可编程单元是:输入输入/输出模块(输出模块(IOB,I/O Block)、逻辑单元()、逻辑单元(LE)和)和互连资源(互连资源(IR,Inter- connect Resource)。它们的)。它们的工状态全都由数据存储器工状态全都由数据存储器中的数定。中的数定。 , FPGA的基本逻辑单元的基本逻辑单元LE是由可编程的查找表是由可编程的查找表(LUT,Look-Up Table)构成。典型的)构成。典型的FPGA器件如器件如Altera的的Cyclone、Stratix系列,系列,Xilinx的的Spartan、Virt

8、ex系列等。系列等。LUT本质上就是一个本质上就是一个RAM。目前。目前FPGA中多使用中多使用4输入的输入的LUT,所以每一个,所以每一个LUT可以可以看成一个有看成一个有4位地址线的位地址线的161位的位的RAM。当用户通。当用户通过原理图或硬件描述语言描述了一个逻辑电路以后,过原理图或硬件描述语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入果,并把结果事先写入RAM,每输入一个信号进行,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对逻辑运算就等于输入一个地址进行查表,找出地址对应的内

9、容,然后输出即可。应的内容,然后输出即可。用用LUTLUT实现实现4 4输入与门逻辑输入与门逻辑 实际逻辑电路实际逻辑电路a,b,c,d 输入输入逻辑输出逻辑输出0000000010.11111LUTLUT的实现方式的实现方式地址地址RAM中存储的内容中存储的内容0000000010.11111. FPGA中的中的LE一般包含一个一般包含一个LUT、一个、一个D触发器触发器和相和相关的逻辑。这样,关的逻辑。这样,LE即可实现组合逻辑,又可实现即可实现组合逻辑,又可实现时序时序逻辑。逻辑。 如实现时序逻辑:如实现时序逻辑:n+1()QDAB CD虚线部分的组合虚线部分的组合逻辑可由逻辑可由LUT

10、实实现现D触发器触发器实实现时序逻辑现时序逻辑 9.4 9.4 用可编程逻辑器件实现基本逻辑电路用可编程逻辑器件实现基本逻辑电路9.4.19.4.1传统的电子设计与传统的电子设计与可编程逻辑器件可编程逻辑器件设计比较设计比较设计一个逻辑电路实现逻辑函数设计一个逻辑电路实现逻辑函数 BCBAX1.1.传统的电子设计流程传统的电子设计流程第一步:设计电路,画出实现逻辑函数的逻辑图第一步:设计电路,画出实现逻辑函数的逻辑图 第二步:选择相应的逻辑元器件第二步:选择相应的逻辑元器件ICIC,通过各通过各ICIC逻辑门的正确连接,实现相应的逻辑功能。逻辑门的正确连接,实现相应的逻辑功能。第三步:进行电路

11、的实际调试与测试。第三步:进行电路的实际调试与测试。2. 2. PLD设计流程设计流程 首先根据设计要求写出相应的逻辑表达式,在计首先根据设计要求写出相应的逻辑表达式,在计算机上利用算机上利用PLD软件通过原理图输入方式或硬件描软件通过原理图输入方式或硬件描述语言(述语言(HDL)输入方式输入逻辑设计描述,经计)输入方式输入逻辑设计描述,经计算机仿真验证后,下载到算机仿真验证后,下载到PLD器件中。器件中。 例如,选用例如,选用Altera公司的公司的PLD器件器件EPM7128S来来实现逻辑函数实现逻辑函数 PLD内部引脚内部引脚27、28和和29被设置为输入端被设置为输入端A、B和和C ,

12、引脚,引脚73被设置为输出端被设置为输出端X。本设计实例仅利用了。本设计实例仅利用了CPLD内部很少的资源,可以在内部很少的资源,可以在CPLD中写入数以百中写入数以百计的逻辑表达式,并且可重复擦写。计的逻辑表达式,并且可重复擦写。BCBAX3. 3. 传统的电子设计与传统的电子设计与PLDPLD设计比较设计比较 自顶向下的设计,自顶向下的设计,采采用硬件描述语言作为设计用硬件描述语言作为设计输入。用输入。用HDLHDL对数字电子对数字电子系统进行抽象的行为与功系统进行抽象的行为与功能描述,从而可以在电子能描述,从而可以在电子设计的各个阶段、各个层设计的各个阶段、各个层次进行计算机模拟验证,次

13、进行计算机模拟验证,保证设计过程的正确性。保证设计过程的正确性。可以大大降低设计成本,可以大大降低设计成本,缩短设计周期。缩短设计周期。 传统电子设计方法的特点:传统电子设计方法的特点: PLDPLD设计的特点设计的特点: : 自底向上设计方法,自底向上设计方法,在这个设计过程中的任一在这个设计过程中的任一时刻,最底层目标器件的时刻,最底层目标器件的更换都可能需要重新开始更换都可能需要重新开始设计。设计。复杂电路的设计、复杂电路的设计、调试十分困难。如果某一调试十分困难。如果某一设计过程存在错误,查找设计过程存在错误,查找和修改十分不便。设计过和修改十分不便。设计过程中产生大量文档,不易程中产

14、生大量文档,不易管理,可移植性差。只有管理,可移植性差。只有在设计出样机后才能进行在设计出样机后才能进行实测。实测。 9.4.29.4.2可编程逻辑器件开发环境及设计实例可编程逻辑器件开发环境及设计实例 1.1.可编程逻辑器件的开发环境可编程逻辑器件的开发环境 PLD生产商都有自己的生产商都有自己的EDA软件包,它将开发软件包,它将开发PLD器器件的各个功能模块集成在同一个件的各个功能模块集成在同一个EDA设计环境中,便于使设计环境中,便于使用者开发其公司的用者开发其公司的PLD产品。产品。 2 . PLD器件器件具体编程步骤如下:具体编程步骤如下: (1) (1) 设计输入:设计输入:打开打

15、开PLD设计设计套件,进入设计套件,进入设计输入状态。目前常用的可编程数字系统设计输入方输入状态。目前常用的可编程数字系统设计输入方式分别为原理图输入方式、硬件描述语言输入和二式分别为原理图输入方式、硬件描述语言输入和二者的混合输入方式。者的混合输入方式。 (2) (2) 通过软件对设计输入进行综合:将原理图通过软件对设计输入进行综合:将原理图或或HDLHDL语言描述综合为二进制文件。该二进制文件语言描述综合为二进制文件。该二进制文件可以准确地描述要实现的逻辑电路,将该二进制文可以准确地描述要实现的逻辑电路,将该二进制文件下载的件下载的PLD器件内。通过编程可以改变器件内。通过编程可以改变PL

16、D内部内部的电气连接,从而实现所需的特定功能。的电气连接,从而实现所需的特定功能。 (3) (3) 对综合后的文件进行功能仿真:波形仿真对综合后的文件进行功能仿真:波形仿真器可以对所设计的项目进行仿真,从而检查逻辑电器可以对所设计的项目进行仿真,从而检查逻辑电路功能的正确性。如果仿真结果正确,就可以将设路功能的正确性。如果仿真结果正确,就可以将设计下载到计下载到PLD器件中。并通过实际输入信号和输出器件中。并通过实际输入信号和输出的状态对逻辑电路进行测试。的状态对逻辑电路进行测试。 ALTERA公司的公司的DE2开发板开发板 可编程可编程器件器件 例:用例:用Altera公司的公司的 FPGA

17、实现逻辑函数实现逻辑函数 1.1.设计输入:设计输入:打开打开Altera公司提供的公司提供的PLD设计设计 套件套件Quartus II。BCBAX采用原理采用原理图图完成设计完成设计输输入,计算入,计算机机显示界面。显示界面。采用采用Verilog HDL语言输入语言输入方式,方式,计算机计算机显示界面。显示界面。2.2.设计仿真设计仿真采用采用Quartus II设计套件对两种输入方式设计套件对两种输入方式进行仿真,计算机显示界面如图:进行仿真,计算机显示界面如图:原理图和原理图和Verilog语言语言输入方式都可以实现输入方式都可以实现要求的逻辑功能。要求的逻辑功能。* *9.5 9.

18、5 可编程逻辑器件的编程和配置可编程逻辑器件的编程和配置 CPLD和和FPGA在实现逻辑设计时可以在未设计具在实现逻辑设计时可以在未设计具体电路时,就把芯片焊接在印制电路板上,在设计调试体电路时,就把芯片焊接在印制电路板上,在设计调试时可以任意改变时可以任意改变PLD内部内部的硬件逻辑关系,而不必改变的硬件逻辑关系,而不必改变电路板的结构。电路板的结构。 目前常见的可编程逻辑器件的编程工艺有两种:目前常见的可编程逻辑器件的编程工艺有两种: 1 1基于电可擦除存储单元的基于电可擦除存储单元的EEPROM或或Flash技术。技术。CPLD一般使用此技术进行编程。一般使用此技术进行编程。CPLD被编

19、程后改变被编程后改变了电可擦除存储单元中的信息,掉电后可保持了电可擦除存储单元中的信息,掉电后可保持。 2 2基于基于SRAM查找表的编程技术查找表的编程技术。FPGA一般使用该一般使用该技术进行编程。编程信息是保持在技术进行编程。编程信息是保持在SRAM中的,掉电后中的,掉电后立即丢失,下次上电时,还需要重新载入编程信息,因立即丢失,下次上电时,还需要重新载入编程信息,因此该类器件的编程一般称为配置此该类器件的编程一般称为配置(Configure)。 CPLD编程和编程和FPGA配置可以使用专用的编程设备,配置可以使用专用的编程设备,也可以使用下载电缆。也可以使用下载电缆。 如如Altera

20、的的ByteBlaster并行下载电缆,一端连并行下载电缆,一端连接接PC机的并行打印口,另一端连接需要编程或配置的机的并行打印口,另一端连接需要编程或配置的器件,与器件,与Altera公司的设计套件配合就可以对该公司公司的设计套件配合就可以对该公司的多种的多种CPLD和和FPGA进行配置或进行配置或编程。编程。 ByteBlaster并行下载电缆与并行下载电缆与Altera器件的接口一器件的接口一般是般是10芯的接口芯的接口: 1010芯下载接口芯下载接口 10.3.2.1 稳压电源的技术指标稳压电源的技术指标 在线编程就是当系统上电并正常工作时,计算机通在线编程就是当系统上电并正常工作时,

21、计算机通过系统过系统中中CPLD编程编程接口直接对其进行编程,器件在编接口直接对其进行编程,器件在编程后立即进入正常工作状态。程后立即进入正常工作状态。 9.5.1 9.5.1 CPLD的在线编程的在线编程 Altera的的MAX7000系列系列CPLD是采用是采用IEEE 1149.1 JTAG 接口方式对器件进行编程接口方式对器件进行编程 : 与计算机并与计算机并口相连口相连 CPLDCPLD器件器件ByteBlasterByteBlaster 10.3.2.1 稳压电源的技术指标稳压电源的技术指标 在在FPGA内部,有许多可编程的多路器、逻辑、互联内部,有许多可编程的多路器、逻辑、互联线

22、结点和线结点和RAM初始化内容等,都需要配置数据来控制。初始化内容等,都需要配置数据来控制。FPGA中的配置中的配置RAM (Configuration RAM)就起到这样一就起到这样一个作用,它存放了配置数据的内容。由于断电后个作用,它存放了配置数据的内容。由于断电后RAM内内容消失,所以容消失,所以FPGA的配置数据一般都下载到相应的配置的配置数据一般都下载到相应的配置芯片内,上电后自动加载到芯片内,上电后自动加载到FPGA内内。 9.5.2 FPGA 9.5.2 FPGA的配置的配置 Altera公司的公司的FPGA系列器件的配置数据可以使用系列器件的配置数据可以使用3种方式载入到目标器件中种方式载入到目标器件中: 1.FPGA主动(主动(Active)方式)方式 2.FPGA被动(被动(Passive)方式方式 3 3.JTAG配置配置 1.FPGA主动配置方式主动配置方式:FPGA主动输出控制和同步主动输出控制和同步配置时钟信号给配置时钟信号给Altera的专用串行配置芯片,在配置芯片的专用串行配置芯片,在配置芯片收到命令后,就把配置数据发到收到命令后,就把配置数据发到FPGA,完成,完成配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论