课程宗旨更新数字电路的设计观念,建立用PLD器件取代传统TTL器件设计数字电路的思想。更新数字系统设计手段,学会使用硬件描述语言(HardwareDescriptionLanguage)代替传统的数字电路设计方法来设计数字系统。第1章可编程逻辑的基础知识可编程器件原理与应用1.1绪论可编程逻辑器件FPGA是一种可以编程的数字集成电路IC,它包含可配置的逻辑块以及逻辑块之间的互连线。设计人员可以通过在现场完成对这些逻辑块和互连线的配置,以实现或改变复杂的电子系统的功能。FPGA在结构、速度、工艺、集成度和性能等方面都有极大的提高,与之相对应的设计方法和自动化设计工具也得到迅速的发展。1.1绪论FPGA器件在高速处理场合运用的越来越广泛:尽管FPGA芯片的主频要低于奔腾处理器,但是由于FPGA芯片可并行处理多项任务,因此处理速度要比奔腾处理器或数字信号处理器快得多!比如美国赢通系统公司推出一款超级的服务器。这款专为网站运行而设计的服务器尺寸仅有DVD播放机大小,工作能力却相当于,甚至超过50台戴尔、IBM或SUN公司售价5000美元的服务器。赢通公司的这款服务器并未采用目前电脑中不可或缺的微处理器。而是由FPGA芯片驱动。FPGA芯片在一定程度上正在蚕食微处理器的市场。FPGA芯片也开始用于消费类的电子设备中,包括手机和数码相机。飞利浦、诺基亚、Palm及索尼均在其消费类的电子产品中采用了FPGA芯片。尽管FPGA芯片的时钟频率要低于奔腾处理器,但是由于FPGA芯片可并行处理各种不同的运算,所以可完成许多复杂的任务。例如全球天气建模及基因组合核对等,而且处理速度比奔腾处理器或数字信号处理器快得多。在通用计算方面,FPGA仍然不敌Intel的处理器。对于那些只需要进行重复单任务操作的机器而言,使用FPGA芯片显然是大材小用。FPGA器件在DSP领域将要大显身手。随着DSP应用领域的拓宽和各类性能指标的不断提升,采用DSP处理器(如TI的TMS320C系列)的解决方案日益面临着不断增加的巨大挑战,而自身的技术瓶颈(如运行速度、吞吐量、总线结构的可变性、系统结构的可重配置性、硬件可升级性等等)致使这种解决方案在DSP的许多新的应用领域中的道路越走越窄。例如,软件无线电的概念在10年前就已提出,并附诸研究和实现了,仅其数字中频域的信号处理的等效速度也需达50GIPS,然而直到目前为止,最快的DSP处理器,TI的C6X系列也没能超过5GIPS,至于现在最常用的TMS320C54X系列处理器,也只有0.1GIPS(ALTERA基于FPGA的DSP等效速度大于70GIPS,)。在许多应用领域,以处理器(DSPProcessor)为核心的DSP系统具有很大的局限性。所以DSP处理器不是DSP系统的唯一选择;DSP技术不等于DSP处理器应用;DSP的开发应用、教学和实验不能仅仅围绕DSP处理器来进行就可以了。事实上,在DSP领域,除了普通的DSP处理器以外,利用FPGA来实现DSP系统已十分普遍。而且在许多诸如实时图象处理、联合战术无线电通信系统、3G移动通信基站、实时工控系统、卫星导航设备等领域中,FPGA的DSP解决方案已成为非此莫属的选择了!1.2可编程器件的演进从1947年第一个晶体管诞生,为信息革命奠定了物质基础。自1958年通用集成电路(逻辑器件)的产生,开启数字电路设计新纪元。逻辑器件是与、或、非门(74LS00,74LS04等),在此基础上可实现复杂的时序和组合逻辑功能。人们设计出很多中、小规模器件,如编码器(74LS148)、译码器(74LS154)、比较器(74LS85)、计数器(74LS193)和移位寄存器(74LS194)等等。基于的TTL逻辑设计分立的芯片实现逻辑功能;-NAND,OR,复用器,触发器等.通常由成本和可用的器件来决定设计的选择;基于的TTL逻辑设计真值表卡诺图ABCDX00000000100010000111……….…ABCD00011110000111100010011111110111基于的TTL逻辑设计逻辑表达式X=AB+CD+BD+BC+AD+ACX=AB•CD•BD•BC•AD•AC基于的TTL逻辑设计最终的实现ABCDDQQSETCLRDQQSETCLRVCC7430740074007474X1.2可编程器件的演进采用中小规模器件的局限电路板面积很大,芯片数量很多,功耗很大,可靠性低。设计比较困难。电路修改很麻烦。设计方法的局限卡诺图只适用于输入比较少的函数的化简。采用“搭积木”的方法进行设计。必须熟悉各种中小规模芯片的使用方法,从中挑选最合适的器件,缺乏灵活性。设计系统所需要的芯片种类多,且数量很大。1.2可编程器件的演进专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)是专门为某一应用领域或特定用户需要而设计、制造的电路,它可以将某些专用电路或电子系统设计在一个芯片上,构成单片集成系统。ASIC可分为数字ASIC和模拟ASIC。数字ASIC又为全定制和半定制两种。全定制ASIC按特定功能以实现最优性能,但其设计制作费用高、周期长,只适用于批量较大的产品。1.2可编程器件的演进半定制ASIC是一种约束性设计方式。主要目的是简化设计、缩短设计周期和提高芯片成品率。半定制ASIC门阵列标准单元可编程逻辑器件1.2可编程器件的演进可编程逻辑器件是一个重要分支。是作为通用器件生产的半定制电路,用户通过对器件编程使之实现所需要的逻辑功能。可编程逻辑器件作为用户可配置的逻辑器件,有成本低,使用灵活,设计周期短,而且可靠性高,承担风险小,因而很快普及应用,发展非常迅速。1.2可编程器件的演进最早出现的可编程逻辑器件是1970年制成的PROM,也称为可编程逻辑元件PLD(ProgrammableLogicDevices)。它由全译码的与阵列和可编程的或阵列组成。可编程逻辑阵列PLA(ProgrammableLogicArray)是七十年代中期出现的,它由可编程的与阵列和可编程的或阵列组成。其阵列规模大为减少,提高芯片利用率,但编程复杂,支持其开发软件有一定的难度,没有得到广泛应用。1.2可编程器件的演进可编程阵列逻辑PAL(ProgrammableArrayLogic)是七十年代末期推出的,它由可编程的与阵列和固定的或阵列组成。由于输出结构种类很多,设计灵活,因而成为第一个得到普遍应用的可编程逻辑器件。1.2可编程器件的演进通用阵列逻辑GAL(GenericArrayLogic)是在PAL的基础上改进于八十年代初推出的。采用输出逻辑宏单元和EECOMS工艺结构,因而具有可擦除、可重复编程、数据可长期保存和可重新组合等优点。GAL比PAL使用更加灵活,在八十年代得到广泛使用。1.2可编程器件的演进PAL和GAL都属于低密度PLD,其结构简单,设计灵活,但规模小,难以完成复杂的逻辑功能。把这一类PLD称为简单的PLD,即SPLD。八十年代中期,出现规模更大,集成度更高,可以完成非常复杂功能的PLD,把这类PLD称为复杂可编程逻辑器件CPLD(ComplexPLD)。1.2可编程器件的演进1985年,Xilinx公司首推现场可编程逻辑器件FPGA(FieldProgammableGateArray),它是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程逻辑块组成,逻辑块之间灵活地互相连接,具有密度高、编程速度快、设计灵活和可再配置设计能力等优点。FPGA出现后受到电子设计工程师地普遍欢迎,并得到迅速地发展。1.2可编程器件的演进可编程逻辑器件(PLD)可编程逻辑阵列(PLA)可编程阵列逻辑(PAL)通用阵列逻辑GALFPGA和CPLD1.2可编程器件的演进集成度高,可以替代多至几千块通用IC芯片。极大减小电路的面积,降低功耗,提高可靠性具有完善先进的开发工具。提供语言、图形等设计方法,十分灵活通过仿真工具来验证设计的正确性可以反复地擦除、编程,方便设计的修改和升级。灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间。保密性好。1.3可编程逻辑器件的基本概念熔丝链技术:通过熔丝连接的电路通过熔断后连接的电路1.3可编程逻辑器件的基本概念反熔丝链技术:施加电压前断开,施加电压后为导体。1.3可编程逻辑器件的基本概念熔丝和反熔丝都是一次性编程技术,熔丝元件要保留较大的保护空间,芯片面积较大。而反熔丝通过击穿介质达到连通目的,因此占硅片面积小,提高芯片的集成密度很有利。反熔丝的FPGA主要优点:速度快、功耗低、非易失、抗辐射好和保密性好。反熔丝元件结构原理图1.3可编程逻辑器件的基本概念可编程只读存储器PROM:一次性PROM是由熔丝三极管构成的。用户对PROM编程是逐字逐位进行,根据写入的信息,按字线和位线选择某个存储单元,将其熔丝熔断或保留。1.3可编程逻辑器件的基本概念在熔丝型可编程只读存储器中,存储矩阵的每个存储单元都有一个晶体三极管。该三极管的基极和字线相连,集电极通过一段镍铬熔丝和位线相连。在正常工作电流下,熔丝不会烧断,这样每个存储单元都有一个PN结,表示该单元存有信息“0”。但是,如果在某个存储单元的字线和位线之间通过几倍的工作电流,该单元的熔丝立刻会被烧断。这时字线、位线断开,该单元被改写为“1”。PROM的存储单元一旦由“0”改写为“1”或由“1”改写为“0”,就变成固定结构,因此只能进行一次编程。所以可编程只读存储器(PROM)也称为一次可编程只读存储器。1.3可编程逻辑器件的基本概念可擦除的可编程只读存储器EPROM:Intel公司在1971年首次开发出EPROM(ErasablePROM)。最早研究成功并投入使用的EPROM是用紫外线照射进行擦除的,并被称之为EPROM。因此,现在一提到EPROM就是指的这种用紫外线擦除的可编程ROM(Ultra-VioletErasableProgrammableRead-OnlyMemory,简称UVEPROM)。1.3可编程逻辑器件的基本概念1.3可编程逻辑器件的基本概念EPROM的核心技术是使用了一种浮栅雪崩注入MOS管,即FAMOS。其结构为:+VD第二层多晶硅栅氧化层+VD第一层多晶硅(悬浮)场氧化层nnP型硅衬底1.3可编程逻辑器件的基本概念FAMOS管有两个重叠的栅极:一个在上面,称为控制栅,其作用与普通MOS管的栅极相似;另一个埋在二氧化硅绝缘层内,称为浮置栅。如果浮置栅上没有电荷,叠栅MOS管的工作原理就与普通MOS管相似。1.3可编程逻辑器件的基本概念浮置栅上的电荷是靠漏源及栅源之间同时加一较大电压(例如+20~+25V编程电压,正常工作电压只有5V)而产生的。当源极接地时,漏极的大电压使漏源之间形成沟道。沟道内的电子在漏源间强电场的作用下获得足够的能量。同时借助于控制栅正电压的吸引,一部分电子穿过二氧化硅薄层进入浮置栅。当高压电源(例如+20~+25V编程电压)去掉后,由于浮置栅被绝缘层包围,它所获得的电子很难泄漏,因此可以长期保存。1.3可编程逻辑器件的基本概念当浮置栅带上电子后,如果要想擦去浮置栅上的电子,可采用强紫外线或x射线对叠栅进行照射,当浮置栅上的电子获得足够的能量后,就会穿过绝缘层返回到衬底中去。1.3可编程逻辑器件的基本概念电可擦除的可编程只读存储器EEPROM:EEPROM(也有写成E2PROM)是一种可以用电信号擦除和改写的可编程ROM。EEPROM的擦除和改写电流很小,在普通工作电源条件下即可进行,擦除时不需要将器件从系统上拆卸下来。EEPROM不仅可以整体擦除存储单元内容,还可进行逐字擦除和逐字改写。1.3可编程逻辑器件的基本概念EEPROM的编程元件称为浮栅隧道氧化层MOS管(Flotox管)。即在浮栅上增加一个隧道二极管。Flotox管的结构和符号EEPROM的存储单元1.3可编程逻辑器件的基本概念Flo