版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章 可编程逻辑器件可编程逻辑器件计算机科学与工程系2第七章第七章 可编程逻辑器件可编程逻辑器件n7.1概述n7.2可编程逻辑器件基础nPLD逻辑表示法n逻辑阵列的PLD表示法应用举例n7.3 通用阵列逻辑GAL 计算机科学与工程系37.1 概概 述述n可编程专用集成电路ASIC(Application Specific Integrated Circuit) 是面向用户特定用途或特定功能的大规模、超大规模集成电路。n分类:按功能分为数字的、模拟的、数字和模拟混和三种。按制造方式分为全定制、半定制ASIC、可编程三种。计算机科学与工程系4根据芯片的集成度和结构复杂度分类根据芯片的集成度
2、和结构复杂度分类n简单可编程逻辑器件SPLD:集成度小于PALCE22V10或 GAL22V10的PLD。n特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏单元OLMC和输入输出逻辑单元IOC。n复杂可编程逻辑器件CPLD:集成度大于PAL22V10或GAL22V10的PLD都可视为CPLD。nCPLD在集成度和结构上呈现的特点是具有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增加。计算机科学与工程系5根据芯片的集成度和结构复杂度分类根据芯片的集成度和结构复杂度分类n现场可编程逻辑门阵列 FPGA:现场可编程门阵列FPGA是集成度和结构复杂度最高的可编程ASIC
3、。n运算器、乘法器、数字滤波器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。计算机科学与工程系6按制造技术和编程方式进行分类按制造技术和编程方式进行分类n双极熔丝制造技术的可编程ASIC(Lattice的PAL系列)nEECMOS制造技术的可编程ASIC(Lattice的GAL和ispLSI / pLSI)nSRAM制造技术的可编程ASIC(Xilinx的FPGA,Altera的FPGA)n反熔丝制造技术的可编程ASIC(Actel的FPGA)计算机科学与工程系7按制造技术和编程方式进行分类按制造技术和编程方式进行分类n双极熔丝和反熔丝ASIC通常称为OTP(
4、one time programming)器件而采用EECMOS和SRAM制造技术的可编程ASIC具有用户可重复编程的特性,可以实现电擦电写。计算机科学与工程系8按制造技术和编程方式进行分类按制造技术和编程方式进行分类n用SRAM技术制造的FPGA则具有数据挥发性,又称易失性。n具有挥发性的FPGA ,当系统断电或掉电后,写入FPGA中的编程数据要丢失。因此,必须把要下载到FPGA的数据借用编程器固化到与其联用的EPROM或EEPROM中,待重新上电时,芯片将编程数据再下载到FPGA中。nFPGA的数据挥发性,决定有些环境不宜选用。计算机科学与工程系9可编程可编程ASIC的编程方式的编程方式n
5、可编程ASIC的编程方式有两种:n采用专用编程器进行编程n在系统编程n甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。nLattice和Xilinx等几家大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。 计算机科学与工程系10可编程可编程ASIC的一般开发步骤的一般开发步骤n设计输入(entry)n功能模拟(function simulation)n逻辑分割(partitioning)n布局和布线(place and routing) n时间模拟(timing simulation)n写入下载数据(download)计算机科学与工
6、程系11ASIC开发步骤流程图开发步骤流程图计算机科学与工程系12TOPDOWN设计思想设计思想n自顶向下(TOPDOWN)设计首先是从系统级开始入手。把系统分成若干基本单元模块,然后再把作为基本单元的这些模块分成下一层的子模块。图图7-2top-down设计图设计图计算机科学与工程系13TOPDOWN设计思想设计思想n采用TOPDOWN层次结构化设计方法,设计者可在一个硬件系统的不同层次的模块下进行设计。总体设计师可以在上层模块级别上对其下层模块设计者所做的设计进行行为级模拟验证。n在TOPDOWN的设计过程中,划分每一个层次模块时要对目标模块做优化,在实现模块时要进行模拟仿真。虽然TOPD
7、OWN的设计过程是理想的,但它的缺点是得到的最小可实现的物理单元不标准,成本可能较高。计算机科学与工程系14BOTTOMUP设计思想设计思想nBOTTOMUP层次结构化设计是TOPDOWN设计的逆过程。n它虽然也是从系统级开始的,即从图7-2中设计树的树根开始,但在层次模块划分时,首先考虑的是实现模块的基本物理单元是否存在,划分过程必须是从存在的基本单元出发。计算机科学与工程系15BOTTOMUP设计思想设计思想n设计树最末枝上的单元要么是已经制造出的单元,要么是已经开发成功的单元,或者是可以买得到的单元。n自底向上(BOTTOMUP)的设计过程采用的全是标准单元,通常比较经济。n但完全采用自
8、底向上的设计有时不能完全达到指定的设计目标要求。计算机科学与工程系16BOTTOMUP设计思想设计思想n用可编程ASIC实现一个好的电子系统设计通常采用TOPDOWN和BOTTOMUP两种方法的结合,充分考虑设计过程中多个指标的平衡。计算机科学与工程系17设计库及库元件设计库及库元件n在层次设计中所用的模块有两种:n预先设计好的标准模块n由用户设计的具有特定应用功能的模块n前者一般要存放在EDA开发系统中各种类型的文件库之中,后者必须经过模型仿真和调试证明无误后,建立一个图形符号存放在用户的设计库中准备在更上层的设计中使用。计算机科学与工程系18设计库及库元件设计库及库元件n设计库中比较高级的
9、模块一般由两个模型构成:n模块的图形符号n模块的功能模型n图形符号在建立原理图时使用,功能模型在逻辑模拟仿真时使用。计算机科学与工程系19设计库及库元件设计库及库元件n模块的功能模型可以是逻辑图形式,也可以是VHDL描述的,还可以是真值表或逻辑方程式描述的。n一个已知的图形符号可以用来代表一个或几个功能模型,这些模型的功能相同,参数可以不同。例如2输入与非门7400、74LS00,74S00,功能相同,但是传输延时,功耗不相同。计算机科学与工程系20画层次原理图画层次原理图n画层次原理图类似于用逻辑门符号画一个逻辑图,先将选用的模块符号和连结器符号放在画页上,然后用连线将它们连结起来,最后将选
10、用的符号名放在相应的模块及其结点上。n选用符号名要注意遵循以下规则:一般把在一个层次原理图中所使用的模块的每一个拷贝叫做这个模块的例化。计算机科学与工程系21画层次原理图画层次原理图n为了模拟仿真和建立设计文件,每个例化都要起一个名字。位全加器模块位全加器模块FA4起名为起名为Adder。计算机科学与工程系22画层次原理图画层次原理图nAdder的模块由4个一位全加器子模块FA1实现,这四个子模块分别起名为add0、add1、add2、add3。计算机科学与工程系23画层次原理图画层次原理图n构成一位全加器的各个逻辑门及其信号线也要起一个名,它们的名字分别是1、2、A1、A2、A3、R1。计算
11、机科学与工程系24画层次原理图画层次原理图n为了调试或模拟仿真,常常要研究模块中的一个指定信号。例如,假设要研究图7-3中位全加器FA1的工作情况,需要观察完整系统模拟时的信号x1的值。n因为有个FA1的例化,例化名称要被合并成如下的信号名,顶层模块名次层模块名:信号名。因此,要监视全加器add2这个例化中信号线x1的时候,这个信号名应该写成Adderadd2:x1通过上述的书写规则,就可指定顶层模块中adder中的模块add2的信号x1,这个起名规则可以扩展到任何一个层次。 计算机科学与工程系25层次联接器符号和总线层次联接器符号和总线n为了建立层次原理图,一个抽象级别的模块输入和输出引脚的
12、名称要与次层模块原理图相应信号的名称保持唯一性或者一致性,如图7-所示。输入连接器输入连接器输出输出连接器连接器计算机科学与工程系26层次联接器符号和总线层次联接器符号和总线n当模块有多重输入和输出信号时,层次的相互连接器画成如图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)计算机科学与工程系27层次联接器符号和总线层次联接器符号和总线n为了进一步简化模块原理图画法,有时常常在模块上定义多重引脚,如图7-5(b)所示。每个多重引脚代表每个多重引脚代表一组相关信号的
13、集一组相关信号的集合,允许把总线直合,允许把总线直接联接到模块的引接联接到模块的引脚上,但是必须清脚上,但是必须清楚每条总线代表的楚每条总线代表的是是4个信号的联接。个信号的联接。计算机科学与工程系28层次化设计的模拟层次化设计的模拟n采用层次设计实现的系统必须进行设计模拟和验证。一个层次设计中最底层的元件或模块必须首先进行模拟仿真,当其工作正确之后,再进行高一抽象级别模块的模拟仿真。最后还要对最上层系统进行模拟仿真,最终完成系统设计。计算机科学与工程系29层次化设计的模拟层次化设计的模拟n在模拟仿真时,首先要将模块用相应的电路来代替,称为展平,展平工作一直做到最底层模块都用基本的逻辑门实现为
14、止。n在展平过程中所有元件及所有的信号线都必须有指定过的名称。n模拟仿真结果可以是给出正确的波形,也可以是给出一些时延参数。图给出的是用总线表示的波形。计算机科学与工程系30层次化设计的模拟层次化设计的模拟n图给出的是用总线表示的波形。01111011101100000000S(3:0)01100110011001100000A(3:0)00010001010101010000B(3:0)1210750Time表格形式的模拟值表格形式的模拟值波形表示的模拟值波形表示的模拟值计算机科学与工程系317.2 可编程逻辑器件基础可编程逻辑器件基础nPLD的逻辑表示nPLD中阵列及其阵列交叉点的逻辑表示
15、nPLD中基本逻辑单元的PLD表示n逻辑阵列的PLD表示法应用举例计算机科学与工程系32PLD的逻辑表示的逻辑表示nPLD中阵列及其阵列交叉点的逻辑表示nPLD中阵列交叉点的逻辑表示nPLD中与阵列和或阵列的逻辑表示计算机科学与工程系33PLD中阵列交叉点的逻辑表示中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。(a)表示实体连结,就是行线和列线在这个交叉点表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程点,在交叉点处实在连接,这个交叉点是不可编程点,在交叉点处打上实心点。处打上实心点。计算机科学与工程系34PLD中阵列交叉点的逻
16、辑表示中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。 (b)表示可编程连接。无论表示可编程连接。无论或或 表示该符表示该符号所在行线和列线交叉处是可编程点,具有一号所在行线和列线交叉处是可编程点,具有一个可编程单元。个可编程单元。计算机科学与工程系35PLD中阵列交叉点的逻辑表示中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。 在采用熔丝工艺的在采用熔丝工艺的PLD器件中,器件出厂后用户器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用习惯
17、上都用表示熔丝接通,因此可编程点上处处表示熔丝接通,因此可编程点上处处都打都打或或 。计算机科学与工程系36PLD中阵列交叉点的逻辑表示中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。PLD器件被用户编程后,可编程点上的熔丝有的器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编烧断,有的接通。编 程后可在编程点上仍打有程后可在编程点上仍打有,这时的这时的表示可编程点被编程后熔丝接通。表示可编程点被编程后熔丝接通。计算机科学与工程系37PLD中阵列交叉点的逻辑表示中阵列交叉点的逻辑表示nPLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。
18、熔丝烧断的可编程点上的熔丝烧断的可编程点上的消失,行线和列线不消失,行线和列线不相接,这种情况用图相接,这种情况用图 (c)表示。表示。 计算机科学与工程系38PLD中与阵列和或阵列的逻辑表示中与阵列和或阵列的逻辑表示n与阵列如图(a)所示。在二极管与门的各支路在二极管与门的各支路与输出之间接入熔丝。与输出之间接入熔丝。熔丝保留的各支路的输熔丝保留的各支路的输入为有效输入,输出入为有效输入,输出F是熔丝保留各支路输入是熔丝保留各支路输入的与逻辑函数。图的与逻辑函数。图 (b)是是PLD表示。表示。图图 (a)和图和图 (b)是熔丝全部保留的与阵列表示情况。是熔丝全部保留的与阵列表示情况。F(A
19、,B,C)=0。计算机科学与工程系39PLD中与阵列和或阵列的逻辑表示中与阵列和或阵列的逻辑表示n图 (c)是烧断3个熔丝的情况,图 (d)是图 (c)的PLD表示。计算机科学与工程系40PLD中与阵列和或阵列的逻辑表示中与阵列和或阵列的逻辑表示n可编程或阵列,其构成原理与可编程的与阵列相同。计算机科学与工程系41PLD中与阵列和或阵列的逻辑表示中与阵列和或阵列的逻辑表示n可编程或阵列,其构成原理与可编程的与阵列相同。计算机科学与工程系42PLD的逻辑表示的逻辑表示nPLD中基本逻辑单元的PLD表示n输入缓冲器和反馈缓冲器n输出极性可编程的异或门n地址选择可编程的数据选择器n可编程数据分配器的
20、逻辑表示n激励方式可编程的时序记忆单元的PLD表示n PLD中与阵列的缺省表示n双向输入/输出和反馈输入的逻辑表示计算机科学与工程系43输入缓冲器和反馈缓冲器输入缓冲器和反馈缓冲器n在PLD中有二种特殊的缓冲器,它们是输入缓冲器和反馈缓冲器,这二种缓冲器有相同的电路构成,图7-10给出它们的PLD表示,它们是单输入、双输出的缓冲器单元,一个是高有效输出端,即同极性输出端。另一个是低有效输出端,即反极性输出端。计算机科学与工程系44输入缓冲器和反馈缓冲器输入缓冲器和反馈缓冲器n与曾经学过的输出三态缓冲器不同,虽然输出三态缓冲器也有三个端,但只有一个输入和一个输出端,另一个是使能控制端。原则上说,
21、输出三态缓冲器有二个输入端一个输出端。注意二者之间的区别。n输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。计算机科学与工程系45输出极性可编程的异或门输出极性可编程的异或门n在PLD中为了实现输出极性可编程,常采用图 (a)所示的异或门结构。PPQ 10当熔丝烧断,异或门输出极性为低有效,即当熔丝烧断,异或门输出极性为低有效,即 否则异或门输出高有效否则异或门输出高有效Q0=P 0=P。计算机科学与工程系46输出极性可编程的异或门输出极性可编程的异或门n图 (b)是编程后熔丝保留,输出极性编程为高有效。图图 (c)是
22、编程熔丝烧断,输出极性编程为是编程熔丝烧断,输出极性编程为低有效。低有效。计算机科学与工程系47地址选择可编程的数据选择器地址选择可编程的数据选择器n地址选择可编程的数据选择器如图7-12所示。地址选择端编程后,若列线与行线相接且接地,其输地址选择端编程后,若列线与行线相接且接地,其输入为逻辑入为逻辑0。否则,列线与行线断开其输入为逻辑。否则,列线与行线断开其输入为逻辑1。二选一数二选一数据选择器据选择器四选一数四选一数据选择器据选择器根据编程情况,地址选择端的输入有根据编程情况,地址选择端的输入有00,01,10,11四种情况。四种情况。计算机科学与工程系48可编程数据分配器的逻辑表示可编程
23、数据分配器的逻辑表示n可编程逻辑分配器如图7-13所示。图图7-13 可编程逻辑分配器可编程逻辑分配器图中的核心部分是图中的核心部分是可编程逻辑分配器可编程逻辑分配器可编程熔丝可编程熔丝S1S0的不同编程值,的不同编程值,使乘积项簇分别被分配到使乘积项簇分别被分配到n+1号、号、 n号、号、n-1号、号、n-2号宏单元。号宏单元。FUSE1正常时正常时(默认默认状态状态)不熔断,乘积不熔断,乘积项簇的信号传不到项簇的信号传不到n号宏单元。号宏单元。若编程后若编程后FUSE1熔断,熔断,乘积项簇信号可以传乘积项簇信号可以传到到n号宏单元。号宏单元。如果如果FUSE2熔熔断,异或门反极断,异或门反
24、极性传输,否则异性传输,否则异或门原极性传输,或门原极性传输,n号宏单元接收号宏单元接收信号与乘积项簇信号与乘积项簇信号同相。信号同相。计算机科学与工程系49激励方式可编程的时序记忆单元的激励方式可编程的时序记忆单元的PLD表示表示n时序记忆单元有二种,即锁存器和触发器。n输出的状态只受输入激励信号控制的时序记忆单元是锁存器。n只有在时钟信号控制下才能得到受输入激励信号决定的相应输出状态的时序记忆单元是触发器。n二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。计算机科学与工程系50激励方式可编程的时序记忆单元的激励方式可编程的时序记忆单元的PLD表示表示n图7-14是激励方
25、式可编程的时序记忆单元的PLD表示。通过编程,使通过编程,使R/L端端为为0,Q端的输出状态只端的输出状态只与激励信号有关并受与激励信号有关并受D决定,图所示电路为决定,图所示电路为D锁存器。锁存器。通过编程,若使通过编程,若使R/L端为端为1,电路只有在时,电路只有在时钟脉冲信号钟脉冲信号CLK的驱的驱动下,动下,Q端的状态变化端的状态变化受受D端的激励信号决定,端的激励信号决定,该电路具有该电路具有D触发器功触发器功能。能。计算机科学与工程系51PLD中与阵列的缺省表示中与阵列的缺省表示n在PLD器件与阵列中常看到图7-15中给出的几种表示。输出为Z1的与门4个输入变量全部被编程后输入,4
26、个交叉点均画。因此, 01 BBAAZ计算机科学与工程系52PLD中与阵列的缺省表示中与阵列的缺省表示02 BBAAZ同理:同理:Z2为为Z1的缺省表示。这时的阵列交的缺省表示。这时的阵列交叉点上均未画叉点上均未画,而在与门符号内却画有,而在与门符号内却画有, 。计算机科学与工程系53PLD中与阵列的缺省表示中与阵列的缺省表示n输出为Z3的与门输入阵列交叉点上无,与门符号内也无,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”计算机科学与工程系54双向输入双向输入/输出和反馈输入的逻辑表示输出和反馈
27、输入的逻辑表示n双向输入/输出和反馈输入结构是PLD结构的特点之一, 乘积项Pn+1为三态输出缓冲器的使能端控制信号。由于各阵列交叉点无一个由于各阵列交叉点无一个,呈悬浮状态,呈悬浮状态,n+1号与门输号与门输出为逻辑出为逻辑“1”。或阵列输出。或阵列输出的的Sm信号加在信号加在IOm引脚上,引脚上,作为输出信号。同时,作为输出信号。同时,Sm信信号又通过反馈缓冲器被反馈号又通过反馈缓冲器被反馈到与阵列。到与阵列。这个输出带反馈的组态方式这个输出带反馈的组态方式采用图采用图7-16(b)所示的所示的PLD表表示。示。 1SmSm计算机科学与工程系55双向输入双向输入/输出和反馈输入的逻辑表输出
28、和反馈输入的逻辑表示示n由于各阵列交叉点全打有,所以n+1号与门输出为逻辑“0”,三态输出缓冲器禁止,其输出为高阻。0高阻高阻加到与加到与阵列上阵列上Feedback=Sm计算机科学与工程系56逻辑阵列的逻辑阵列的PLD表示法应用举例表示法应用举例n二位串行进位加法器的原理框图如图7-18(a)所示。输入输入输入输入输入输入1iii1iii1iii1iiii CBACBACBACBAS输入输入输出输出1ii1iiiii CBCABAC其阵列表示如图其阵列表示如图7-18(b)所示。所示。计算机科学与工程系57逻辑阵列的逻辑阵列的PLD表示法应用举例表示法应用举例1iii1iii1iii1iii
29、i CBACBACBACBAS1ii1iiiii CBCABAC计算机科学与工程系587.3 通用阵列逻辑通用阵列逻辑GAL nGAL (Generic Array Logic)的结构及其工作原理nGAL的基本阵列结构nGAL的工作模式和逻辑组态nGAL16V8的编程nGAL应用举例计算机科学与工程系597.3 通用阵列逻辑通用阵列逻辑GAL nGAL的结构及其工作原理nGAL的基本阵列结构n通用型GAL16V8的电路结构nGAL16V8的结构控制字nGAL16V8的OLMCnGAL的工作模式和逻辑组态nGAL16V8的编程计算机科学与工程系60GAL的基本阵列结构的基本阵列结构n图7-19给
30、出GAL的基本结构框图。计算机科学与工程系61逻辑宏单元逻辑宏单元输入输入/输出口输出口输入口输入口时钟信时钟信号输入号输入使能控制使能控制可编程与阵列可编程与阵列固定或阵列固定或阵列2,3,4,5,6,7,8,9是是专用输入引脚专用输入引脚1,11,12,13,14,17,18,19各引脚各引脚可通过编程组态设可通过编程组态设为输入引脚为输入引脚12,13,14,17,18,19各引脚可通各引脚可通过编程组态设为输过编程组态设为输出引脚,出引脚,15,16专专用输出引脚用输出引脚计算机科学与工程系62GAL16V8的结构控制字的结构控制字nGAL和PAL不同之处是GAL的输出电路增加了输出逻
31、辑宏单元OLMC (Output Logic MacroCell)。GAL的输出电路可编程。nGAL的结构控制字有5种,82位:nSYN:同步控制字1位,对8个宏单元是公共的;nAC0:结构控制字1位,对8个宏单元是公共的;nAC1(n):结构控制字8位,每个宏单元一个;nXOR(n):极性控制字8位,每个宏单元一个;nPTD:乘积项禁止控制字64位,每个与门一个。 计算机科学与工程系63GAL16V8的的OLMC的内部电路构成的内部电路构成nOLMC的内部电路构成如图7-21所示。乘积项乘积项多路开多路开关关输出多输出多路开关路开关三态多路三态多路开关开关反馈多反馈多路开关路开关来自来自1号
32、引脚号引脚 计算机科学与工程系64nAC0和AC1(n)对TSMUX的全部控制作用见表7-1。导 通高 阻OE=1,导通OE=0,高阻用户编程决定输出三态缓冲器状态VCC地电平OE第一与项0 00 11 01 1TSMUX输入信号AC0AC1(n)表表7-1 AC0AC1(n)对对TSMUX控制表控制表计算机科学与工程系65FMUX的全部控制功能如表的全部控制功能如表7-2所示。所示。Q端信号本级输出端邻级输出地电平反馈缓冲器输入端信号来源寄存器Q端本级输出邻级输出地电平1 0 1 1 0 10 0FMUX输入信号AC0 AC1(n) AC1(m)表表7-2 AC0AC1对对FMUX控制表控制
33、表计算机科学与工程系66 GAL的工作模式和逻辑组态的工作模式和逻辑组态nGAL16V8、GAL20V8系列器件的OLMC有寄存器模式、复杂模式、简单模式三种工作模式。n用户通过输出引脚定义方程确定OLMC的工作模式。输出引脚定义方程有A型、B型、C型三种。n它们与工作模式的关系如表7-3所示。计算机科学与工程系67表表7-3 OLMC的工作模式同引脚定义方程的关系的工作模式同引脚定义方程的关系输出引脚输出引脚方程类型方程类型输出引脚输出引脚定义方程式定义方程式工作模式工作模式A型型B型型C型型引脚名引脚名:=逻辑方程式逻辑方程式引脚名引脚名=逻辑方程式逻辑方程式引脚名引脚名.OE=逻辑方程式
34、逻辑方程式引脚名引脚名=SYN=0,AC0=1寄存器模式寄存器模式SYN=1,AC0=1复杂模式复杂模式SYN=1,AC0=0简单模式简单模式 GAL的工作模式和逻辑组态的工作模式和逻辑组态计算机科学与工程系68输出逻辑宏单元三种模式又分为七种逻输出逻辑宏单元三种模式又分为七种逻辑组态,其隶属关系如表辑组态,其隶属关系如表7-4所示。所示。 GAL的工作模式和逻辑组态的工作模式和逻辑组态表表7-4 三种模式和七种组态的关系三种模式和七种组态的关系工作模式工作模式逻辑组态逻辑组态寄存器模式寄存器模式复杂模式复杂模式简单模式简单模式寄存器输出组态寄存器输出组态 组合输出组态组合输出组态有反馈组合输
35、出有反馈组合输出 无反馈组合输出无反馈组合输出无反馈组合输出组态无反馈组合输出组态 本级输出邻级输本级输出邻级输入组态入组态 相邻输入组态相邻输入组态计算机科学与工程系69(a)寄存器模式寄存器输出组态:寄存器模式寄存器输出组态:寄存器输出010功能AC1(n)AC0SYN低有效高有效01输出极性XOR1脚作为寄存器输出级脚作为寄存器输出级的公共时钟的公共时钟CK端;端;11脚作为寄存器输出级的脚作为寄存器输出级的公共使能公共使能OE端。端。计算机科学与工程系70(b)寄存器模式组合输出组态:寄存器模式组合输出组态:在一个带寄存器GAL中的组合输出110功能AC1(n)AC0SYN低有效高有效
36、01输出极性XOR1和11号总是分别作为时钟CK端和使能端OE。计算机科学与工程系71引脚1和11为输入,所有输出为组合逻辑输出。1318号宏单元可构成这种组态 (c)复杂模式有反馈组合输出组态:复杂模式有反馈组合输出组态:低有效高有效01输出极性XOR所有输出为组合逻辑111功能AC1(n)AC0SYN计算机科学与工程系7212,19号宏单元可构成这种组态 (d)复杂模式无反馈组合输出组态:复杂模式无反馈组合输出组态:低有效高有效01输出极性XOR所有输出为组合逻辑101功能AC1(n)失效AC0=SYNSYNAC1(m)=SYN1计算机科学与工程系7315,16号宏单元可构成这种组态(e)
37、简单模式无反馈组合输出组态:简单模式无反馈组合输出组态:所有输出为组合逻辑001功能AC1(n)AC0SYN低有效高有效01输出极性XOR计算机科学与工程系7415和16号宏单元也能构成这种组态 (f)简单模式本级组合输出邻级输入组态:简单模式本级组合输出邻级输入组态:所有输出为组合逻辑001功能AC1(n)AC0SYN低有效高有效01输出极性XOR计算机科学与工程系75输出缓冲器失效除15和16号宏单元外都可构成这种组态 (g)简单模式邻级输入组态:简单模式邻级输入组态:所有输出为组合逻辑101功能AC1(n)AC0SYN无效无效01输出极性XOR计算机科学与工程系76 GAL的开发流程的开
38、发流程(开发步骤开发步骤)n建立用户源文件n用户源文件就是设计者书写的描述所要实现逻辑电路功能的软件程序的集合。其软件程序必须符合某一可编程逻辑设计语言的语法规范。现在广泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述语言。n编译用户源文件n要想使建立起来的用户源文件变成要下载的数据文件(JEDEC),必须经过若干步的语言处理程序。如语法检查、逻辑化简、功能模拟、时间模拟等。经过专用软件处理后,证明用户建立的源文件正确无误,最后将其转换成要下载的编程数据文件(JEDEC)。把上述的一系列处理过程称为编译。计算机科学与工程系77n器件编程n在专用的软件系统环境下,启动编程
39、器,使计算机和编程器进行通信。将JEDEC数据文件下载到编程器上。n选择目标器件的制造厂家、型号进行器件匹配。n将GAL器件插入插座并锁紧。这一步必须注意芯片引脚序号与插座引脚号要对应。否则器件可能被毁坏。n下载编程。即将下载到编程器上的JEDEC数据文件写入到GAL芯片中。 GAL的开发流程的开发流程(开发步骤开发步骤)计算机科学与工程系78n实际功能验证n将芯片从编程器取下,放到实验电路中或实际工作的系统中进行实际功能验证,如果功能正确,说明开发工作结束。如果功能验证不正确,则还要返回到第一步重新修改设计。 GAL的开发流程的开发流程(开发步骤开发步骤)计算机科学与工程系79ABEL硬件描
40、述语言硬件描述语言nABEL(Advanced Boolean Equation Language) 是Data I/O公司的注册商标。nABEL程序是包含一些元素的文本文件:n包括程序名和注释;n标识逻辑函数输入、输出的声明;n用来指定要实现逻辑函数的语句;n实现逻辑函数的功能的PLD或其它目标器件的类型声明;n用来指定在一定输入条件下逻辑函数期望输出的测试向量。计算机科学与工程系80ABEL硬件描述语言硬件描述语言nABEL程序的典型结构module module nametitle string deviceID device devicetype; “器件声明pin declarati
41、ons “引脚声明other declarationsequationsequationstest_vectorstest vectorsend module name计算机科学与工程系81ABEL硬件描述语言硬件描述语言module example1title basic logic gates name device p16v8s; “器件声明a,b,c,d,e pin19,1,2,3,4; “引脚声明m,n,p,q,h pin 5,6,7,8,9;i,j pin 11,12;u,v,w,x,y,z pin 18,17,16,15,14,13;X=.X.; “ 常数声明,任意态equati
42、onsu=!a; “非门INVv=b&c; “二输入与门AND2w=d#e; “二输入或门OR2x=!(m#n); “二输入或非门NOR2y=!(p$q); “二输入异或非门NXOR2z=!(h&i&j); “三输入与非门NAND3Test_vector()end example1计算机科学与工程系82ABEL硬件描述语言硬件描述语言n标识符与关键字n标识符(Identifier)n标识符用来标识器件、器件管脚或节点、集合、输入/输出信号、常量、宏及变量。n所有这些标识符都遵从同样的命名规则,具体规则如下:n标识符最多31个字符长,必须以字母或下划线打头,区分大小写。计
43、算机科学与工程系83ABEL硬件描述语言硬件描述语言n关键字n关键字是一种特殊的标识符,被ABEL视为保留字,不能用来给器件、管脚、节点、常量、集合、宏定义及信号命名。在源文件中使用关键字时,仅表明这个关键字的作用。一旦关键字被用于错误场合,语言处理程序将标出错误。n硬件描述语言中的关键字不区分大小写,可以用大写、小写或混合字体输入。计算机科学与工程系84ABEL硬件描述语言硬件描述语言n下面按字母顺序列出ABEL-HDL的关键字。nasync_reset 异步复位状态描述语句ncase-endcase 条件选择语句ndeclarations 定义段关键字ndevice 器件定义语句*nend
44、 结束语句*nequations 逻辑方程关键字*nfunctional_block 功能模块定义语句计算机科学与工程系85ABEL硬件描述语言硬件描述语言nfuses 熔丝状态定义语句ngoto 无条件转移语句nif-then-else 条件转移语句(只能用在状态图中)ninterface 功能模块接口定义语句nistype 属性定义语句*nlibrary 库引用语句nmacro 宏定义语句nmodule 模块语句*nnode 节点定义语句计算机科学与工程系86ABEL硬件描述语言硬件描述语言noptions 控制选项定义语句npin 引脚定义语句*nproperty 特征定义语句nstat
45、e 状态描述语句nstate_diagram 状态图关键字nstate_register 状态寄存器说明语句nsync_reset 同步复位状态描述语句ntest_vectors 测试向量*ntitle 标题语句*计算机科学与工程系87ABEL硬件描述语言规则概要硬件描述语言规则概要 ntruth_table 真值表表头关键字*nwhen-then-else 条件转移语句(只能用在方程中)nwith-endwith 转移方程语句计算机科学与工程系88ABEL硬件描述语言硬件描述语言n常量与数值n常量、定值可用于ABEL-HDL的逻辑设计。常量值可用在赋值语句、真值表与测试向量中,有时还可赋给标
46、识符以表示该标识符在整个模块中都有定值。常量值可为数值或非数值型特殊常量。n在ABEL-HDL中的特殊常量输入时必须在字母两边加圆点以表示其为特殊常量,否则特殊常量.C.将被认为是标识符名C。特殊常量可用大写或小写字母。计算机科学与工程系89ABEL硬件描述语言硬件描述语言nABEL-HDL中所有数值运算的精度都是128位,因此,有效数值范围是02128-1。n数值可用五种形式中的任一种表示,其中四种是用不同的数制来表示数值,第五种是用字母符号表示数值。 计算机科学与工程系90ABEL硬件描述语言硬件描述语言n.C. 时钟输入电平(按低-高-低变化)n.K. 时钟输入电平(按高-低-高变化)n
47、.U. 时钟上升沿(电平按低-高变化)n.D. 时钟下降沿(电平按高-低变化)n.F. 浮动输入或输出信号n.P. 寄存器预装载n.X. 任意态n.Z. 高阻态计算机科学与工程系91ABEL硬件描述语言硬件描述语言n当选用四种数制中的一种非默认数制来表示数据时,须在该数据前标明所用数制的符号。n表2-5列出了ABEL-HDL支持的四种数制及它们相应的符号,数制符号可用大写或小写输入。计算机科学与工程系92ABEL硬件描述语言硬件描述语言表表7-5 ABEL-HDL中数值的不同进制表示中数值的不同进制表示数制名数制名基数基数数制符号数制符号二进制二进制2B八进制八进制8O十进制十进制10D十六进
48、制十六进制16H计算机科学与工程系93ABEL硬件描述语言硬件描述语言n字符串和注释n字符串是用单引号(撇号)括起的一串ASCII码字符。字符串用于模块语句、标题语句、控制选项语句和引脚、节点、属性的定义中。n若要在字符串中使用单引号,要在它前面加一个反斜线“”。n注释是使源文件易读的另一种方式。它常被用来说明源文件本身不易理解之处,注释不影响源文件的内容。计算机科学与工程系94ABEL硬件描述语言硬件描述语言n可以有两种方式插入注释:n注释以双引号(“)开始,以另一双引号或行结束标志结束。n注释以双斜线(/)开始,以行结束标志结束。计算机科学与工程系95ABEL硬件描述语言规则概要硬件描述语
49、言规则概要 n运算符、表达式和方程nABEL-HDL表达式中可包含常量、信号名等对象。表达式将这些对象进行组合、比较或进行运算,以产生输出信号。这些运算(如加法、逻辑与)在表达式中用运算符来表示。nABEL-HDL的运算符可分为四种基本类型:逻辑运算符、算术运算符、关系运算符与赋值运算符。 计算机科学与工程系96逻辑运算符逻辑运算符 表表7-6 ABEL-HDL中的逻辑运算符中的逻辑运算符运算符运算符说明说明!非非&与与#或或$异或异或!$异或非异或非计算机科学与工程系97算术运算符算术运算符 运算符运算符举例举例说说 明明 A求补码求补码(负数负数)AB减法减法+A+B加法加法*A*
50、B乘法乘法/A/B无符号整数除法无符号整数除法%A%B取模取模:A/B的余数的余数AABA右移右移B位,位,零补缺位零补缺位计算机科学与工程系98关系运算符关系运算符运算符运算符说说 明明= =等等 于于!=不等于不等于小于小于大于大于=大于或等于大于或等于所有关系运算都是无符号运算。所有关系运算都是无符号运算。计算机科学与工程系99赋值运算符赋值运算符 运算符运算符说说 明明=组合型赋值组合型赋值(确定态确定态):=寄存器型赋值寄存器型赋值(确定态确定态)?=组合型赋值组合型赋值(任意态任意态)?:=寄存器型赋值寄存器型赋值(任意态任意态)注意:赋值运算符注意:赋值运算符:=和和?:=只能用在引脚到引只能用在引脚到引脚的寄存器方程中。脚的寄存器方程中。在使用详细点后缀的寄存器方程中要使用赋在使用详细点后缀的寄存器方程中要使用赋值运算符值运算符=和和?=。计算机科学与工程系100运算符的运算优先级运算符的运算优先级优先级优先级运算符运算符说说 明明1取二进制补码取二进制补码(负数负数)1!非非2&与与2右移右移2*乘法乘法2/无符号整数除法无符号整数除法2%取模取模3+加法加法3减法减法3#或或3$异或异或3!$异或非异或非4=等于等于4!=不等于不等于4小于小于4大于大于4=大于或等于大于或等于若同一表达若同一表达式中有优先级式中有优先级相同的运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宝鸡中北职业学院《羽毛球教学理论与实践Ⅰ》2023-2024学年第一学期期末试卷
- 宝鸡文理学院《公共政策案例分析》2023-2024学年第一学期期末试卷
- 蚌埠工商学院《佛教与中国传统文化》2023-2024学年第一学期期末试卷
- 2024年股权转让合同样本:个人权益变更详述
- 2024年甲乙双方关于建筑工程质量检测服务的合同
- 2025版自然人借款合同范本贷款业务操作指南与策略2篇
- 2025版金融机构与企业间融资租赁借款合同范本3篇
- 二零二五年幼儿园幼儿营养餐配送合同3篇
- 2025版智能卷帘门采购与安全性能检测合同3篇
- 2024年耳机品牌战略发展规划合同
- 江西省景德镇市2023-2024学年高二上学期1月期末质量检测数学试题 附答案
- 2024年办公楼卫生管理制度模版(3篇)
- 《销售人员回款培训》课件
- GB/T 45008-2024稀土热障涂层材料锆酸钆镱粉末
- 全国第三届职业技能大赛(数字孪生应用技术)选拔赛理论考试题库(含答案)
- 保险公司2024年工作总结(34篇)
- 物理实验知到智慧树章节测试课后答案2024年秋沈阳理工大学
- 2024年01月22503学前儿童健康教育活动指导期末试题答案
- 应用数理统计知到智慧树章节测试课后答案2024年秋中国农业大学
- 网络信息安全工程师招聘面试题及回答建议(某大型国企)2025年
- 肺癌的介入治疗护理
评论
0/150
提交评论