《现场可编程门阵列FPGA基础.ppt》由会员分享,可在线阅读,更多相关《现场可编程门阵列FPGA基础.ppt(52页珍藏版)》请在三一办公上搜索。
1、1,FPGA硬件设计-Verilog HDL,詹瑾瑜 博士 副教授A级主讲教师青年优秀主讲教师,2,教 学 计 划,1.总计划学时数为32,其中课堂讲授16学时,实验16学时。,2.教学方式:课堂讲授。,3.最后成绩评定办法:平时成绩占10,实验成绩占30%,期末考试占60。,4.教材:FPGA数字逻辑设计教程郑利浩、王筌、陈华峰译,电子工业出版社,2010年9月。,3,5.参考书 1数字逻辑(第2版),武庆生、詹瑾瑜、唐明,机械工业出版社,2013年4月。2Xilinx FPGA设计与实践教程,赵吉成,王智勇编著,西安电子科技大学出版社,2012年1月。3Verilog HDL编程艺术,魏家
2、明,编著,电子工业出版社,2014年1月。4Verilog HDL硬件描述语言,美贝斯克(Bhasker,J.)著,徐振林等译,机械工业出版社。,4,课程地位,FPGA硬件设计是一门计算机专业选修课;FPGA硬件设计是计算机组成原理、微机与接口技术、现代数字系统设计等课程的先导课程。,课程目的,了解数字电路设计的基本思想;掌握FPGA的基本原理及开发方法;学习Verilog的基本知识,掌握用Verilog描述方法;以实践为基础,掌握数字系统设计的方法。,5,第一章 现场可编程门阵列(FPGA)基础第二章 硬件描述语言 Verilog HDL第三章 基本逻辑与Verilog HDL第四章 组合逻
3、辑与Verilog HDL第五章 时序电路与Verilog HDL第六章 有限状态机与Verilog HDL,课 程 内 容,6,预 备 知 识,一、数字系统的概念,凡是利用数字技术对信息进行处理、传输的电子系统均可称为数字系统。,二、数字系统与模拟系统的比较,1、从信号来看,模拟信号是连续信号,任一时间段都包含了信号的信息分量,如正弦信号。,数字信号是离散的,只有“0”和“1”两种值,即是一种脉冲信号,广义地讲,凡是非正弦信号都称为脉冲信号。,7,2、从所用的数学工具来看,模拟电路:微分方程、拉斯变换及反变换。,数字电路:布尔代数。,3、学习研究的方法,模拟电路:频域法,数字电路:时域法(讨
4、论输入、输出在不同时间段的关系),8,三、数字化的优点,1、精度高;,2、抗干扰力强;,3、功耗小;,4、便于集成化;,5、便于加密、解密。,四、数字电路中的操作,1、算术操作;,2、逻辑操作。,9,1、家用电器,2、数字电话,3、医疗设备,4、军用设备,5、导航系统,五、数字电路的应用领域,6、,10,1、大规模,2、低功耗,3、高速度,4、可编程,5、可测试,六、数字系统的发展趋势,半导体集成电路遵循摩尔定律,即每18个月芯片的集成度提高一倍。,PLD(Programmable Logic Device)器件和EDA(Electronic Design Automation)技术使数字系统
5、的设计思想和方法发生了根本的变化。,11,第一章 现场可编程门阵列(FPGA)基础,高密度可编程逻辑器件HDPLD有:CPLD、FPGA。,低密度可编程逻辑器件LDPLD有:PROM、PLA、PAL和GAL。,常见的PLD器件有:PROM、PLA、PAL、GAL、CPLD和FPGA等。,可编程逻辑器件 英文全称为:programmable logic device 即 PLD,是一种“与-或”两级结构的逻辑器件。,1、PLD器件概念及分类,1.1 PLD器件,12,PLD与一般数字芯片的区别:PLD内部的数字电路可以在出厂后才规划决定,有些类型的PLD也允许在规划决定后再次进行变更、改变。一般
6、数字芯片在出厂前就已经决定其内部电路,无法在出厂后再次改变。,PLD是作为一种通用集成电路产生的,其逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。,13,2、PLD的发展历史,70年代:出现只读存储器PROM(Programmable Read only Memory),可编程逻辑阵列器件PLA(Programmable Logic Array);70年代末:AMD推出了可编程阵列逻辑PAL(Programmable Array Logic);80年代:Lattice公司推出了通用阵列逻辑GAL(Generic Array Logic);80年代
7、中:Xilinx公司推出了现场可编程门阵列FPGA(Field Programmable Gate Array)。Altera公司推出了可擦除的可编程逻辑器件EPLD(Erase Programmable Logic Device),集成度高,设计灵活,可多次反复编程;90年代初:Lattice公司又推出了在系统可编程概念ISP及其在系统可编程大规模集成器件。,14,3、PLD的基本结构,15,4、PLD电路的表示方法及有关符号,(2)PLD与门表示法,(1)PLD缓冲表示法,16,(4)PLD连接的表示法,(3)PLD或门表示法,17,与或阵列是PLD器件中最基本的结构,通过改变“与阵列”和
8、“或阵列”的内部连接就可实现不同的逻辑功能。,5、与或阵列,18,1.2 只读存储器(ROM),1、ROM介绍,ROM是只读内存(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。,ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。例如:光盘。,19,2、ROM的结构,2
9、0,0,1,0,0,1,1,1,0,21,上图是44ROM电原理图。若A1A0=01时,使W1为“1”,则三极管V0、V2、V3导通使F0、F2、F3为“1”,而V1截止,故F1输出为“0”。,从逻辑电路的角度出发,字线和位线之间构成逻辑“或”的关系。故:,F0=W0+W1,F1=W0,F2=W0+W1+W2+W3,F3=W1+W2+W3,22,根据地址译码器的功能可以写出字线的表达式为:,代入F0 F3 得:,23,24,将逻辑图画成阵列图:,25,3、ROM分类,例如,双极性PROM有两种结构:一种是熔丝烧断型,一种是PN结击穿型。它们只能进行一次性改写,一旦编程完毕,其内容便是永久性的。
10、由于可靠性差,又是一次性编程,目前较少使用。,(1)PROM,可编程只读存储器(英文:Programmable ROM,简称:PROM)一般可编程一次。PROM存储器出厂时各个存储单元皆为1,或皆为0。用户使用时,再使用编程的方法使PROM存储所需要的数据。,PROM需要用电和光照的方法来编写与存放程序和信息。但仅仅只能编写一次,第一次写入的信息就被永久性地保存起来。,26,一次编程只读内存(One Time Programmable Read Only Memory,OTPROM)的原理同EPROM,但是为了节省成本,编程写入之后就不再抹除,因此不设置透明窗。,(2)EPROM,可抹除可编程
11、只读内存(Erasable Programmable Read Only Memory,EPROM)可利用高电压将资料编程写入,抹除时将线路曝光于紫外线下,则资料可被清空,并且可重复使用。通常在封装外壳上会预留一个石英透明窗以方便曝光。,(3)OTPROM,27,(4)EPPROM,电子式可抹除可编程只读内存(Electrically Erasable Programmable Read Only Memory,EEPROM)的原理类似EPROM,但是抹除的方式是使用高电场来完成,因此不需要透明窗。,(5)快闪存储器,快闪存储器(Flash memory)的每一个记忆胞都具有一个“控制闸”与“
12、浮动闸”,利用高电场改变浮动闸的临限电压即可进行编程动作。,28,例:用ROM实现下列逻辑函数。,解:,4、ROM的应用,29,F1,F2,F3,30,1.3 可编程逻辑阵列(PLA),可编程逻辑阵列(Programmable Logic Array,简称PLA),PLA是一种可程式化的装置,可用来实现组合逻辑电路。,PLA采用函数最简“与或”式中的“与”项来构成“与”阵列。和ROM相比,PLA的与阵列不再产生2n个最小项,而是产生简化后的与项。这样,一个存储单元就可被多个地址码选中,从而达到节省储存空间的目的。,例1:分别用ROM和PLA实现下列逻辑函数。,F1(A,B,C)=m(2,5,6
13、),F2(A,B,C)=m(4),F3(A,B,C)=m(2,4,5,6),32,用ROM实现,33,先将函数式化简,注意公共项的利用。,以上三式中不同的与项为:,用PLA实现,34,F1,F2,F3,35,8.4 可编程阵列逻辑PAL,相对于PLA,PAL制作工艺简单、易于编程,且有多种结构。,PAL器件由可编程的与阵列、固定的或阵列和输出反馈单元组成。不同型号PAL器件有不同的可编程阵列逻辑输出和反馈结构,适用于各种组合逻辑电路和时序逻辑电路的设计。,36,(1)专用输出的基本门阵列结构,37,(2)带反馈的可编程结构,38,(3)带反馈的寄存器输出结构,39,(4)加“异或”、带反馈的寄
14、存器输出结构,40,(5)算术选通反馈结构,41,例:试用PAL实现下列逻辑函数。,根据逻辑函数作出的PAL逻辑电路如下:,42,43,1.5 通用阵列逻辑GAL,GAL(Generic Array Logic)是美国劲歌半导体公司推出的可电擦除、可重复编程、可加密的一种可编程逻辑器件(PLD)。GAL电路能反复编程,采用的是电擦除技术,可随时进修改,其内部有个特殊的结构控制字,使它芯片类型少,功能全。,目前普遍采用的芯片有两种:GAL16V8(20引脚)和GAL20V8(24引脚),这两种GAL能仿真所有的PAL,并能够按设计者自己的要求构成各种功能的逻辑电路,在研制开发新的电路系统时,极为
15、方便。,44,优点:1.具有电可擦除的功能。采用了可擦除的CMOS制作,可以用电压信号擦除,并可重新编程,克服了采用熔断丝技术只能一次编程的缺点,其可改写的次数超过100次;2.由于采用了输出宏单元结构,用户可根据需要进行组态,一片GAL器件可以实现各种组态的PAL器件输出结构的逻辑功能,给电路设计带来极大的方便;3.具有加密的功能,保护了知识产权;4.在器件中开设了一个存储区域用来存放识别标志即电子标签的功能。,45,1.6 复杂可编程逻辑器件CPLD,CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对
16、而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。,CPLD主要由逻辑块、可编程互连通道和I/O块三部分构成。CPLD中的逻辑块通常包含420个宏单元。可编程互连通道主要提供逻辑块、宏单元、输入/输出引脚间的互连网络。输入/输出块(I/O块)提供内部逻辑到器件I/O引脚之间的接口。,46,1.7 现场可编程门阵列 FPGA,现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门
17、阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。,FPGA(Field Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数的缺点。,FPGA采用了逻辑单元阵列LCA(Logic Cell Array),内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect
18、)三个部分。,47,48,1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到适用的芯片。,基本特点,2)FPGA可做其它全定制或半定制ASIC电路的试样片。,3)FPGA内部有丰富的触发器和I/O引脚。,4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。,5)FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。,49,1985年,Xilinx公司推出的全球第一款FPGA产品XC2064采用2m工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个。,1970年初,可编程逻辑阵列(PLA)出现了,但是一直被认为
19、速度慢,难以使用。,1980年之后,可配置可编程逻辑阵列(PAL)开始出现,可以使用原始的软件工具提供有限的触发器和查找表实现能力。,1991年Xilinx公司推出其第三代FPGA产品XC4000系列。XC4003包含44万个晶体管,采用0.7m工艺,FPGA开始被制造商认为是可以用于制造工艺开发测试过程的良好工具。,2007年,FPGA业界双雄Xilinx和Altera公司纷纷推出了采用最新65nm工艺的FPGA产品,其门数量已经达到千万级,晶体管个数更是超过10亿个。,现场可编程门阵列历史,50,FPGA开发FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬
20、件描述语言来实现;相比于PC或单片机的顺序操作有很大区别,也造成了FPGA开发入门较难。,现场可编程门阵列开发,目前国内有专业的FPGA外协开发厂家,如北京中科鼎桥ZKDQ-TECH等。FPGA开发需要从顶层设计、模块分层、逻辑实现、软硬件调试等多方面着手。,51,Altera:世界老牌可编程逻辑器件的厂家,是可编程逻辑器件的发明者,开发软件MAX+PLUSII和QuartusII;Xilinx:FPGA的发明者,提供90%的高端65nmFPGA产品,主要用于军用和宇航开发平台是ISE,开发软件ISE;Actel:开发平台是Libero;Lattice:开发平台是ISPLEVER,全球知名的F
21、PGA生产厂商,Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。,52,本章习题,1.什么是PLD器件?常见的PLD器件有哪些?2.PLD与一般数字芯片的区别是什么?3.什么是PLA?其特点是什么?4.什么是PAL?主要有哪些结构?5.GAL普遍采用的芯片有哪些?6.什么是CPLD?基本构成是什么?7.什么是FPGA?其特点是什么?8.CPLD和FPGA的主要区别是什么?9.FPGA的三个基本模块是什么?10.请举例出FPGA的主要生产厂商。11.你所知道的可编程逻辑器件有哪些?12.简述FPGA的结构。13.现场可编程门阵列的英文简称是什么?,