资源描述
8.半导体存储器半导体存储器8.1 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)简介简介8.2 现场可编程门阵列现场可编程门阵列(FPGA)8.3 可编程逻辑器件开发过程简介简介可编程逻辑器件开发过程简介简介8.1 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)简介简介1.逻辑块逻辑块2.可编程内部连线可编程内部连线3.I/O单元单元8.1 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)简介简介与与PAL、GAL相比,相比,CPLD的集成度更高,有更多的的集成度更高,有更多的输入端、乘积项和更多的宏单元;输入端、乘积项和更多的宏单元;每个块之间可以使用可编程内部连线每个块之间可以使用可编程内部连线(或者称为可编程或者称为可编程的开关矩阵的开关矩阵)实现相互连接。实现相互连接。CPLD器件内部含有多个逻辑块,每个逻辑块都相当于器件内部含有多个逻辑块,每个逻辑块都相当于一个一个GAL器件器件;1.逻辑块逻辑块逻辑块是逻辑块是CPLD实现逻辑功能的核心模块。实现逻辑功能的核心模块。逻辑块逻辑块内部内部的可的可编程编程连线连线区区I/O单元单元乘积项乘积项阵列阵列乘积项乘积项分配分配宏单元宏单元MacrocellPI通用的通用的CPLD器件逻辑块的结构器件逻辑块的结构(1)可编程乘积项阵列)可编程乘积项阵列(2)乘积项分配和宏单元)乘积项分配和宏单元GAL中的乘积项是固定的,对应一个宏单元。但逻中的乘积项是固定的,对应一个宏单元。但逻辑块中的乘积项可以编程,分配到不同的宏单元。灵辑块中的乘积项可以编程,分配到不同的宏单元。灵活性大大提高。活性大大提高。CPLD中的宏单元与中的宏单元与GAL中的类似。中的类似。2.可编程内部连线可编程内部连线可编程内部连线的作用是实现逻辑块与逻辑块之间、逻辑块与可编程内部连线的作用是实现逻辑块与逻辑块之间、逻辑块与I/O块之间以及全局信号到逻辑块和块之间以及全局信号到逻辑块和I/O块之间的连接。块之间的连接。连线区的可编程连接一般由连线区的可编程连接一般由E2CMOS管实现。管实现。可编程连接原理图可编程连接原理图 内部连线内部连线 宏单元或宏单元或I/O连线连线 E2CMOS管管 T 当当E2CMOS管被编程为导通时,管被编程为导通时,纵线和横线连通;未被编程为截纵线和横线连通;未被编程为截止时,两线则不通止时,两线则不通。I/O单元是单元是CPLD外部封装引脚和内部逻辑间的接口。每个外部封装引脚和内部逻辑间的接口。每个I/O单元对应一个封装引脚,对单元对应一个封装引脚,对I/O单元编程,可将引脚定单元编程,可将引脚定义为输入、输出和双向功能。义为输入、输出和双向功能。3.I/O单元单元 数据选择器数据选择器提供提供OE号。号。OE=1,I/O引引脚为输出脚为输出8.2 现场可编程门阵列现场可编程门阵列(FPGA)8.2.1 FPGA实现逻辑功能的基本原理实现逻辑功能的基本原理8.2.2 FPGA结构简介结构简介8.2现场可编程门阵列现场可编程门阵列(FPGA)CPLD用可编程用可编程“与与-或或”阵列实现逻辑函数。编程基阵列实现逻辑函数。编程基于于E2PROM或快闪存储器。或快闪存储器。FPGA是用查找表是用查找表(LUT)实现逻辑函数。复杂函数使用实现逻辑函数。复杂函数使用众多的众多的LUT和触发器实现。编程基于和触发器实现。编程基于SRAM。编程编程8.2.1 FPGA实现逻辑功能的基本原理实现逻辑功能的基本原理 LUT是是FPGA实现逻辑函数的基本单元。实现逻辑函数的基本单元。2输入输入LUT可实现可实现任意任意2变量组合逻辑函数。变量组合逻辑函数。4个个SRAM存储单元存储单元 目前目前FPGA中的中的LUT大多是大多是45个输入,个输入,1个输出。当变量个输出。当变量数超过一个数超过一个LUT的输入数时,需要将多个的输入数时,需要将多个LUT扩展使用。扩展使用。LUT扩展扩展-用用2输入输入LUT实现函数实现函数F1=ABF2=BCF=F1+F2 在在LUT的基础上增加触发器便可实现时序电路。的基础上增加触发器便可实现时序电路。8.2.2 FPGA结构简介结构简介 FPGA包括:可编程逻辑块、可编程互联开关、可编程包括:可编程逻辑块、可编程互联开关、可编程I/O模块。模块。逻辑块逻辑块互联互联开关开关I/O1.可编程逻辑块可编程逻辑块4输入输入LUTD触发器触发器可编程数据可编程数据选择器选择器Q1nQn0Q1n+1(D1)Q0n+1(D0)00010110101111002位二进制状态转换表位二进制状态转换表用可编程逻辑块实现用可编程逻辑块实现2位二进制计数器。位二进制计数器。2.I/O块块输出输出控制控制输入输入将引脚编程为输入、输出和双向功能。将引脚编程为输入、输出和双向功能。3.可编程连线资源可编程连线资源可编程开关实现逻辑块与逻辑块之间,逻辑块与连线之可编程开关实现逻辑块与逻辑块之间,逻辑块与连线之间,逻辑块与间,逻辑块与I/O之间等的连接。之间等的连接。纵横交叉纵横交叉互联开关互联开关两种典型的互联开关结构如图。两种典型的互联开关结构如图。6路互路互联开关联开关8.3 可编程逻辑器件开发过程简介可编程逻辑器件开发过程简介根据要求设根据要求设计逻辑电路计逻辑电路用原理图或用原理图或HDL描述输描述输入计算机入计算机电路图连线电路图连线检查。逻辑检查。逻辑化简、优化化简、优化逻辑功能仿真。逻辑功能仿真。不满足要求需不满足要求需重新设计重新设计根据特定芯根据特定芯片,生成编片,生成编程数据程数据包含延时包含延时信息的时信息的时序仿真序仿真将编程数据将编程数据写入芯片写入芯片可编程器件的一般开发过程可编程器件的一般开发过程8.3 可编程逻辑器件开发过程简介可编程逻辑器件开发过程简介 CPLD采用采用CMOS E2PROM工艺制造,编程后,即使切断工艺制造,编程后,即使切断电源,其逻辑也不会消失,且可以在系统编程(电源,其逻辑也不会消失,且可以在系统编程(ISP特性)。特性)。FPGA的的LUT由数据选择器和由数据选择器和SRAM构成,切断电源后,其构成,切断电源后,其逻辑会消失。所以逻辑会消失。所以FPGA需要外部的需要外部的PROM保存编程数据。保存编程数据。每次通电,自动将每次通电,自动将PROM中的编程数据装载到中的编程数据装载到FPGA中。中。为什么为什么FPGA需要编程数据装载?需要编程数据装载?计算机根据用户编写的源程序运行开发系统软件,产生相应的计算机根据用户编写的源程序运行开发系统软件,产生相应的编程数据和编程命令,通过五线编程电缆接口与编程数据和编程命令,通过五线编程电缆接口与芯片连接芯片连接。将电缆接到计算机的并行口(现将电缆接到计算机的并行口(现在下载板多用在下载板多用USBUSB接口),通过编接口),通过编程软件发出编程命令,将编程数据程软件发出编程命令,将编程数据文件中的数据下载到芯片。文件中的数据下载到芯片。编程条件编程条件(1)微机;()微机;(2)CPLD编程软件;编程软件;(3)专用编程电缆。)专用编程电缆。
展开阅读全文