《可编程逻辑器件与应用专题》实验讲义附实验指导书.pdf
《《可编程逻辑器件与应用专题》实验讲义附实验指导书.pdf》由会员分享,可在线阅读,更多相关《《可编程逻辑器件与应用专题》实验讲义附实验指导书.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 可编程逻辑器件与应用专题 实验讲义 附实验指导书 清华大学电子工程系 2004.8.5 1 第一章 绪论 1.1 可编程 ASIC 综述 为特定的产品或应用而设计的芯片被称为专用集成电路 ASIC(Application Specific Integrated Circuits),除了全定制的专用集成电路外,目前有五种半定制的元件,可实现 ASIC 的要求,它们是:*可编程逻辑器件(PLD)*复杂可编程逻辑器件(CPLD)*现场可编程门阵列(FPGA)*门阵列(Gate Array)*标准单元(Standard Cell)在这些器件中,尤其是前三种器件的出现,使得电子系统的设计工程师利用相应
2、的 EDA 软件,在办公室或实验室里就可以设计自己的ASIC器件,其中近几年发展起来的CPLD和FPGA格外引人注目。这三种器件都具有用户可编程性,能实现用户需要的各种专门用途,因此被称作可编程专用集成电路。半导体制造厂家可按照通用器件的规格大批量生产这种集成电路,作为一种通用集成电路,用户可以从市场上选购,再通过设计软件编程实现 ASIC 的要求。由于这种方式对厂家和用户都带来了好处而受到欢迎,因此发展特别迅速,已经成为实现 ASIC 的一种重要手段。随着半导体技术的迅速发展,从八十年代开始,构造许多电子系统仅仅需要三种标准电路:微处理器,存储器和可编程 ASIC。电子系统设计的这场革命是从
3、 70 年代开始的,当时存储器已经作为标准产品进入市场,而 80 年代的微处理器也成为一种标准产品。值得注意的是,微处理器和存储器作为电子系统的两个主要模块,一直都是可编程的。但是组成电子系统的各种控制逻辑仍然需要大量的中小规模通用器件。直到近十年来,随着可编程逻辑器件的出现,才给电子系统的控制逻辑提供了可编程的灵活性。而可编程门阵列作为一种高密度,通用的可编程逻辑器件与它的开发系统一起为更多的电子系统逻辑设计确定了一种新的工业标准。越来越多的电子系统设计工程师用 CPLD 或 FPGA 作为电子系统设计的第三个模块来实现一个电子系统。CMOS 半导体技术的不断发展推动了电子系统逻辑设计的这一
4、变革。人们历来认为 CMOS 速度太慢,不能满足高性能系统设计的需要,很多设计只能用一次可编程(OTP)的双极型可编程逻辑器件(PLD)来完成。而现在许多 CMOS 的可编程逻辑器件实际上已达到或超过双极型的性能,同时还具有低功耗、可编程和高集成度等吸引人的优点。目前可编程 ASIC 正朝着为设计者提供系统内可再编程(或可再配置)的能力方向发展,即可编程ASIC 器件不仅要具有可编程和可再编程能力,而且只要把器件插在系统内或电路板上,就能对其进行编程或再编程,这就为设计者进行电子系统的设计和开发提供了最新的实现手段,而在以前这是不可想象的。采用系统内可再编程(ISP)技术,使得系统内硬件的功能
5、可以像软件一样被编程来配置,从而可以实时地进行灵活和方便的更改和开发。这种称为“软”硬件的全新设计概念,使得新一代电子系统只有极强的灵活性和适应性,它不仅使电子系统的设计和产品性能的改进、扩充变得十分简易和方便,而且使电子系统只有多功能性的适应能力,从而可以为许多复杂的信号处理技术提供新的思路和方法。随着可编程器件规模的增加,使器件变得越来越复杂,对器件作全面彻底测试的要求也就越来越高,而且越来越重要。表面安装的封装和电路板制造技术的进步,使得电路板变小变密,这样一来,传统的测试方法,例如外探针测试法和“钉床”测试夹具法都难于实现。结果由于电路板简化所节约的成本,很可能被传统测试方法代价的提高
6、而抵消掉。20 世纪 80 年代联合测试行动组 JTAG(Joint Test Action Group)开发了 IEEE1149.1-1990 边界扫描测试技术规范。这个边界扫描测试(BST)结构提供了有效地测试引线间隔致密的电路板上零部件的能力。你可以使用 BST 结构测试引脚连接而不必使用物理测试探针,而且可以在器件正常工作时捕获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或是从引脚或器件核心逻辑信号中捕获数据。强行加入的测试数据串行移入边界扫描单元,捕获的数据串行移出并在器件外部同预期的结果进行比 2 较。JTAG 标准提供了板级和芯片级的测试。通过定义输入输出引脚、逻辑控制
7、函数和指令,所有 JTAG的测试功能部仅需一个四线或五线的接口及相应的软件即能完成。图 1-1 举例说明了边界扫描测试法的概念。核心 逻辑 核心逻辑串行数据输入 JTAG 器件 1 JTAG 器件 2 串行数据输出 IC 引脚 图 1-1 JTAG 边界扫描测试法 可编程逻辑器件规模的不断发展,使其可以实现电子系统的高度集成,为了快速准确地设计复杂的电子系统,必须采用计算机自顶向下的设计和综合工具。综合工具一般包括从原理图和高层描述工具、逻辑仿真器,到底层综合工具的一系列软件包。底层的综合工具对设计进行逻辑描述,并执行逻辑优化、器件映射、布局布线的网表优化,从而产生最终的设计结果。对于简单的设
8、计,采用原始图输入或布尔方程输入是比较合适的。但对于复杂系统的设计,这两种输入方法变得繁琐而复杂并容易产生错误,而必须考虑高层次的设计输入方法。因此很多综合工具支持硬件描述语言(HDL),寄存器转换语言(RTL)或有限状态机(FSM)。高层综合工具可以采用高层的行为描述,如 VHDL 或编程语言。行为描述语言不需要说明一个设计具体采用何种方式实现。高层综合包括选择特定的结构模板,然后执行资源分配,寄存器分配和定时。所以在高层设计期间,设计者基本是在速度和资源之间所取舍。例如,相同的行为设计,当速度要求不高时,可以采用完全的流水线方式的逻辑设计来实现。从一个满意的行为描述开始的设计,使设计者能够
9、有更广泛的选择余地,来找出哪一个最适合特定的实现环境。高层设计方法的另一个主要优点是更容易理解和维护。目前,电子设计自动化软件不再是简单的 CAD 或 CAT,已经发展到“电子系统设计自动化(EDA)”,软件平台也已从小型机覆盖到工作站到高性能微机,一般都包含了符合 IEEE-1076 标准的 VHDL 高层综合工具,这些都为可编程 ASIC 的设计带来了极大的方便。特别对于中小规模系统的集成,可编程逻辑器件成为首选的方案。这也是可编程逻辑器件得到广泛应用的原因之一。1.2 可编程逻辑器件的分类 可编程逻辑器件包括一个未配置的逻辑单元阵列,此阵列可以编程实现所需的逻辑功能,并通过可编程互连接到
10、所要求的输入、输出。这些逻辑单元可以是门、反相器、触发器或较大的宏单元,并且有它自身的可编程局部互连系统。可编程互连是由可编程的开关阵列和连接逻辑单元的固定信号线组成。可编程逻辑器件有许多不同的分类方法,下面主要介绍四种:1.2.1 从互连特性上分类 从互连特性上,可编程逻辑器件结构可以分为确定型和统计型两大类。确定型的 PLD 包括 PROM、PLA、PAL、FPLA、GAL、EPLD 和 EEPLD。它们所提供的互连结构每次都用相同的互连线实现布线。所以这类可编程逻辑器件的延时特性常常可以从数据手册上直接查到,而不需通过设计软件来确定。统计型的器件主要是现场可编程门阵列(FPGA)。FPG
11、A 的设计软件每次完成相同的功能却给出不同的布线结果,所以称为统计型的结构。因此在电路设计时必须允许设计者限制功能中关键路径的时序变化,确保它们不超出系统的技术要求。1.2.2 从可编程特性上分类:目前为用户提供的编程手段主要有四种:*一次编程熔丝或逆熔丝;*EPROM 结构,即紫外线擦除电报编程存储单元(UVEPROM)采用紫外线互补金属氧化半导体 3 (UVCMOS);*电擦除和再编程存储单元。一类是 EEPROM,为电擦除式互补金属氧化半导体(EECMOS);另一类是结构与 UVEPROM 类似,但采用电擦除的闪速存储单元(FLASH MEMORY);*基于静态存储器(SRAM)的编程结
12、构。所以根据编程能力可以将它们分为两大类,一类是不可以再编程的,确定型的 PAL 和统计型采用逆熔丝的 FPGA 都是不可再编程的;另一类是可再编程的,确定型的 GAL 和统计型的采用 SRAM 的FPGA 属于此类。1.2.3 从器件容量上分类 由于可编程逻辑器件本身结构上和半导体生产工艺的不断改进和提高,器件的密度不断增加,性能亦不断提高,目前可编程逻辑器件的容量已达到百万门以上。从容量上对可编程逻辑器件的分类是将复杂的可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)统称为高容量可编程逻辑器件(HCPLD)。1.2.4 从结构的复杂程度上分类 从结构上对可编程逻辑进行分类是最常用的
13、方法,而且各类可编程逻辑器件的开发系统都是针对其结构来设计的,了解和掌握可编程逻辑器件的结构对合理、有效地选用开发软件来设计可编程逻辑器件就很重要。从结构上可将可编程逻辑器件分为以下三类:*简单可编程逻辑器件(PLD);*复杂可编程逻辑器件(CPLD);*可编程门阵列(FPGA)。4 第二章 可编程逻辑器件的结构和特点 2.1 概述 可编程逻辑器件(PLD)是一个逻辑电路,可由用户编程来实现特定的逻辑功能。许多 PLD 器件的功能已经或多或少变成工业标准,即可以像标准 74 系列中小规模器件那样。设计人员可以按照产品手册,根据速度、功耗、成本进行选择,并能从不同的厂家购买到。而且,PLD 器件
14、还提供了标准 74系列器件无法提供的可编程功能,用户可以将一些中小规模器件的功能集成到一个或几个 PLD 中,极大的简化了印制板的设计,因此 PLD 成为最早实现可编程 ASIC 的器件。2.2 PLD 的结构 PLD 的主要部分由两个逻辑阵列构成,一个与阵和一个或阵。输入到 PLD 的信号首先通过与阵,形成输入信号的组合,每组与项称为布尔代数的最小项或乘积项,这些乘积项在或阵中进行逻辑或后由输出宏单元输出。输入信号的反码由输入缓冲器产生,PLD 的布线由阵列实现,所以只要逻辑功能能够放进 PLD 器件,布线就能够成功。PLD 器件的与或阵列结构可以有效地利用硅片的面积,对于逻辑设计也非常方便
15、。因为任何布尔函数都可以表示为最小项的逻辑表达式,而这正是 PLD 器件的结构。基于与或阵的 PLD 有三种基本类型,由哪个阵列可编程来区分这三种器件:可编程只读存储器PROM:与阵固定,或阵可编程 可编程阵列逻辑PAL,GAL:与阵可编程,或阵固定 可编程逻辑阵列PLA:与阵、或阵都可编程 图 2-1 是 PLA 的结构示意图,图中的表示可编程的熔丝连接。PROM、PAL 等的结构和 PLA 基本相同,只是可编程的阵列不同,不同的具体型号的输出结构和输出电平也略有区别,有的器件具有三态输出、寄存器输出、反馈输入特性,进一步增强了器件的功能。下表列出了 PAL 器件的编号方法,具体特性请参考器
16、件手册或相关资料。表 21 常用 PAL 器件编号方法 结构代码 含义 器件编号 H L P R V 高电平输出有效 低电平输出有效 输出电平可编程 带寄存器输出 单元乘积项数目不同或宏单元输出 PAL10H8 PAL16L8 PAL16P8 PAL16R8 PAL20V8 例如,编号 PAL16H8 的 PAL 器件表示有最多可以有 16 个输入端,8 个输出端,输入输出端口可组合编程,输出高电平有效。2.3 CPLD 的结构 PLD 器件的共同缺点是逻辑阵列规模小,每个器件仅相当于几十个等效门,不适用于较复杂的逻辑电路的设计,并且也不能完全杜绝编程数据的非法抄袭。随着集成电路工艺的发展,P
17、LD 的规模越来越大,已经发展到百万门级的复杂可编程逻辑器件 CPLD(Complex Programmable Logic Device)系图 2-1 是 PLA 的结构示意图 5 列,其中可擦除的 CPLD 有称为 EPLD(Erasable PLD)。表 2-2 ALTERA CPLD 主要产品 CPLD 的发展十分快速,各半导体厂都有 CPLD 产品投入研发,如 ALTERA、ATMEL、CYPRESS、LATTICE 及 XILINX 等。表 2-1 及表 2-2 列出了 ALTERA 及 ATMEL 生产的 CPLD 主要规格,若要详细了解则可到各家厂商的网站查阅,网址如下:ALT
18、ERA:http:/ ATMEL:http:/ CYPRESS:http:/ LATTICE:http:/ XILINX:http:/ 表 2-3 ATMEL CPLD 主要产品 制造技术 Flash Flash SRAM SRAM SRAM 产品系列 ATF220V10CC AT6010 AT6005 AT6003 AT6002 等效门数 10K 5K 3K 2K 速度(MHz)250MHz 250MHz 250MHz 250MHz 最大传输延迟tpd(max)1.2nS 1.2nS 1.2nS 1.2nS 逻辑单元 GLB 10 6400 3136 1600 1024 缓存器数 10 64
19、00 3136 1600 1024 I/O 数 20 204 108 120 96 CPLD 不但提高了器件的密度,还改进了阵列宏单元的结构及 I/O 的控制结构。由于 CPLD 的 I/O 引脚数量和 D 触发器数量大大增加,如果只采用一个与阵列,那么阵列的规模会急剧增大。而实际的设计中每个与门的输入端常常不是很多,因此与门的利用率较低。此外,庞大的阵列还会增加电路的传输延迟,降低工作频率。为克服上述缺点,CPLD 采用分区的阵列结构,把整个器件分成若干个区,每个区都包括若干 I/O 端口,输入端和较小的与或阵列及宏单元,相当于一个小规模的 PLD;有的区只完成某些特定的逻辑功能。各区之间通
20、过可编程的全局互连总线连接,同一模块的电路一般安排在同一个区内,因此只有少部分输入和输出使用全局互连总线,从而大大降低了逻辑阵列的规模,减小了电路传输延迟时间。由于工艺和生成厂家的不同,不同的 CPLD 的分区结构有较大的差别,这里我们介绍 ALTERA 公司的灵活逻辑单元阵列结构(FLEX),如图 2-2 所示。它主要由嵌入式阵列块 EAB(Embedded Array Block)、逻辑阵列块 LAB(Logic Array Block)、逻辑单元 LE(Logic Element)、I/O 单元 IOC(I/O Element)和快速互连通道构成。制造技术 EEPROM EEPROM S
21、RAM EEPROM SRAM 系列 MAX5000 MAX7000 FLEX8000 MAX9000 FLEX10K 等效门 60-3750 60-5K 2.5K-16K 6K-12K 10K-100K 速度(MHz)125MHz 178.6MHz 125MHz 125MHz 70MHz 最大传输延迟 tpd(max)10nS 5.0nS 8nS 8nS 逻辑单元GLB 16-192 32-256 208-1296 320-560 576-4992 缓存器数 16-192 32-256 208-1500 484-772 720-53920 引脚数 84 164 84-208 168-216
22、150-406 6 图 2-2Altera 公司 FLEX10K 系列的 FLEX 结构图 逻辑单元 LE 是 FLEX 结构中最小的逻辑单元,每个 LE 含有一个提供 4 输入组合逻辑函数的查找表(LUTLook Up Table),能够快速产生 4 输入变量的任意逻辑函数输出。LE 还有一个带同步使能的可编程寄存器和一个进位链、一个级联链,如图 2-3 所示。图 2-3 Altera 公司 FLEX10K 系列 CPLD 的 LE 结构图 LE 中的可编程寄存器可以设置成 D、T、JK 或 RS 触发器,该寄存器的时钟、置位和复位端可由全局复位、LAB 控制信号 LABCTRL14 驱动。
23、如果需要 LE 实现组合逻辑功能,可以将该寄存器旁路。LE 产生两个输出,其中一个连接到快速互连通道,另一个连接到 LAB 的局部互连通道。这两个输出可以独立控制。每 8 个 LE 组成一组,构成一个逻辑阵列块 LAB。每个 LAB 是独立的模块,LAB 中的 LE 有共同的输入、互连和控制信号。同一模块的逻辑电路一般安排在同一个 LAB 内。嵌入阵列块 EAB 由 RAM/ROM 和相关的输入、输出寄存器构成,它可以实现大容量的片内存储器,也可以编程作为复杂逻辑功能查找表,实现乘法器、微控制器、状态机等复杂的逻辑功能。在 FLEX 结构中,LAB、EAB 排出行和列,构成二维逻辑阵列,内部信
24、号的互连是通过行、列快速互连通道和 LAB、EAB 内部的局部互连通道实现的。7 第三章 CPLD 实验系统CPLD 实验系统 3.1 CPLD 实验系统简介 本实验系统由 C P L D下载板、I/O实验板、R S-2 32 接口电路与电源等四部分构成,如图 3-1所示。串口 CPLD 或FPGA下载板PC I/O 实验板 图 3-1 CPLD 实验系统结构图 I/O 实验板是供基础实验用,板上有简单的输入输出器件,包括 LED、七段显示器、米字型显示器、57 点矩阵显示器、DIP 开关、按键及振荡器、脉冲信号等,足以进行所有的基础实验。米字型 显示器 七段显示器 16 个 LED 输出状态
25、显示 矩阵 显示器 键盘 脉波输出按键 连续可调脉冲输出3 个 40 PIN 的下载板插座16 个 LED输 入/输 出状态显示 24bits DIP 开关 图 3-2 I/O 实验板 本课程使用的 C P L D下载板主要由一片 A l t e r a 公司的 FL E X 10 K 10、单片机、R A M、R O M和 R S-2 32接口组成。C P L D下载板通过 3个 40 P I N的接插件和 I/O板相连。通过更换不同类型 C P L D下载板和 I/O实验板可以满足各种实验要求。图 3-2 是 CPLD 下载板的实物图。RS-232 接口 电源 CPLD 芯片 复位开关 图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程逻辑器件与应用专题 可编程 逻辑 器件 应用 专题 实验 讲义 指导书
限制150内