第七章可编程逻辑器件课件

PPT
  • 阅读 85 次
  • 下载 0 次
  • 页数 110 页
  • 大小 5.345 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第七章可编程逻辑器件课件
可在后台配置第一页与第二页中间广告代码
第七章可编程逻辑器件课件
可在后台配置第二页与第三页中间广告代码
第七章可编程逻辑器件课件
可在后台配置第三页与第四页中间广告代码
第七章可编程逻辑器件课件
第七章可编程逻辑器件课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 110
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
文本内容

【文档说明】第七章可编程逻辑器件课件.ppt,共(110)页,5.345 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45496.html

以下为本文档部分文字说明:

2022/11/26第七章可编程逻辑器件第七章可编程逻辑器件第七章可编程逻辑器件第七章可编程逻辑器件n7.1概述n7.2可编程逻辑器件基础nPLD逻辑表示法n逻辑阵列的PLD表示法应用举例n7.3通用阵列逻辑GAL第七章可编程逻辑器件7.1概述n可编

程专用集成电路ASIC(ApplicationSpecificIntegratedCircuit)是面向用户特定用途或特定功能的大规模、超大规模集成电路。n分类:按功能分为数字的、模拟的、数字和模拟混

和三种。按制造方式分为全定制、半定制ASIC、可编程三种。第七章可编程逻辑器件根据芯片的集成度和结构复杂度分类n简单可编程逻辑器件SPLD:集成度小于PALCE22V10或GAL22V10的PLD。n特点是都具有可编程的与阵

列、不可编程的或阵列、输出逻辑宏单元OLMC和输入输出逻辑单元IOC。n复杂可编程逻辑器件CPLD:集成度大于PAL22V10或GAL22V10的PLD都可视为CPLD。nCPLD在集成度和结构上呈现的特点是具有更大的与阵

列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增加。第七章可编程逻辑器件根据芯片的集成度和结构复杂度分类n现场可编程逻辑门阵列FPGA:现场可编程门阵列FPGA是集成度和结构复杂度最高的可编程ASIC。n运算器、乘法器、数字滤波器、二维卷

积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。第七章可编程逻辑器件按制造技术和编程方式进行分类n双极熔丝制造技术的可编程ASIC(Lattice的PAL系列)nEECMOS制造技术的可编程ASIC(Lattice的GAL和ispLSI/

pLSI)nSRAM制造技术的可编程ASIC(Xilinx的FPGA,Altera的FPGA)n反熔丝制造技术的可编程ASIC(Actel的FPGA)第七章可编程逻辑器件按制造技术和编程方式进行分类n双极

熔丝和反熔丝ASIC通常称为OTP(onetimeprogramming)器件而采用EECMOS和SRAM制造技术的可编程ASIC具有用户可重复编程的特性,可以实现电擦电写。第七章可编程逻辑器件按制造技术和编程方式

进行分类n用SRAM技术制造的FPGA则具有数据挥发性,又称易失性。n具有挥发性的FPGA,当系统断电或掉电后,写入FPGA中的编程数据要丢失。因此,必须把要下载到FPGA的数据借用编程器固化到与其联用的EPROM或EEPROM中,待重新上电时,芯片将编程数据再下载到FPGA中。nF

PGA的数据挥发性,决定有些环境不宜选用。第七章可编程逻辑器件可编程ASIC的编程方式n可编程ASIC的编程方式有两种:n采用专用编程器进行编程n在系统编程n甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。nLattice和Xilinx等几家

大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。第七章可编程逻辑器件可编程ASIC的一般开发步骤n设计输入(entry)n功能模拟(functionsimulation)n逻辑分割(partiti

oning)n布局和布线(placeandrouting)n时间模拟(timingsimulation)n写入下载数据(download)第七章可编程逻辑器件ASIC开发步骤流程图第七章可编程逻辑器件TOP—DO

WN设计思想自顶向下(TOP—DOWN)设计首先是从系统级开始入手。把系统分成若干基本单元模块,然后再把作为基本单元的这些模块分成下一层的子模块。•图7-2top-down设计图第七章可编程逻辑器件TOP—DOW

N设计思想n采用TOP—DOWN层次结构化设计方法,设计者可在一个硬件系统的不同层次的模块下进行设计。总体设计师可以在上层模块级别上对其下层模块设计者所做的设计进行行为级模拟验证。n在TOP—DOWN的设计过程中,划分每一个层次模块时要对目标模块做优化,在

实现模块时要进行模拟仿真。虽然TOP—DOWN的设计过程是理想的,但它的缺点是得到的最小可实现的物理单元不标准,成本可能较高。第七章可编程逻辑器件BOTTOM—UP设计思想nBOTTOM—UP层次结构化设计是TOP—DOWN设计的逆过程。n它虽然也是从系统级开始的,即从图7-2中设计

树的树根开始,但在层次模块划分时,首先考虑的是实现模块的基本物理单元是否存在,划分过程必须是从存在的基本单元出发。第七章可编程逻辑器件BOTTOM—UP设计思想n设计树最末枝上的单元要么是已经制造出的单元,要么是已经开发成功的单元,或者是可以买得到的单元。n自底向上(BOTTOM—UP

)的设计过程采用的全是标准单元,通常比较经济。n但完全采用自底向上的设计有时不能完全达到指定的设计目标要求。第七章可编程逻辑器件BOTTOM—UP设计思想n用可编程ASIC实现一个好的电子系统设计通常采用TOP—DOWN

和BOTTOM—UP两种方法的结合,充分考虑设计过程中多个指标的平衡。第七章可编程逻辑器件设计库及库元件n在层次设计中所用的模块有两种:n预先设计好的标准模块n由用户设计的具有特定应用功能的模块n前者一般要存放在EDA

开发系统中各种类型的文件库之中,后者必须经过模型仿真和调试证明无误后,建立一个图形符号存放在用户的设计库中准备在更上层的设计中使用。第七章可编程逻辑器件设计库及库元件n设计库中比较高级的模块一般由两个模型构成:n模块的图形符号n模块的功能模型n图形符号在建立原理

图时使用,功能模型在逻辑模拟仿真时使用。第七章可编程逻辑器件设计库及库元件n模块的功能模型可以是逻辑图形式,也可以是VHDL描述的,还可以是真值表或逻辑方程式描述的。n一个已知的图形符号可以用来代表一个或几个功能模型,这些模型的功能相同,参数可以不同。例如2输入与非门7400、74LS00

,74S00,功能相同,但是传输延时,功耗不相同。第七章可编程逻辑器件画层次原理图n画层次原理图类似于用逻辑门符号画一个逻辑图,先将选用的模块符号和连结器符号放在画页上,然后用连线将它们连结起来,最后

将选用的符号名放在相应的模块及其结点上。n选用符号名要注意遵循以下规则:一般把在一个层次原理图中所使用的模块的每一个拷贝叫做这个模块的例化。第七章可编程逻辑器件画层次原理图为了模拟仿真和建立设计文件,每个

例化都要起一个名字。4位全加器模块FA4起名为Adder。第七章可编程逻辑器件画层次原理图Adder的模块由4个一位全加器子模块FA1实现,这四个子模块分别起名为add0、add1、add2、add3。第七章可编程逻辑器件画层次原理图

构成一位全加器的各个逻辑门及其信号线也要起一个名,它们的名字分别是X1、X2、A1、A2、A3、R1。第七章可编程逻辑器件画层次原理图为了调试或模拟仿真,常常要研究模块中的一个指定信号。例如,假设要研究图7-3中1位全加

器FA1的工作情况,需要观察完整系统模拟时的信号x1的值。因为有4个FA1的例化,例化名称要被合并成如下的信号名,顶层模块名/次层模块名:信号名。因此,要监视全加器add2这个例化中信号线x1的时候,这个信号名应该写成Adder/add2:x1通过上述的书写

规则,就可指定顶层模块中adder中的模块add2的信号x1,这个起名规则可以扩展到任何一个层次。第七章可编程逻辑器件层次联接器符号和总线为了建立层次原理图,一个抽象级别的模块输入和输出引脚的名称要与次层模块原理图相应信号的

名称保持唯一性或者一致性,如图7-4所示。•输入连接器•输出•连接器第七章可编程逻辑器件层次联接器符号和总线当模块有多重输入和输出信号时,层次的相互连接器画成如图7-5所示的总线形式。•A(3:0)={A(3)A(2)A(1)A(0)}•B(3:0

)={B(3)B(2)B(1)B(0)}•S(3:0)={S(3)S(2)S(1)S(0)}第七章可编程逻辑器件层次联接器符号和总线为了进一步简化模块原理图画法,有时常常在模块上定义多重引脚,如图7-5(b)所示。•每

个多重引脚代表一组相关信号的集合,允许把总线直接联接到模块的引脚上,但是必须清楚每条总线代表的是4个信号的联接。第七章可编程逻辑器件层次化设计的模拟采用层次设计实现的系统必须进行设计模拟和验证。一个层次设计中最底层的元件或模块必须首先进行模

拟仿真,当其工作正确之后,再进行高一抽象级别模块的模拟仿真。最后还要对最上层系统进行模拟仿真,最终完成系统设计。第七章可编程逻辑器件层次化设计的模拟在模拟仿真时,首先要将模块用相应的电路来代替,称为展平,展平工作一直做到最底层模块都

用基本的逻辑门实现为止。在展平过程中所有元件及所有的信号线都必须有指定过的名称。模拟仿真结果可以是给出正确的波形,也可以是给出一些时延参数。图6给出的是用总线表示的波形。第七章可编程逻辑器件层次化设计的模拟图6给

出的是用总线表示的波形。01111011101100000000S(3:0)01100110011001100000A(3:0)00010001010101010000

B(3:0)1210750Time•表格形式的模拟值•波形表示的模拟值第七章可编程逻辑器件7.2可编程逻辑器件基础n⒈PLD的逻辑表示n⑴PLD中阵列及其阵列交叉点的逻辑表示n⑵PLD中基本逻辑单元的PLD表示n⒉逻辑阵列的PLD表示法应用举例第七章可编程

逻辑器件⒈PLD的逻辑表示n⑴PLD中阵列及其阵列交叉点的逻辑表示n①PLD中阵列交叉点的逻辑表示n②PLD中与阵列和或阵列的逻辑表示第七章可编程逻辑器件①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采

用图7-7所示的几种逻辑表示。(a)表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程点,在交叉点处打上实心点。第七章可编程逻辑器件①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种

逻辑表示。(b)表示可编程连接。无论×或表示该符号所在行线和列线交叉处是可编程点,具有一个可编程单元。第七章可编程逻辑器件①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种

逻辑表示。在采用熔丝工艺的PLD器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用×表示熔丝接通,因此可编程点上处处都打×或。第七章可编程逻辑器件①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。P

LD器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编程后可在编程点上仍打有×,这时的×表示可编程点被编程后熔丝接通。第七章可编程逻辑器件①PLD中阵列交叉点的逻辑表示PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。熔丝烧断的可编程点

上的×消失,行线和列线不相接,这种情况用图(c)表示。第七章可编程逻辑器件②PLD中与阵列和或阵列的逻辑表示与阵列如图(a)所示。在二极管与门的各支路与输出之间接入熔丝。熔丝保留的各支路的输入为有效输入,输出F是熔丝保留各支路输入的与逻辑函数。图(b)是PLD表示。图(a)

和图(b)是熔丝全部保留的与阵列表示情况。•F(A,B,C)=0。第七章可编程逻辑器件②PLD中与阵列和或阵列的逻辑表示图(c)是烧断3个熔丝的情况,图(d)是图(c)的PLD表示。第七章可编程逻辑器件②PLD中与阵列和或阵列的逻辑表示可编程或阵列

,其构成原理与可编程的与阵列相同。第七章可编程逻辑器件②PLD中与阵列和或阵列的逻辑表示可编程或阵列,其构成原理与可编程的与阵列相同。第七章可编程逻辑器件⒈PLD的逻辑表示n⑵PLD中基本逻辑单元的PLD表

示n①输入缓冲器和反馈缓冲器n②输出极性可编程的异或门n③地址选择可编程的数据选择器n④可编程数据分配器的逻辑表示n⑤激励方式可编程的时序记忆单元的PLD表示n⑥PLD中与阵列的缺省表示n⑦双向输入/输出和反馈输入的

逻辑表示第七章可编程逻辑器件①输入缓冲器和反馈缓冲器在PLD中有二种特殊的缓冲器,它们是输入缓冲器和反馈缓冲器,这二种缓冲器有相同的电路构成,图7-10给出它们的PLD表示,它们是单输入、双输出的缓冲器单元,一个是高有效输出端,即同极性输出端。另一个是

低有效输出端,即反极性输出端。第七章可编程逻辑器件①输入缓冲器和反馈缓冲器与曾经学过的输出三态缓冲器不同,虽然输出三态缓冲器也有三个端,但只有一个输入和一个输出端,另一个是使能控制端。原则上说,输出三态缓冲器有二个输入端一个输出端。注意二者之间

的区别。输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。第七章可编程逻辑器件②输出极性可编程的异或门在PLD中为了实现输出极性可编程,常采用图(a)所示的异或门结构。当熔丝烧断,异或门输出极性为低有效,即

否则异或门输出高有效Q0=P⊕0=P。第七章可编程逻辑器件②输出极性可编程的异或门图(b)是编程后熔丝保留,输出极性编程为高有效。•图(c)是编程熔丝烧断,输出极性编程为低有效。第七章可编程逻辑器件③地址选择可

编程的数据选择器地址选择可编程的数据选择器如图7-12所示。•地址选择端编程后,若列线与行线相接且接地,其输入为逻辑0。否则,列线与行线断开其输入为逻辑1。•二选一数据选择器•四选一数据选择器•根据编程情况,地址选择端的输入有00,01,10,11四种情况。第七章可编

程逻辑器件④可编程数据分配器的逻辑表示n可编程逻辑分配器如图7-13所示。•图7-13可编程逻辑分配器•图中的核心部分是可编程逻辑分配器•可编程熔丝S1S0的不同编程值,使乘积项簇分别被分配到n+1号、n号、n-1

号、n-2号宏单元。•FUSE1正常时(默认状态)不熔断,乘积项簇的信号传不到n号宏单元。•若编程后FUSE1熔断,乘积项簇信号可以传到n号宏单元。如果FUSE2熔断,异或门反极性传输,否则异或门原

极性传输,n号宏单元接收信号与乘积项簇信号同相。第七章可编程逻辑器件⑤激励方式可编程的时序记忆单元的PLD表示n时序记忆单元有二种,即锁存器和触发器。n输出的状态只受输入激励信号控制的时序记忆单元是锁存器。n只有在时钟信号控制下才能得到受输入激励信号决定

的相应输出状态的时序记忆单元是触发器。n二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。第七章可编程逻辑器件⑤激励方式可编程的时序记忆单元的PLD表示图7-14是激励方式可编程的时序记忆单元的PLD表示。通过编程,使R

/L端为0,Q端的输出状态只与激励信号有关并受D决定,图所示电路为D锁存器。通过编程,若使R/L端为1,电路只有在时钟脉冲信号CLK的驱动下,Q端的状态变化受D端的激励信号决定,该电路具有D触发器功能。第七章可编程逻辑

器件⑥PLD中与阵列的缺省表示在PLD器件与阵列中常看到图7-15中给出的几种表示。输出为Z1的与门4个输入变量全部被编程后输入,4个交叉点均画×。因此,第七章可编程逻辑器件⑥PLD中与阵列的缺省表示•同理:Z2为Z1的缺省表示。这时的阵列交叉点上均未画×,而在与门符号内却画有×,。

第七章可编程逻辑器件⑥PLD中与阵列的缺省表示输出为Z3的与门输入阵列交叉点上无×,与门符号内也无×,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”第七章可编程逻辑器件

⑦双向输入/输出和反馈输入的逻辑表示双向输入/输出和反馈输入结构是PLD结构的特点之一,乘积项Pn+1为三态输出缓冲器的使能端控制信号。•由于各阵列交叉点无一个×,呈悬浮状态,n+1号与门输出为逻辑“1”。或阵列输出的Sm信号加在IOm引脚上

,作为输出信号。同时,Sm信号又通过反馈缓冲器被反馈到与阵列。•这个输出带反馈的组态方式采用图7-16(b)所示的PLD表示。•1•Sm•Sm第七章可编程逻辑器件⑦双向输入/输出和反馈输入的逻辑表示由于各阵列交叉点全打有×,所以n+1号与门输出为逻辑“

0”,三态输出缓冲器禁止,其输出为高阻。•0•高阻•ו加到与阵列上•Feedback=Sm第七章可编程逻辑器件⒉逻辑阵列的PLD表示法应用举例二位串行进位加法器的原理框图如图7-18(a)所示。•输入•输入•输入•输入•输出其阵列表示如图7-18(b)所示。第七章可编程逻辑器件⒉逻辑阵列的P

LD表示法应用举例•×第七章可编程逻辑器件7.3通用阵列逻辑GALn⒈GAL(GenericArrayLogic)的结构及其工作原理n⑴GAL的基本阵列结构n⑵GAL的工作模式和逻辑组态n⑶GAL16V8的编程n⒉GAL应用举例第七章可

编程逻辑器件7.3通用阵列逻辑GALn⒈GAL的结构及其工作原理n⑴GAL的基本阵列结构n通用型GAL16V8的电路结构nGAL16V8的结构控制字nGAL16V8的OLMCn⑵GAL的工作模式和逻辑组态n⑶GAL16V8的编程第七章可编程逻辑器件⑴GAL的基本阵列结构图7-19给出GAL

的基本结构框图。第七章可编程逻辑器件•逻辑宏单元•输入/输出口•输入口•时钟信•号输入•使能控制•可编程与阵列•固定或阵列•2,3,4,5,6,7,8,9是专用输入引脚•1,11,12,13,14,17,18,19各引脚可通过编程组态设为输入引脚•12,13,14,17,18

,19各引脚可通过编程组态设为输出引脚,15,16专用输出引脚第七章可编程逻辑器件GAL16V8的结构控制字nGAL和PAL不同之处是GAL的输出电路增加了输出逻辑宏单元OLMC(OutputLogic

MacroCell)。GAL的输出电路可编程。nGAL的结构控制字有5种,82位:nSYN:同步控制字1位,对8个宏单元是公共的;nAC0:结构控制字1位,对8个宏单元是公共的;nAC1(n):结构控制字8位,每个宏单元一个;nX

OR(n):极性控制字8位,每个宏单元一个;nPTD:乘积项禁止控制字64位,每个与门一个。第七章可编程逻辑器件GAL16V8的OLMC的内部电路构成OLMC的内部电路构成如图7-21所示。•乘积项多路开关•输出多路开关•三态多路开关•反馈多路开关•来自1号引脚第七章可

编程逻辑器件nAC0和AC1(n)对TSMUX的全部控制作用见表7-1。导通高阻OE=1,导通OE=0,高阻用户编程决定输出三态缓冲器状态VCC地电平OE第一与项000110TSMU

X输入信号AC0AC1(n)•表7-1AC0AC1(n)对TSMUX控制表第七章可编程逻辑器件FMUX的全部控制功能如表7-2所示。Q端信号本级输出端邻级输出地电平反馈缓冲器输入端信号来源寄存器Q端本级输出邻级输出地电平10—11—0—10—0

FMUX输入信号AC0AC1(n)AC1(m)•表7-2AC0AC1对FMUX控制表第七章可编程逻辑器件⑵GAL的工作模式和逻辑组态nGAL16V8、GAL20V8系列器件的OLMC有寄存器模式、复杂模式、简单模式三种工作模式。n用户通过输

出引脚定义方程确定OLMC的工作模式。输出引脚定义方程有A型、B型、C型三种。n它们与工作模式的关系如表7-3所示。第七章可编程逻辑器件•表7-3OLMC的工作模式同引脚定义方程的关系•输出引脚•方程类型•输出引脚•定义方程式•工作模式•A型•

B型•C型•引脚名:=逻辑方程式•引脚名=逻辑方程式•引脚名.OE=逻辑方程式•引脚名=<逻辑方程式>•SYN=0,AC0=1•寄存器模式•SYN=1,AC0=1复杂模式•SYN=1,AC0=0简单模式•⑵GAL的工

作模式和逻辑组态第七章可编程逻辑器件输出逻辑宏单元三种模式又分为七种逻辑组态,其隶属关系如表7-4所示。•⑵GAL的工作模式和逻辑组态•表7-4三种模式和七种组态的关系•工作模式•逻辑组态•寄存器模式•复杂模式•简单模式•⑴寄存器输出组态⑵组合输出组态•⑶有反馈组合输出⑷无

反馈组合输出•⑸无反馈组合输出组态⑹本级输出邻级输入组态⑺相邻输入组态第七章可编程逻辑器件•(a)寄存器模式寄存器输出组态:寄存器输出010功能AC1(n)AC0SYN低有效高有效01输出极性XOR•1脚作为寄存器输出级的公共时钟CK端;11脚作为寄存器输出级的公共使

能OE端。第七章可编程逻辑器件•(b)寄存器模式组合输出组态:在一个带寄存器GAL中的组合输出110功能AC1(n)AC0SYN低有效高有效01输出极性XOR•1和11号总是分别作为时钟CK端和使能端OE。第七章可编程逻辑器件•引

脚1和11为输入,所有输出为组合逻辑输出。•13~18号宏单元可构成这种组态•(c)复杂模式有反馈组合输出组态:低有效高有效01输出极性XOR所有输出为组合逻辑111功能AC1(n)AC0SYN第七章可编程逻辑器件•12,19号宏单元可构成这种组态•(d)复杂模

式无反馈组合输出组态:低有效高有效01输出极性XOR所有输出为组合逻辑101功能AC1(n)失效AC0=SYNSYN•AC1(m)=SYN•1第七章可编程逻辑器件•15,1

6号宏单元可构成这种组态•(e)简单模式无反馈组合输出组态:所有输出为组合逻辑001功能AC1(n)AC0SYN低有效高有效01输出极性XOR第七章可编程逻辑器件•15和16号宏单元也能构成这种组态•(f)简单模式本级组合输出邻级输入组态:所有输出为组合逻辑0

01功能AC1(n)AC0SYN低有效高有效01输出极性XOR第七章可编程逻辑器件•输出缓冲器失效•除15和16号宏单元外都可构成这种组态•(g)简单模式邻级输入组态:所有输出为组合逻辑101功能AC1(n)AC0

SYN无效无效01输出极性XOR第七章可编程逻辑器件⑶GAL的开发流程(开发步骤)n①建立用户源文件n用户源文件就是设计者书写的描述所要实现逻辑电路功能的软件程序的集合。其软件程序必须符合某一可编程逻辑设

计语言的语法规范。现在广泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述语言。n②编译用户源文件n要想使建立起来的用户源文件变成要下载的数据文件(JEDEC),必须经过若干步的语言处理程序。如语法检查、逻辑化简、功能模拟、时间模拟等。经过专用软件处理后,证明用户建立的源文件

正确无误,最后将其转换成要下载的编程数据文件(JEDEC)。把上述的一系列处理过程称为编译。第七章可编程逻辑器件n③器件编程n在专用的软件系统环境下,启动编程器,使计算机和编程器进行通信。将JEDEC数据文件下载到编程器上。n选择目标器件的制造厂家、型号进行器

件匹配。n将GAL器件插入插座并锁紧。这一步必须注意芯片引脚序号与插座引脚号要对应。否则器件可能被毁坏。n下载编程。即将下载到编程器上的JEDEC数据文件写入到GAL芯片中。⑶GAL的开发流程(开发步骤)第七章可编程逻辑器件n④实际功能验证n将芯片从编程器取下,放到实验电路

中或实际工作的系统中进行实际功能验证,如果功能正确,说明开发工作结束。如果功能验证不正确,则还要返回到第一步重新修改设计。⑶GAL的开发流程(开发步骤)第七章可编程逻辑器件ABEL硬件描述语言nABEL(AdvancedBooleanEq

uationLanguage)是DataI/O公司的注册商标。nABEL程序是包含一些元素的文本文件:n包括程序名和注释;n标识逻辑函数输入、输出的声明;n用来指定要实现逻辑函数的语句;n实现逻辑函数的功能的PLD或其它目标器件的

类型声明;n用来指定在一定输入条件下逻辑函数期望输出的测试向量。第七章可编程逻辑器件ABEL硬件描述语言nABEL程序的典型结构nmodulemodulenamentitlestringndeviceIDdevicedevicetype;“器件声明npindeclarations“引脚声明no

therdeclarationsnequationsnequationsntest_vectorsntestvectorsnendmodulename第七章可编程逻辑器件ABEL硬件描述语言•moduleexample1•ti

tle„basiclogicgates‟•namedevice„p16v8s‟;“器件声明•a,b,c,d,epin19,1,2,3,4;“引脚声明•m,n,p,q,hpin5,6,7,8,9;•i,jpin11,12;•u,v,w,x,y,zpin1

8,17,16,15,14,13;•X=.X.;“常数声明,任意态•equations•u=!a;“非门INV•v=b&c;“二输入与门AND2•w=d#e;“二输入或门OR2•x=!(m#n);“二输入或非门NOR2•y=!(p$q);“二输入异或非门NXOR2•z=!(h&

i&j);“三输入与非门NAND3•Test_vector•(……)•endexample1第七章可编程逻辑器件ABEL硬件描述语言n⒈标识符与关键字n⑴标识符(Identifier)n标识符用来标识器件

、器件管脚或节点、集合、输入/输出信号、常量、宏及变量。n所有这些标识符都遵从同样的命名规则,具体规则如下:n标识符最多31个字符长,必须以字母或下划线打头,区分大小写。第七章可编程逻辑器件ABEL硬件描述语言n⑵关键字n关键字是一种特殊的标识符,被ABEL视为保留

字,不能用来给器件、管脚、节点、常量、集合、宏定义及信号命名。在源文件中使用关键字时,仅表明这个关键字的作用。一旦关键字被用于错误场合,语言处理程序将标出错误。n硬件描述语言中的关键字不区分大小写,可以用大写、小写或混合字体输入。第七

章可编程逻辑器件ABEL硬件描述语言n下面按字母顺序列出ABEL-HDL的关键字。nasync_reset异步复位状态描述语句ncase-endcase条件选择语句ndeclarations定义段关键字ndevice器件定义语句*nend结束语句*nequations逻辑方程关键字*

nfunctional_block功能模块定义语句第七章可编程逻辑器件ABEL硬件描述语言nfuses熔丝状态定义语句ngoto无条件转移语句nif-then-else条件转移语句(只能用在状态图中)ninterface功能模块接口定义语句nistype属性定义语句*nlibr

ary库引用语句nmacro宏定义语句nmodule模块语句*nnode节点定义语句第七章可编程逻辑器件ABEL硬件描述语言noptions控制选项定义语句npin引脚定义语句*nproperty特征定义语句nstate状态描述语句nstate_diagram状态图关键

字nstate_register状态寄存器说明语句nsync_reset同步复位状态描述语句ntest_vectors测试向量*ntitle标题语句*第七章可编程逻辑器件ABEL硬件描述语言规则概要ntruth_table真值表表头关键字*n

when-then-else条件转移语句(只能用在方程中)nwith-endwith转移方程语句第七章可编程逻辑器件ABEL硬件描述语言n⒉常量与数值n常量、定值可用于ABEL-HDL的逻辑设计。常量值可用在赋值语句、真值表与测试向量中,有时还可赋给标识符以表示该标

识符在整个模块中都有定值。常量值可为数值或非数值型特殊常量。n在ABEL-HDL中的特殊常量输入时必须在字母两边加圆点以表示其为特殊常量,否则特殊常量.C.将被认为是标识符名C。特殊常量可用大写或小写字母。第七章可编程逻

辑器件ABEL硬件描述语言nABEL-HDL中所有数值运算的精度都是128位,因此,有效数值范围是0~2128-1。n数值可用五种形式中的任一种表示,其中四种是用不同的数制来表示数值,第五种是用字母符号表示数值。第七章可编程逻辑器件ABEL硬件描述语言n.C.时钟

输入电平(按低-高-低变化)n.K.时钟输入电平(按高-低-高变化)n.U.时钟上升沿(电平按低-高变化)n.D.时钟下降沿(电平按高-低变化)n.F.浮动输入或输出信号n.P.寄存器预装载n.X.任意态n.Z.高阻态第七章可编程逻辑器件ABEL硬件描述语言n当选用四种数制中的

一种非默认数制来表示数据时,须在该数据前标明所用数制的符号。n表2-5列出了ABEL-HDL支持的四种数制及它们相应的符号,数制符号可用大写或小写输入。第七章可编程逻辑器件ABEL硬件描述语言•表7-5ABEL-HDL中数值的不同进制表示•数制名•基数•数制

符号•二进制•2•^B•八进制•8•^O•十进制•10•^D•十六进制•16•^H第七章可编程逻辑器件ABEL硬件描述语言n⒊字符串和注释n字符串是用单引号(撇号)括起的一串ASCII码字符。字符串用于模块语句、标题语句、控制选项语句和引脚

、节点、属性的定义中。n若要在字符串中使用单引号,要在它前面加一个反斜线“\”。n注释是使源文件易读的另一种方式。它常被用来说明源文件本身不易理解之处,注释不影响源文件的内容。第七章可编程逻辑器件ABEL

硬件描述语言n可以有两种方式插入注释:n①注释以双引号(“)开始,以另一双引号或行结束标志结束。n②注释以双斜线(//)开始,以行结束标志结束。第七章可编程逻辑器件ABEL硬件描述语言规则概要n⒋运算符、表达式和方程nABEL-HDL表达式中可

包含常量、信号名等对象。表达式将这些对象进行组合、比较或进行运算,以产生输出信号。这些运算(如加法、逻辑与)在表达式中用运算符来表示。nABEL-HDL的运算符可分为四种基本类型:逻辑运算符、算术运算符、关系运算符与赋值运算符。第七章可编程逻辑器件⒈逻辑运算符•表7-6AB

EL-HDL中的逻辑运算符•运算符•说明•!•非•&•与•#•或•$•异或•!$•异或非第七章可编程逻辑器件⑵算术运算符•运算符•举例•说明•-•-A•求补码(负数)•-•A-B•减法•+•A+B•加法•*•A*B•乘法•/•A/B•无符号整数除法•%•A%B•

取模:A/B的余数•<<•A<<B•A左移B位,零补缺位•>>•A>>B•A右移B位,零补缺位第七章可编程逻辑器件⑶关系运算符•运算符•说明•==•等于•!=•不等于•<•小于•<=•小于或等于•>•大于•>=•大于或等

于所有关系运算都是无符号运算。第七章可编程逻辑器件⑷赋值运算符•运算符•说明•=•组合型赋值(确定态)•:=•寄存器型赋值(确定态)•?=•组合型赋值(任意态)•?:=•寄存器型赋值(任意态)注意:赋值运算符:=和?:=只能用在引脚到引脚的寄存器方程中。在

使用详细点后缀的寄存器方程中要使用赋值运算符=和?=。第七章可编程逻辑器件⑸运算符的运算优先级•优先级•运算符•说明•1•-•取二进制补码(负数)•1•!•非•2•&•与•2•<<•左移•2•>>•右移•2•*•乘法•2•

/•无符号整数除法•2•%•取模•3•+•加法•3•-•减法•3•#•或•3•$•异或•3•!$•异或非•4•==•等于•4•!=•不等于•4•<•小于•4•<=•小于或等于•4•>•大于•4•>=•大于或等于若同一表达式中有优先级相同的运算符,则按从左到右的顺序进行运算

,圆括号可改变运算次序,圆括号内运算优先进行。第七章可编程逻辑器件⒉GAL的应用举例n用GAL实现基本逻辑门的设计n用GAL实现组合及时序混合的逻辑电路第七章可编程逻辑器件用GAL实现基本逻辑门的设计设计说明及构思图7-30

给出了用一片GAL16V8实现基本逻辑门的要求。所要实现的电路是简单的组合逻辑电路,选择GAL16V8的简单模式就可以实现。由图可见全部电路共有12个输入端,6个输出端。第七章可编程逻辑器件•moduleexample1•title

„basiclogicgates‟•namedevice„p16v8s‟;“器件声明•a,b,c,d,epin19,1,2,3,4;“引脚声明•m,n,p,q,hpin5,6,7,8,9;•i,jpin11,12•u,v,w,x,y,zpin18,17,16,15,14,13•X=.X.;

“常数声明,任意态•equations•u=!a;“非门INV•v=b&c;“二输入与门AND2•w=d#e;“二输入或门OR2•x=!(m#n);“二输入或非门NOR2•y=!(p$q);“二输入异或非门NXOR2•z=!(h&i&j);“三输入与非门NAN

D3第七章可编程逻辑器件•test_vector•([a,b,c,d,e]->[u,v,w])•[0,x,x,x,x]->[1,x,x];•[1,x,x,x,x]->[0,x,x];•[x,0,0,0,0]->[x,0,0];•[x,0,1,0,1]->[x,0,1

];•[x,1,1,1,1]->[x,1,1];•……•endexample1第七章可编程逻辑器件•moduleexample2•title'basicflip'•flipdevice'p16v8r'

;•s,r,qs1,qs0pin2,3,19,18;•t,qt1,qt0pin5,17,16;•d,qd1,qd0pin6,15,14;•j,k,qj1,qj0pin7,8,13,12;•clk,pr,c

lr,oepin1,4,9,11;•x=.x.;•c,z=.c.,.z.;•equations•qs1=!s#r&qs1;•qs0=!r#s&qs0;•qt1:=pr#!clr&!t&qt1#!clr&t&qt0;•qt0:=clr#!pr&!t&qt0#!p

r&t&qt1;•qd1:=pr&#d&!clr;•qd0:=clr#!d&!pr;•qj1:=pr#!clr&j&qj0#!k&qj1&!clr;•qj0:=clr#!j&qj0&!pr#k&qj1&pr;•endexample2第七章可编程

逻辑器件用GAL实现组合及时序混合电路⒈设计说明及构思组合和时序混合的逻辑电路如图7-31所示。第七章可编程逻辑器件建立用户源文件•moduleexample3•title„compositelogic‟•namedevice„P16V8R‟•CLK,A,S,Bpin1,2,3,4

;•D,I,E,OEpin5,8,9,11;•X1,QD,QA,QB,Ypin18,16,15,14,13;•X1istype„com‟;•Yistype„com‟;•C,X,Z,H,L=.C.,.X.,.Z.,1,0;•equatio

ns•X1=A&S#B&!S;•Y=!I;•Y·OE=E;“enableY=E•QD:=D;•QA:=!QA;•QB:=QA&!QB#!QA&QB;•endexample3第七章可编程逻辑器件第七章可编程逻辑器件2022/11/26第七章可编程逻辑器件演讲完毕

,谢谢听讲!再见,seeyouagain3rew

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?