数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt

上传人:牧羊曲112 文档编号:6294985 上传时间:2023-10-14 格式:PPT 页数:129 大小:755KB
返回 下载 相关 举报
数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt_第1页
第1页 / 共129页
数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt_第2页
第2页 / 共129页
数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt_第3页
第3页 / 共129页
数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt_第4页
第4页 / 共129页
数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt_第5页
第5页 / 共129页
点击查看更多>>
资源描述

《数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt》由会员分享,可在线阅读,更多相关《数字逻辑电路教程PPT第7章可编程逻辑器件和现场.ppt(129页珍藏版)》请在三一办公上搜索。

1、第七章 可编程逻辑器件,7.1概述7.2可编程逻辑器件基础PLD逻辑表示法逻辑阵列的PLD表示法应用举例通用阵列逻辑GAL,7.1概述,可编程专用集成电路ASIC(Application Specific Integrated Circuit)是面向用户特定用途或特定功能的大规模、超大规模集成电路。分类:按功能分为数字的、模拟的、数字和模拟混和三种。按制造方式分为全定制、半定制ASIC、可编程三种。,根据芯片的集成度和结构复杂度分类,简单可编程逻辑器件SPLD:集成度小于PALCE22V10或 GAL22V10的PLD。特点是都具有可编程的与阵列、不可编程的或阵列、输出逻辑宏单元OLMC和输入

2、输出逻辑单元IOC。复杂可编程逻辑器件CPLD:集成度大于PAL22V10或GAL22V10的PLD都可视为CPLD。CPLD在集成度和结构上呈现的特点是具有更大的与阵列和或阵列,增加了大量的宏单元和布线资源,触发器的数量明显增加。高速的译码器、多位计数器、寄存器、时序状态机、网络适配器、总线控制器等较大规模的逻辑设计可选用CPLD来实现。因此,具有复杂算法的数字滤波器等数字信号处理单元的逻辑设计也可选用这些具有更高集成度CPLD来实现。,根据芯片的集成度和结构复杂度分类,现场可编程逻辑门阵列 FPGA:现场可编程门阵列FPGA是集成度和结构复杂度最高的可编程ASIC。运算器、乘法器、数字滤波

3、器、二维卷积器等具有复杂算法的逻辑单元和信号处理单元的逻辑设计可选用FPGA实现。,可编程ASIC的编程方式,可编程ASIC的编程方式有两种,一种是采用专用编程器进行编程,一种是在系统编程。后者甩掉了专用编程器,而且也不用将芯片从电路系统取下,只利用计算机和一组下载电缆就可以在系统编程。Lattice和Xilinx等几家大公司现在都有在系统可编程ASIC产品。在系统编程方式方便了用户。,可编程ASIC的一般开发步骤,设计输入(entry)功能模拟(function simulation)逻辑分割(partitioning)布局和布线(place and routing)时间模拟(timing

4、simulation)写入下载数据(download),ASIC开发步骤流程图,PLD的逻辑表示,PLD中阵列及其阵列交叉点的逻辑表示1.PLD中阵列交叉点的逻辑表示2.PLD中与阵列和或阵列的逻辑表示PLD中基本逻辑单元的PLD表示1.输入缓冲器和反馈缓冲器2.输出极性可编程的异或门3.地址选择可编程的数据选择器4.可编程数据分配器的逻辑表示,1.PLD中阵列交叉点的逻辑表示,PLD逻辑阵列中交叉点的连接方式采用图7-7所示的几种逻辑表示。,图7-7,(a)表示实体连结,就是行线和列线在这个交叉点处实在连接,这个交叉点是不可编程点,在交叉点处打上黑实点。,不可编程点,(b)表示可编程连接。无

5、论或 表示该符号所在行线和列线交叉处是个可编程点,具有一个可编程单元。,在采用熔丝工艺的PLD器件中,器件出厂后用户编程之前,所有可编程点处的熔丝都处于接通状态,习惯上都用表示熔丝接通,因此可编程点上处处都打或。,可编程点,PLD器件被用户编程后,可编程点上的熔丝有的烧断,有的接通。编 程后可在编程点上仍打有,这时的表示可编程点被编程后熔丝接通。熔丝烧断的可编程点上的消失,行线和列线不相接,这种情况用图(c)表示。,熔丝烧断点,PLD中与阵列和或阵列的逻辑表示,与阵列如图(a)所示。,在二极管与门的各支路与输出之间接入熔丝。熔丝保留的各支路的输入为有效输入,输出F是熔丝保留各支路输入的与逻辑函

6、数的。,PLD中与阵列和或阵列的逻辑表示,图(b)是PLD表示。图(a)和图(b)是熔丝全部保留的与阵列表示情况。F(A,B,C)=0。,PLD中与阵列和或阵列的逻辑表示,图(c)是烧断3个熔丝的情况,图(d)是图(c)的PLD表示。可编程或阵列,其构成原理与可编程的与阵列相同。,可编程或阵列,可编程或阵列,其构成原理与可编程的与阵列相同。,1.输入缓冲器和反馈缓冲器,在PLD中有二种特殊的缓冲器,它们是输入缓冲器和反馈缓冲器,这二种缓冲器有相同的电路构成,图7-10给出它们的PLD表示,它们是单输入、双输出的缓冲器单元,一个是高有效输出端,即同极性输出端。另一个是低有效输出端,即反极性输出端

7、。与曾经学过的输出三态缓冲器不同,虽然输出三态缓冲器也有三个端,但只有一个输入和一个输出端,另一个是使能控制端。,图7-10,1.输入缓冲器和反馈缓冲器,原则上说,输出三态缓冲器有二个输入端一个输出端。注意二者之间的区别。输入缓冲器和反馈缓冲器输出只有0、1两个逻辑状态。而输出三态缓冲器除了有0、1两个逻辑状态外,还有一个称为高阻(Z)的状态。,图7-10,2.输出极性可编程的异或门,在PLD中为了实现输出极性可编程,常采用图(a)所示的异或门结构。,当熔丝烧断,异或门输出极性为低有效,即,否则异或门输出高有效Q0=P0=P。,2.输出极性可编程的异或门,图(b)是编程后熔丝保留,输出极性编程

8、为高有效。,图(c)是编程熔丝烧断,输出极性编程为低有效。,3.地址选择可编程的数据选择器,地址选择可编程的数据选择器如图7-12所示。地址选择端编程后,若列线与行线相接且接地,其输入为逻辑0。否则,列线与行线断开其输入为逻辑1。根据编程情况,地址选择端的输入有00,01,10,11四种情况。,4.可编程数据分配器的逻辑表示,如图7-13所示。,在图7-13中核心部分是可编程逻辑分配器,根据可编程熔丝S1S0的不同编程情况,乘积项簇分别被分配到n+1号、n号、n-1号、n-2号宏单元。,FUSE1正常时(默认状态)不熔断,乘积项簇的信号传不到n号宏单元。若编程后FUSE1熔断,乘积项簇信号可以

9、传到n号宏单元。,如果FUSE2熔断,异或门反极性传输,否则异或门原极性传输,n号宏单元接收信号与乘积项簇信号同相。,FUSE2为又一个可编程点。,5.激励方式可编程的时序记忆单元的PLD表示,时序记忆单元有二种,即锁存器和触发器。输出的状态只受输入激励信号控制的时序记忆单元是锁存器。只有在时钟信号控制下才能得到受输入激励信号决定的相应输出状态的时序记忆单元是触发器。二种时序记忆单元的根本区别是输出状态的变化是否取决于时钟信号的控制。,5.激励方式可编程的时序记忆单元的PLD表示,由图7-14看出,通过编程,若线与行线断开,其输入为逻辑1。根据编程情况,地址选择端的输入有00,01,10,11

10、四种情况。,5.激励方式可编程的时序记忆单元的PLD表示,使R/L端为0,Q端的输出状态只与激励信号有关并受D决定,图7-14所示电路为D锁存器。通过编程,若使R/L端为1,图7-14所示电路只有在时钟脉冲信号CLK的驱动下,Q端的状态变化受D端的激励信号决定,该电路具有D触发器功能。,6.PLD中与阵列的缺省表示,在PLD器件与阵列中常看到图7-15中给出的几种表示。输出为Z1的与门4个输入变量全部被编程后输入,4个交叉点均画。因此,,6.PLD中与阵列的缺省表示,同理:Z2为Z1的缺省表示。这时的阵列交叉点上均未画,而在与门符号内却画有,。,6.PLD中与阵列的缺省表示,输出为Z3的与门输

11、入阵列交叉点上无,与门符号内也无,这是浮动状态的逻辑表示。浮动输入状态代表与阵列编程后熔丝全部熔断,4个输入全都不同与门相接,相当与门输入悬空,与门输出为高电平,即输出逻辑“1”,7.双向输入/输出和反馈输入的逻辑表示,双向输入/输出和反馈输入结构是PLD结构的特点之一,乘积项Pn+1为三态输出缓冲器的使能端控制信号。由于各阵列交叉点无一个,呈悬浮状态,n+1号与门输出为逻辑“1”。或阵列输出的Sm信号加在IOm引脚上,作为输出信号。同时,Sm信号又通过反馈缓冲器被反馈到与阵列。这个输出带反馈的组态方式采用图7-16(b)所示的PLD表示。,Feedback=Sm,Feedback,在图7-1

12、7(a)中,乘积项Pn+1作为三态输出缓冲器的使能端控制信号。由于各阵列交叉点全打有,所以n+1号与门输出为逻辑“0”,三态输出缓冲器禁止,其输出为高阻。这时,或阵列输出信号Sm与IOm引脚断开,加在IOm引脚上的输入信号则可通过反馈缓冲器加到与阵列上。这种输出三态缓冲器高阻且加在输出引脚上的信号借助反馈缓冲器成为输入信号的组态方式用图7-17(b)表示。,通用阵列逻辑GAL,GAL的结构及其工作原理GAL的基本阵列结构通用型GAL16V8的电路结构GAL16V8的结构控制字GAL16V8的OLMCGAL的工作模式和逻辑组态GAL16V8的行地址图GAL16V8的编程,GAL的基本阵列结构,图

13、7-19给出GAL的基本结构框图。由图7-19看出GAL是由可编程的与阵列、固定不可编程)的或阵列、可编程的输出逻辑宏单元OLMC)三部分主要电路构成。,逻辑宏单元,输入/输出口,输入口,时钟信号输入,三态控制,可编程与阵列,固定或阵列,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的结构控制字,GAL和PAL不同之处是GAL的输出电路增加了输出逻辑宏单元OLMC。GAL的输出电路可编程。GAL的结构控制字有5种

14、,82位:SYN:同步控制字1位,对8个宏单元是公共的;AC0:结构控制字1位,对8个宏单元是公共的;AC1(n):结构控制字8位,每个宏单元一个;XOR(n):极性控制字8位,每个宏单元一个;PTD:乘积项禁止控制字64位,每个与门一个。,GAL16V8的OLMC的内部电路构成,OLMC的内部电路构成如图7-21所示。,PTMUX称为乘积项多路开关,OMUX称为输出多路开关。,TSMUX称为三态多路开关,FMUX称为反馈多路开关,AC0和AC1(n)对TSMUX的全部控制作用见表7-1。,FMUX的全部控制功能如表7-2所示。,GAL的工作模式和逻辑组态,GAL16V8、GAL20V8系列器

15、件的OLMC有寄存器模式、复杂模式、简单模式三种工作模式。用户通过输出引脚定义方程确定OLMC的工作模式。输出引脚定义方程有A型、B型、C型三种。它们与工作模式的关系如表7-3所示。,输出逻辑宏单元三种模式又分为七种逻辑组态,其隶属关系如表7-4所示。,2.GAL的开发流程(开发步骤),(1)建立用户源文件用户源文件就是设计者书写的描述所要实现逻辑电路功能的软件程序的集合。其软件程序必须符合某一可编程逻辑设计语言的语法规范。现在广泛使用的有ABEL-HDL,VHDL,Verilog-VHDL等硬件描述语言。(2)编译用户源文件要想使建立起来的用户源文件变成要下载的数据文件(JEDEC),必须经

16、过若干步的语言处理程序。如语法检查、逻辑化简、功能模拟、时间模拟等。经过专用软件处理后,证明用户建立的源文件正确无误,最后将其转换成要下载的编程数据文件(JEDEC。把上述的一系列处理过程称为编译。,3.器件编程,在专用的软件系统环境下,启动编程器,使计算机和编程器进行通信。将JEDEC数据文件下载到编程器上。选择目标器件的制造厂家、型号进行器件匹配。将GAL器件插入插座并锁紧。这一步必须注意芯片引脚序号与插座引脚号要对应。否则器件可能被毁坏。下载编程。即将下载到编程器上的JEDEC数据文件写入到GAL芯片中。,4.实际功能验证,将芯片从编程器取下,放到实验电路中或实际工作的系统中进行实际功能

17、验证,如果功能正确,说明开发工作结束。如果功能验证不正确,则还要返回到第一步重新修改设计。,ABEL硬件描述语言规则概要,一、标识符与关键字标识符标识符用来标识器件、器件管脚或节点、集合、输入/输出信号、常量、宏及变量。所有这些标识符都遵从同样的命名规则,具体规则如下:标识符最多31个字符长,必须以字母或下划线打头。除第一个字符外,标识符可由大小写字母、数字、波浪线()和下划线(_)组成。,ABEL硬件描述语言规则概要,标识符中不能使用空格,单词间分隔需用下划线。标识符中不能使用句点,除非是一个合法的点后缀名。标识符的命名不能与系统软件的关键字相同。标识符可以用大写、小写或混合字体输入,但其意

18、义与字体有关。例如,以全部小写字母输入的标识符output与开头字母大写的Output就为不同的标号。,ABEL硬件描述语言规则概要,为了更具体地说明信号的性质,在标识符后面可以加点后缀。ABEL-HDL的合法点后缀.FC 触发器模式控制.CLK 边沿触发器的时钟输入.CE 时钟门控触发器的时钟使能输入.LE 锁存器的锁存使能输入(低电平有效).LH 锁存器的锁存使能输入(高电平有效).LD 寄存器加载输入,ABEL硬件描述语言规则概要,.PR 寄存器预置(同步或异步).RE 寄存器复位(同步或异步).SET 与器件无关的同步预置(等效于.SP加属性buffer).CLR 与器件无关的同步复位

19、(等效于.SR加属性buffer).SP 同步寄存器预置.SR 同步寄存器复位.ASET 与器件无关的异步预置(等效于.AP加属性buffer),ABEL硬件描述语言规则概要,.ACLR 与器件无关的异步复位(等效于.AR加属性buffer).AP 异步寄存器预置.AR 异步寄存器复位.OE 输出使能.PIN 引脚反馈.COM 触发器数据输入端(D端)的组合逻辑反馈信号.FB 寄存器反馈(Q或!Q,与输出引脚同相),ABEL硬件描述语言规则概要,.Q 寄存器反馈(Q端).D 在等式左边为D型触发器的数据输入在等式右边为组合逻辑反馈信号(送往D的信号).J JK触发器的J输入.K JK触发器的K

20、输入.S RS触发器的S输入.R RS触发器的R输入.T T触发器的T输入,ABEL硬件描述语言规则概要,关键字关键字是一种特殊的标识符,被ABEL视为保留字,不能用来给器件、管脚、节点、常量、集合、宏定义及信号命名。在源文件中使用关键字时,仅表明这个关键字的作用。一旦关键字被用于错误场合,语言处理程序将标出错误。硬件描述语言中的关键字不区分大小写,可以用大写、小写或混合字体输入。,ABEL硬件描述语言规则概要,下面按字母顺序列出ABEL-HDL的关键字。Async_reset 异步复位状态描述语句Case-Endcase 条件选择语句Declarations 定义段关键字Device 器件定

21、义语句*End 结束语句*Equations 逻辑方程关键字*Functional_block 功能模块定义语句,ABEL硬件描述语言规则概要,Fuses 熔丝状态定义语句Goto 无条件转移语句If-Then-Else 条件转移语句(只能用在状态图中)Interface 功能模块接口定义语句Istype 属性定义语句*Library 库引用语句Macro 宏定义语句Module 模块语句*Node 节点定义语句,ABEL硬件描述语言规则概要,Options 控制选项定义语句Pin 引脚定义语句*Property 特征定义语句State 状态描述语句State_diagram 状态图关键字St

22、ate_register 状态寄存器说明语句Sync_reset 同步复位状态描述语句Test_vectors 测试向量*Title 标题语句*,ABEL硬件描述语言规则概要,Truth_table 真值表表头关键字*When-Then-Else 条件转移语句(只能用在方程中)With-Endwith 转移方程语句,ABEL硬件描述语言规则概要,二、常量与数值常量、定值可用于ABEL-HDL的逻辑设计。常量值可用在赋值语句、真值表与测试向量中,有时还可赋给标识符以表示该标识符在整个模块中都有定值。常量值可为数值或非数值型特殊常量。在ABEL-HDL中的特殊常量输入时必须在字母两边加圆点以表示其

23、为特殊常量,否则特殊常量.C.将被认为是标识符名C。特殊常量可用大写或小写字母。,ABEL硬件描述语言规则概要,ABEL-HDL中所有数值运算的精度都是128位,因此,有效数值范围是02128-1。数值可用五种形式中的任一种表示,其中四种是用不同的数制来表示数值,第五种是用字母符号表示数值。,ABEL硬件描述语言规则概要,.C.时钟输入电平(按低一高一低变化).K.时钟输入电平(按高一低一高变化).U.时钟上升沿(电平按低一高变化).D.时钟下降沿(电平按高一低变化).F.浮动输入或输出信号.P.寄存器预装载.SVn.n,2-9,驱动输入到超级电平2-9.X.任意态.Z.高阻态,ABEL硬件描

24、述语言规则概要,当选用四种数制中的一种非默认数制来表示数据时,须在该数据前标明所用数制的符号。表2-5列出了ABEL-HDL支持的四种数制及它们相应的符号,数制符号可用大写或小写输入。,ABEL硬件描述语言规则概要,表2-5 ABEL-HDL中数值的不同进制表示,ABEL硬件描述语言规则概要,若一个指定的数据前没有数制符号,则认为它使用默认数制。正常的默认数制为十进制。数也可用一个或多个字母符号来表示。这种情况下,这个字母的ASCII的值即为它表示的数值。例如,字符a的ASCII码是十进制数97,因此用a表示一个数时,即相当于十进制数97。,ABEL硬件描述语言规则概要,三、字符串和注释字符串

25、是用单引号(撇号)括起的一串ASCII码字符。字符串用于模块语句、标题语句、控制选项语句和引脚、节点、属性的定义中。若要在字符串中使用单引号,要在它前面加一个反斜线”。注释是使源文件易读的另一种方式。它常被用来说明源文件本身不易理解之处,注释不影响源文件的内容。,ABEL硬件描述语言规则概要,可以有两种方式插入注释:注释以双引号()开始,以另一双引号或行结束标志结束。注释以双斜线(/)开始,以行结束标志结束。,ABEL硬件描述语言规则概要,四、运算符、表达式和方程ABEL-HDL表达式中可包含常量、信号名等对象。表达式将这些对象进行组合、比较或进行运算,以产生输出信号。这些运算(如加法、逻辑与

26、)在表达式中用运算符来表示。ABEL-HDL的运算符可分为四种基本类型:逻辑运算符、算术运算符、关系运算符与赋值运算符。,逻辑运算符,逻辑运算符用于布尔方程。ABEL-HDL使用的是许多逻辑设计均采用的标准逻辑运算符,它们列在表2-6中。多位逻辑运算是逐位进行的,逻辑运算符,表2-6 ABEL-HDL中的逻辑运算符,算术运算符,在ABEL-HDL语言中算术运算符定义了表达式中两个对象之间的算术关系。移位运算符也属于算术运算符,因为左移一位就相当于乘以2,右移一位就相当于除以2。表2-7列出了算术运算符。,算术运算符,算术运算符,注意:减号的用法不同时意义也不同。当它用在一个运算数前时,表示对这

27、个运算数取二进制补码,当用于两个运算数之间时,表示将第三个运算数的二进制补码与第一个运算数相加。除法是无符号整数除法;余数可以通过取模得到。移位运算是逻辑无符号移位。移位运算中用零来补缺位。,关系运算符,关系运算符用来比较表达式中的两项。由关系运算符构成的表达式,输出一个布尔真值或假值。表2-8列出这些关系运算符。,关系运算符,关系运算符,所有关系运算都是无符号运算。例如,表达式!04为真,因为0的二进制反码是1111,即无符号二进制数15,而15是大于4的。本例中假定数的精度为4位二进制,实际上ABEL-HDL使用的为128位二进制数,因此0的二进制反码应是128位均为l的二进制数。,关系运

28、算符,逻辑真或假在ABEL-HDL内部用数值来表示。逻辑真表示为-1,取二进制补码后,相当于128位都为1的数。逻辑假为0,相当于128位都为0的数。这就是说,一个结果取真或假的关系表达式可用在任何能使用数字或数字表达式的地方,其取值是-1或0。使用关系运算符时,要考虑运算符的优先级关系,用括号可以改变表达式的运算顺序。,赋值运算符,赋值运算符是一类用于布尔方程的特殊运算符,将表达式的值赋予输出。有四种赋值运算符(两种组合型和两种寄存器型)。组合型赋值在表达式求值后立即赋予输出,没有延时。而寄存器赋值要等与输出有关的时钟脉冲到来后,才进行赋值。表2-9列出了赋值运算符。,赋值运算符,赋值运算符

29、,注意:赋值运算符:=和?:=只能用在引脚到引脚的寄存器方程中。在使用详细点后缀的寄存器方程中要使用赋值运算符=和?=。,运算符的运算优先级,表达式由标识符和运算符组成,求值后得出一个结果。所有的逻辑运算符,算术运算符和关系运算符都可用于表达式中。表达式按所包含的运算符进行运算,每个运算符都有相应的优先级,优先级最高为1,最低为4。表2-10按优先级次序列出了逻辑、算术、关系运算符。,运算符的运算优先级,表2-10 运算符的优先级,若,运算符的运算优先级,若同一表达式中有优先级相同的运算符,则按从左到右的顺序进行运算,圆括号可改变运算次序,圆括号内运算优先进行。,五、集合运算,在表达式和方程中

30、可以使用集合。集合是一组可作为整体进行运算的信号和常量,用方括号括起的一列常量和信号来表示,常量或信号间须用逗号或排列运算符(.)隔开。排列运算符两边标识符的名字必须一致,即它们的字母前缀相同,后缀都为数字。例如 SET1=A7.A0表示定义一个具有8个元素(A7,A6,A5,A4,A3,A2,Al,A0)的集合,其集合名为SET1。,五、集合运算,任何对集合的运算其实是对集合中的每个元素进行。集合将一组信号用一个名字来表示,从而简化了ABEL-HDL逻辑设计和测试向量的描述。ABEL-HDL允许利用集合的序号访问集合中的元素。比如在上述例子中,SET13表示集合SET1中的第三个元素,即A4

31、。,五、集合运算,注意,序号0是集合中最左面的元素(与元素的排列顺序有关,而不是与元素的后缀或下标有关)。绝大多数运算符可对集合进行运算。表2-11列出了可用于集合的运算符,五、集合运算,表2-11 ABEL-HDL支持的集合运算,五、集合运算,五、集合运算,集合按照布尔代数规则进行运算。通常这种运算是对集合中的每个元素进行的,所以对两个以上集合进行运算,集合中的元素个数必须相等。表达式“a,b+c,d,e”是非法的,因为两个集合中的元素个数不等。,五、集合运算,表2-12给出集合的运算规则。表中大写字母表示集合名称,小写字母表示集合中的元素。字母k和n为元素和集合的下标。集合的下标指出该集合

32、含有多少元素,所以Ak指出集合A包含k个元素,a1表示集合A的第一个元素,ak-1表示集合A的第k-l个元素。,五、集合运算,表2-12 ABEL-HDL中集合的运算规则,集合运算的,五、集合运算,集合运算的方式与结果取决于其变量的类型。绝大多数运算符对一个集合的运算结果仍为一个集合。需注意的是关系运算符(=,!=,=,=)的结果为一个数值:TRUE(全1)或FALSE(全0),且该数值的位数根据需要来截取。其长度由关系运算符所处场合的上下关系决定,不取变量的长度。,五、集合运算,任何形式表示的数值及数值集合,都可用于集合赋值或集合比较。只是用于集合赋值或比较的数要转换成二进制形式,并遵从下列

33、规则:如果该二进制数的有效位数多于集合中元素的个数,则要从左边截去多余的位。如果该二进制数的有效位数少于集合中元素的个数,则要从左边用0补齐少的位。,五、集合运算,如下面几个方程:select=al5.a0=H80FF;表示当十六位地址线的地址为十六进制80FF时,信号select为TRUE。关系运算的结果始终只有l位。out3.out0=in3.in0表示如果enable信号为真,则输出out0至out3取对应输入in0至in3的值。若enable为FALSE,则输出全为FALSE。,五、集合运算,下面以&运算符为例说明在不同场合下表示的不同作用。SIGNAL&SIGNAL,例如:a&b。这

34、是最常见的用法,表示如果两个信号都为真则表达式为真。SIGNAL&NUMBER,例如:a&4。这里需先将4转换为二进制数,并且只用它的最低有效位,因此该表达式相当于a&0,其结果始终为0即假。SIGNAL&SET,例如a&x,y,z。相当于信号与集合中的每个元素相作用,等价为:a&x,a&y,a&z。,五、集合运算,SET&SET,例如:a,b&x,y。集合间的与运算将按位进行,这里就为a&x,b&y。这种场合下,如果集合长度不等,就会给出错误显示。SET&NUMBER,例如:a,b,c&5。首先要将数转换为二进制数,并按集合的长度对该二进制数截取或填零以便两者长度相等,然后再做运算。这里的转

35、换过程为:a,b,c&1,0,1=a&l,b&0,c&l=a,0,c。,五、集合运算,NJMBER&NUMBER,例如,9&5。这种情况下也是先将数转换为二进制,但只使用其最低位运算,因此本例相当于1&1,结果始终为l。,GAL的应用举例,用GAL实现基本逻辑门的设计 用GAL实现组合及时序混合的逻辑电路,用GAL实现基本逻辑门的设计,设计说明及构思图7-19给出了用一片GAL16V8实现基本逻辑门的要求。由图7-19看出所要实现的电路是简单的组合逻辑电路,选择GAL16V8的简单模式就可以实现。选定模式后要画出引脚配置图,由图可见全部电路共有12个输入端,6个输出端。,7-19,用GAL实现

36、基本逻辑门的设计,设计说明及构思其中8个输入信号安排在2,3,4,5,6,7,8,9专用输入引脚上,1号和11号引脚也安排2个输入信号。剩下2个输入信号安排在12和19号引脚。,7-19,用GAL实现基本逻辑门的设计,设计说明及构思其它6个OLMC均设置为组合输出。6个门电路的输出信号安排在这6个宏单元的相应输出引脚上。GAL是通用逻辑阵列器件,根据不同应用场合,ABEL语言为其提供了三个器件文件,本例中使用的是无反馈的组合电路,所以在源文件中器件名P16V8S。,7-19,用GAL实现基本逻辑门的设计,设计方法基本逻辑门使简单组合电路,用布尔方程描述其功能很方便,采用布尔方程表示。,7-19

37、,用GAL实现基本逻辑门的设计,测试向量源文件中我们写了两个相互独立的测试向量段来分别表示六个基本逻辑门的逻辑关系,每个逻辑门又分别设置了典型的测试向量,并且把各个逻辑门都分割开来,这样使仿真输出结果更易读,有了问题也更便于解决。为了阅读方便加了注释语句。,7-19,7-19,建立用户源文件符合ABEL-HDL语言规范且能实现图7-19给出的基本逻辑门设计的用户源文件如下:,7-19,“测试非门、与门、或门,Test_ vector,Test_vector,用GAL实现组合及时序混合的逻辑电路,设计说明及构思组合和时序混合的逻辑电路如图7-20所示。由图7-20看出,组合电路部分包括二个电路:

38、其中一个是实现X=AS+B S的复合逻辑门,另一个是三态门。时序电路部分包括一个D触发器和一个由2个D触发器构成的四进制计数器。,说明,用GAL器件实现该电路,要用GAL的寄存器组合输出组态。在进行设计时有二点必须注意:其一所实现的电路包括D触发器和四进制计数器,11号引脚只能做这个时序电路的使能控制端。在建立用户源文件时,11号引脚要给予引脚定义,不必写出OE的方程式。,说明,测试向量包括OE。测试或使用时将11号引脚接地就可保证时序电路使能。其二所实现的电路还包括三态门,三态门使能端E要用独立的乘积项进行控制。在设计用户源文件时,要书写有关E的专用方程式,测试向量也应包括使能信号E。,将上

39、面的名为example2的用户源文件编译后会得到相应的name.JED下载编程数据文件。对GAL16V8下载后完成设计。这个组合和时序混合的逻辑电路在GAL16V8中的等效电路如图7-21所示。其中四进制计数器的真值表如表7-4所示。,图7-21,7-4,例题,用一片GAL16V8实现图10所示的4个逻辑电路。要求写出1个符合ABEL语言规范的用户源文件。GAL16V8的引脚图如图所示。,例题,如图所示逻辑图的逻辑方程式为:,ABEL语言的源文件如下:,module complextitleexam device p16v8rCP,OE pin 1,11Ai,Bi,Ci,A,B,C pin 2,3,4,5,6,7D,E pin 8,9Si,Ci+1,F1,F2,Q1,Q2 pin 12,13,14,15,16,18 equationSi=Ai$Bi$CiCi+1=!Ai&Bi&Ci#Ai&!Bi&Ci#Ai&Bi&!Ci#Ai&Bi&CiF1=!A&B&CF2=D$EQ1:=!Q1Q2:=Q1$Q2End complex,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号