计算机导论-时序逻辑电路_第1页
计算机导论-时序逻辑电路_第2页
计算机导论-时序逻辑电路_第3页
计算机导论-时序逻辑电路_第4页
计算机导论-时序逻辑电路_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机导论-时序逻辑电路1 n由第四章的讨论可知,组合逻辑电路的特点是任一时刻的输出仅仅取决于当前的输入,与电路过去的状态没有关系。除此之外,还存在着另外一类逻辑电路,其特点是电路在某一时刻的输出,不仅与当前的输入有关,而且还与过去的输入有关。这一类逻辑电路叫时序逻辑电路,简称时序电路。计算机导论-时序逻辑电路2由上图可知,时序电路由两部分组成,一部分是第四章中介绍过的组合逻辑电路,另一部分是由第五章中学习过的触发器构成的存储电路。计算机导论-时序逻辑电路3时序逻辑电路中,任何时刻电路的稳态输出,不仅和该时刻的输入信号有关,而且还取决于电路原来状态。这既是时序逻辑电路的定义,也是其逻辑功能特点

2、。时序逻辑电路的状态是由存储电路来记忆和表示的,所以从电路组成看,时序电路中一定包含有作为存储单元的触发器。实际上,时序电路的状态,就是依靠触发器记忆和表示的,时序电路中可以没有组合电路,但不能没有触发器。 计算机导论-时序逻辑电路4在图6-1中,如果用 ),(21ixxxX),(21jyyyY),(21kwwwW),(21lqqqQ分别代表时序电路的现在输入信号、现在输出信号、存储电路的现在输入和输出信号,那么这些信号之间的逻辑关系就可用下面三个向量函数来表示: )(),()(nnntQtXFtY)(),()(nnntQtXGtW)(),()(1nnntQtWHtQ计算机导论-时序逻辑电路5

3、n所谓状态转换真值表,是指反映时序电路中的输所谓状态转换真值表,是指反映时序电路中的输出出y(tn)、次态、次态y(tn+1)和输入和输入x(tn)及现态及现态Q(tn)之间之间对应关系的表格,简称为状态表。状态转换图是对应关系的表格,简称为状态表。状态转换图是指反映时序电路状态转换规律及相应输入、输出指反映时序电路状态转换规律及相应输入、输出取值情况的几何图形,状态转换图可以由状态转取值情况的几何图形,状态转换图可以由状态转换表变换而成。时序图是在时钟脉冲序列作用下换表变换而成。时序图是在时钟脉冲序列作用下,电路状态、输出状态随时间变化的波形图,时,电路状态、输出状态随时间变化的波形图,时序

4、波形图也称工作波形图,它反映了输入信号、序波形图也称工作波形图,它反映了输入信号、输出信信号、电路状态的取值在时间上的对应关输出信信号、电路状态的取值在时间上的对应关系。系。计算机导论-时序逻辑电路6n1按逻辑功能划分有:计数器、寄存器、移按逻辑功能划分有:计数器、寄存器、移位寄存器、读位寄存器、读/写存储器、顺序脉冲发生器等。写存储器、顺序脉冲发生器等。在生产、科研、生活中,完成各种各样操作的在生产、科研、生活中,完成各种各样操作的时序电路不胜枚举,本章只学习少数几种比较时序电路不胜枚举,本章只学习少数几种比较典型的电路。典型的电路。计算机导论-时序逻辑电路72按电路中触发器状态变化是否同步

5、可分为:按电路中触发器状态变化是否同步可分为:同步时序电路和异步时序电路。同步时序电路和异步时序电路。同步时序电路:电路状态改变时,电路中要更新同步时序电路:电路状态改变时,电路中要更新状态的触发器是同步翻转的。因为在这种时序电状态的触发器是同步翻转的。因为在这种时序电路中,其状态的改变受同一个时钟脉冲控制,各路中,其状态的改变受同一个时钟脉冲控制,各个触发器的个触发器的CP信号都是输入时钟脉冲。信号都是输入时钟脉冲。异步时序电路:电路状态改变时,电路中要更新异步时序电路:电路状态改变时,电路中要更新状态的触发器,有的先翻转,有的后翻转,是异状态的触发器,有的先翻转,有的后翻转,是异步进行的。

6、因为在这种时序电路中,有的触发器步进行的。因为在这种时序电路中,有的触发器的的CP信号就是输人时钟脉冲,有的触发器则不是,信号就是输人时钟脉冲,有的触发器则不是,而是其它触发器的输出。而是其它触发器的输出。计算机导论-时序逻辑电路8n按电路输出信号的特性可分为按电路输出信号的特性可分为Mealy型和型和Moore型。型。nMealy型电路:其输出不仅与现态有关,而且型电路:其输出不仅与现态有关,而且还决定于电路的输入,图还决定于电路的输入,图6-2(a)所示是其电路所示是其电路的一般模型。其输出方程为:的一般模型。其输出方程为: 。nMoore型电路:其输出仅决定于电路的现态型电路:其输出仅决

7、定于电路的现态 ,即,电路模型见图,即,电路模型见图6-2(b)。n此外,按能否编程有可编程和不可编程时序电此外,按能否编程有可编程和不可编程时序电路之分;按集成度不同又有路之分;按集成度不同又有SSI. MSI. LSI、VLSI之别;按使用的开关元件类型还有之别;按使用的开关元件类型还有TTL和和CMOS等时序电路之分。等时序电路之分。)(),()(nnntQtXFtY)()(nntQFtY计算机导论-时序逻辑电路9 计算机导论-时序逻辑电路10计算机导论-时序逻辑电路11基于触发器的时序逻辑电路的分析通常按以下步骤进行:。根据给定电路,写出各触发器的驱动方程和时钟方程,并写出输出方程。将

8、步骤(1)中得到的各触发器的驱动方程代入各自的特性方程中,求出每个触发器的状态方程。状态方程反映了触发器的次态与现态及外部输入之间的逻辑关系。 计算机导论-时序逻辑电路12n将任何一组外部输入变量及电路的初始状态的取值代入状态方程和输出方程,即可求出电路的次态值和相应输出值,然后继续这个过程,直到考虑了所有可能的状态为止。将这些结果列成真值表的形式,就得到状态转换真值表,进而还可以画出状态转换图或时序波形图。 在状态转换图中以圆圈形式表示电路的各个状态。用箭头表示状态转移的方向,在箭头旁注明转换时的外部输入变量和电路输出变量的值。n根据状态转换真值表或状态转换图,经过分析,确定电路的逻辑功能。

9、计算机导论-时序逻辑电路13n【例例6-1】 分析图分析图6-3所示同步时序逻辑电路,说明该电所示同步时序逻辑电路,说明该电路功能。路功能。n解:(解:(1)根据图图)根据图图6-3所示逻辑图写出各个方程:所示逻辑图写出各个方程:计算机导论-时序逻辑电路14计算机导论-时序逻辑电路15n(2)求状态方程)求状态方程(3)列状态转换真值表,画状态转换图 依次假设电路的现态nnnQQQ012代入上面的状态方程和输出方程中,进行计算,求出次态和输出,列出状态转换真值表。计算机导论-时序逻辑电路16 表表6-1 例例6-1的状态表的状态表画出状态图与时序图,见图6-4、图6-5。计算机导论-时序逻辑电

10、路17:从上述分析看出,每加入6个时钟脉冲信号以后,电路的状态循环变化一次。可见,这个电路具有对时钟脉冲信号计数的功能,因此,图6-3所示电路是一个六进制计数器。计算机导论-时序逻辑电路18n(5)关于有效状态、有效循环、无效状态、无)关于有效状态、有效循环、无效状态、无效循环、能自启动和不能自启动的概念效循环、能自启动和不能自启动的概念n有效状态与有效循环:在时序电路中,凡是被利有效状态与有效循环:在时序电路中,凡是被利用了的状态,都叫做有效状态。由有效状态形成用了的状态,都叫做有效状态。由有效状态形成的循环,称为有效循环。如图的循环,称为有效循环。如图6-4(a)所示的循环所示的循环,就是

11、有效循环。,就是有效循环。n无效状态与无效循环:在时序电路中,凡没有被无效状态与无效循环:在时序电路中,凡没有被利用的状态,都叫做无效状态。如果无效状态形利用的状态,都叫做无效状态。如果无效状态形成了循环,那么这种循环就称为无效循环。图成了循环,那么这种循环就称为无效循环。图6-4(b)所示的循环就是无效循环。所示的循环就是无效循环。计算机导论-时序逻辑电路19能自启动与不能自启动:在时序电路中,虽然存能自启动与不能自启动:在时序电路中,虽然存在无效状态,但它们没有形成循环,这样的时序在无效状态,但它们没有形成循环,这样的时序电路叫做能自启动的时序电路。如果既有无效状电路叫做能自启动的时序电路

12、。如果既有无效状态存在,它们之间又形成了循环,这样的时序电态存在,它们之间又形成了循环,这样的时序电路被称之为不能自启动的时序电路。例如,图路被称之为不能自启动的时序电路。例如,图6-4所示状态图中,既存在无效状态所示状态图中,既存在无效状态010、101,又,又形成了无效循环,因此,图形成了无效循环,因此,图6-4所示时序电路是所示时序电路是一个不能自启动的时序电路。在这种时序电路中,一个不能自启动的时序电路。在这种时序电路中,一旦因某种原因,例如干扰而落入无效循环,就一旦因某种原因,例如干扰而落入无效循环,就再也回不到有效状态了,当然,再要正常工作也再也回不到有效状态了,当然,再要正常工作

13、也就不可能了。就不可能了。 计算机导论-时序逻辑电路20计算机导论-时序逻辑电路21 解:解:(1)写时序电路的输出方程及激励方程如下:(2)根据JK触发器的特征方程写出状态方程nnnnnnxQQxQQKQJQ112111111nnnnnQQxQKQJQ21222212计算机导论-时序逻辑电路22计算机导论-时序逻辑电路23计算机导论-时序逻辑电路24 计算机导论-时序逻辑电路25在确定了原始状态转换图之后,若在状态转换图中出现了等价状态,就需要进行化简。所谓等价状态,是指在相同的输入条件下状态转换具有相同的次态及同样的输出。由于等价状态是重复的,因此可以合并为一项,从而达到了状态的简化。计算

14、机导论-时序逻辑电路26每个触发器有两个状态0和1,n个触发器能表示2n个状态。若用N表示时序电路的状态数,则有:2n-1N2n因此通过上式可以确定触发器的数目。由于不同类型的触发器驱动方式不同,设计出的电路也不一样。因此,在设计具体的电路时,要选定触发器的类型。状态分配也叫状态编码,是指对原始状态转换图中的每个状态进行编码。编码方案选择得当,可以使设计结果简单。计算机导论-时序逻辑电路27计算机导论-时序逻辑电路28计算机导论-时序逻辑电路29 计算机导论-时序逻辑电路30 由于五进制计数器必须用5个不同的电路状态来表示输入的时钟脉冲数,所以不会存在等价状态:当然就无需状态化简。 由于五进制

15、计数器的状态数是5,所以应选3个触发器。选000100等5个自然二进制数作为S0S4的编码。编码之后的状态转换图如图6-11所示。计算机导论-时序逻辑电路31 计算机导论-时序逻辑电路32nnnQKQJQ1nnnnQQQQ21012nnnnnQQQQQ101011nnnQQQ0210输出方程: nQC2将状态方程和JK触发器的特性方程对比,求得的驱动方程为 nnnQQQ1012nnnnnnnQQQQQQQ10101011nnnQQQ0210 计算机导论-时序逻辑电路33nnQQD102nnQQD101nnQQD020 根据驱动方程和输出方程画出的由D触发器构成的计数器,如图6-16所示。检查结

16、果是图6-16所示电路能够自启动,状态转换图如图6-17所示。计算机导论-时序逻辑电路34计算机导论-时序逻辑电路35计算机导论-时序逻辑电路36 (1)寄存器的概念)寄存器的概念 寄存 把二进制数据或代码暂时存储起来的操作叫做寄存。其实,人们随处都可遇到寄存的问题,例如去超市购物,要将自带物品暂存在超市提供的寄存处;外出旅行住酒店,需要将贵重物品交由酒店暂时保管等都是寄存的例子。 寄存器 具有寄存功能的电路称为寄存器。寄存器是一种基本时序电路,在各种数字系统中,几乎是无所不在。因为任何现代数字系统,都必须把需要处理的数据、代码先寄存起来,以便随时取用。计算机导论-时序逻辑电路37 (2)寄存

17、器的主要特点)寄存器的主要特点 图6-22所示是寄存器的结构示意框图 从电路组成看:寄存器是由具有存储功能的触发器组合起来构成的,使用的可以是基本触发器、同步触发器、主从触发器或边沿触发器,电路结构比较简单。从基本功能看:寄存器的任务主要是暂时存储二进制数据或代码,一般情况下,不对存储内容进行处理,逻辑功能比较单一。计算机导论-时序逻辑电路38 (1)按功能分)按功能分 按照功能差别,常把寄存器分成两大类: 基本寄存器: 数据或代码只能并行送入寄存器中,需要时也只能并行输出。存储单元用基本触发器、同步触发器、主从触发器及边沿触发器均可。 移位寄存器: 存储在寄存器中的数据或代码,在移位脉冲的操

18、作下,可以依次逐位右移或左移,而数据或代码,既可以并行输入、并行输出,也可以串行输入、并行输出,十分灵活,用途也很广。存储单元则只能用主从触发器或者边沿触发器。计算机导论-时序逻辑电路39 (2)按使用开关元件不同分)按使用开关元件不同分 按照器件内部使用开关元件不同可分成许多种,目前使用最多的是TTL寄存器和CMOS寄存器。它们都是中规模集成电路。 TTL寄存器 表6-9给出了一些常用的TTL寄存器的型号。计算机导论-时序逻辑电路40 计算机导论-时序逻辑电路41 一个触发器可以储存1位二进制信号,寄存n位二进制数,需要n个触发器。 (1)电路组成)电路组成 图6-23所示是4边沿D触发器7

19、4175、74LS175的逻辑电路图。D0D3是并行数码输入端,是清零端,CP是控制时钟脉冲端,Q0Q3是并行数码输出端。计算机导论-时序逻辑电路42 (2)工作原理)工作原理 表6-11所示是4边沿D触发器74175、74LS175的功能表。计算机导论-时序逻辑电路43 清零: =0,异步清零。无论寄存器中原来的内容是什么,只要 =0,就立即通过异步输入端将4个边沿D触发器复位到0状态。 送数: 当 =1时,CP上升沿送数。无论寄存器中原来存储的数码是什么,在 =1时,只要送数控制时钟脉冲CP上升沿到来,加在并行数码输入端的数码d0d3立即被送入进寄存器中,即:CRCRCRCR010dQn1

20、11dQn212dQn313dQnCP上升沿时刻有效 计算机导论-时序逻辑电路44 保持:当=1、CP上升沿以外时间,寄存器保持内容不变,即各个输出端Q、的状态与d无关,都将保持不变。用边沿D解发器作寄存器,其D端具有很强的抗干扰能力 计算机导论-时序逻辑电路45计算机导论-时序逻辑电路46 (1)8位位D锁锁存器的逻辑图存器的逻辑图和引脚图和引脚图 图6-24 (a)所示是8位D锁存器的逻辑图,图6-24 (b)所示是其引脚图。图6-24 (c)是一位D锁存器逻辑图。是使能端, 1D8D是数码并行输入端,1Q8Q是并行输出端。计算机导论-时序逻辑电路47(2)逻辑功能)逻辑功能表6-12所示

21、是74LS373的功能表,该表说明芯片具有下列功能:74LS373的输出级为三态非门。只有输出使能信号时,才有信号输出;而时,输出为高组态;当CP=1,时,Q=D。当CP由0变l时,即锁存信号到达时,Q的状态被锁存,保持CP上升沿到来时输入信号的状态。 计算机导论-时序逻辑电路48 3. 基本寄存基本寄存器的器的VHDL描描述述(1)4边边沿沿D触发器触发器LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY dff_4 ISPORT ( D:IN STD_LOGIC_VECTOR( 3 DOWNTO 0);CR,CP:IN STD_LOGIC; Q:

22、OUT STD_LOGIC_VECTOR( 3 DOWNTO 0);END dff_4;ARCHITECTURE rtl OF dff_4 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 3 DOWNTO 0);BEGINPROCESS(CP,CR,D)BEGINIF( CR = 0 ) THENq_temp = 0000;ELSEIF(CP EVENT AND CP = 1 ) THENq_temp = D;ELSEq_temp = q_temp;END IF;END IF;END PROCESS;Q = q_temp;END rtl;计算机导论-时序逻辑电路49 (2)

23、8位位D锁存器锁存器74LS373LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY latch_8 ISPORT ( D:IN STD_LOGIC_VECTOR( 7 DOWNTO 0);NE,CP:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR( 7 DOWNTO 0);END latch_8;ARCHITECTURE rtl OF latch_8 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 7 DOWNTO 0);BEGINPROCESS(CP,NE,D)BEGINIF( NE = 0 ) TH

24、ENIF( CP = 1 ) THENq_temp = D;ELSE计算机导论-时序逻辑电路50q_temp = q_temp;END IF;ELSEq_temp = ZZZZZZZZ;END IF;END PROCESS;Q = q_temp;END rtl;计算机导论-时序逻辑电路51 表6-12 74LS373的功能表输 入输 出CPDnQnH高阻HLLLHLHHLLQ0移位寄存器是数字系统和计算机中的重要部件。移位寄存器除了具有存储代码的功能以外,还具有移位功能。在移位操作时,要求每来一个时钟脉冲(即移位命令),寄存器中存储的数据就顺次向左或向右移动一位。计算机导论-时序逻辑电路52移

25、位寄存器的输入方式有两种:串行串行输入和并行输入。串行输入方式是在同一个时钟脉冲作用下,每输入一个时钟脉冲,输入数据就移入一位到寄存器中,同时已存入的数据继续右移或左移。若将多位数据存入串行移位寄存器,需要多个时钟脉冲,因此串行输入方式的寄存器工作速度慢。并行输入方式是把全部数据同时输入寄存器,工作速度快。计算机导论-时序逻辑电路53移位寄存器的输出方式也有两种:串行输出和并行输出。串行输出方式的移位寄存器是在时钟脉冲作用下一位一位对外输出的。并行输出方式的移位寄存器是通过其输出端同时对外输出的。因此,移位寄存器包括有串行输入、串行输出寄存器、并行输入转串行输出移位寄存器和串行输入转并行输出寄

26、存器等。移位寄存器通常用来寄存数据代码、实现数据的串行并行转换。计算机导论-时序逻辑电路54 (1)电路组成)电路组成 图6-25所示是用边沿D触发器构成的单向移位寄存器。从电路结构看,它有两个基本特征:一是由相同存储单元组成,存储单元个数就是移位寄存器的位数;二是各个存储单元共用一个时钟信号移位操作命令,电路工作是同步的,属于同步时序电路。计算机导论-时序逻辑电路55 在图6-25所示右移移位寄存器中,假设各个触发器的起始状态均为0,即 =0000,根据图6-25所示电路可得nnnnQQQQ3210状态表:根据状态方程和假设的起始状态可列出如表6-13所示状态表。表6-13所示状态表描述了右

27、移移位过程。当连续输入4个l时,Di经FF0在CP上升沿操作下,依次被移人寄存器中,经过4个CP脉冲,寄存器就变成全1状态。再连续输入0,4个CP脉冲之后,寄存器变成全0状态。计算机导论-时序逻辑电路56计算机导论-时序逻辑电路57(3)主要特点)主要特点 单向移位寄存器中的数码,在CP脉冲操作下,可以依次右移(右移移位寄存器)或左移(左移移位寄存器)。 n位单向移位寄存器可以寄存n位二进制数码。n个CP脉冲即可完成串行输人工作,此后可从Q0Qn-1端获得并行的n位二进制数码,再用n个CP脉冲又可实现串行输出操作。 若串行输入端状态为0,则n个CP脉冲后,寄存器便被清零。 计算机导论-时序逻辑

28、电路58把左移和右移移位寄存器组合起来,加上移位方向控制信号,便可方便地构成双向移位寄存器。(1)电路组成)电路组成图6-26所示是基本的4位双向移位寄存器。M是移位方向控制信号,DSR是右移串行输人端,DSL是左移串行输入端,Q0 Q3是并行输出端,CP是时钟脉冲移位操作信号。计算机导论-时序逻辑电路59 (2)工作原理)工作原理 图6-26中,四个与或门构成了4个2选1数据选择器,其输出就是送给相应边沿D触发器的同步输入端信号,M是选择控制信号,由电路可得驱动方程nSRMQDMD10nnMQQMD201nnMQQMD312SLnMDQMD23、计算机导论-时序逻辑电路60 代人D型触发器的

29、特性方程便可求出状态方程 CP上升沿时刻有效nSRnMQDMQ110nnnMQQMQ2011nnnMQQMQ3112、SLnnMDQMQ213 当M=0时SRnDQ10nnQQ011nnQQ112nnQQ213、 CP上升沿时刻有效、显然,电路成为4位右移移位寄存器。计算机导论-时序逻辑电路61 当M=1时 nnQQ110nnQQ211nnQQ312SLnDQ13、 CP上升沿时刻有效、不难理解,电路按照4位左移移位寄存器的工作原理运行。因此,图6-26所示电路具有双向移位功能,当M=0时右移,M=l时左移。计算机导论-时序逻辑电路62计算机导论-时序逻辑电路63 CR是清零端;M0、M1是工

30、作状态控制端:DSR和DSL分别为右移和左移串行数码输人端;D0D3是并行数码输入端;Q0Q1是并行数码输出端;CP是时钟脉冲。CR计算机导论-时序逻辑电路64 表6-14所示是74LS194的功能表,它十分清晰地反映出4位双向移位寄存器74LS194所具的逻辑功能: 计算机导论-时序逻辑电路65 (1) 清零功能: 当 =0时,74LS194异步清零。 (2) 保持功能:当 =l时,CP=0或M0=M1=0,双向移位寄存器保持状态不变。 (3)并行送数功能:当 =1 M0=M1=1时,CP上升沿可将加在并行输入端D0D3的数码d0d3送人寄存器中。 (4) 右移串行送数功能:当 =l、M1=

31、0、M0=l时,在CP上升沿的操作下,可依次把加在DSR端的数码从触发器FF0串行送人寄存器中。 (5) 左移串行送数功能:当 =l、M1=1、M0=0时时,在CP上升沿的操作下,可依次将加在DSL端的数码从触发器FF3串行送人寄存器中。CRCRCRCRCR计算机导论-时序逻辑电路66 (1)边沿)边沿D触发器构成的单向移位寄存器触发器构成的单向移位寄存器LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY shift_rt_4 ISPORT ( Di,CP:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR( 0 TO 3);E

32、ND shift_rt_4;ARCHITECTURE rtl OF shift_rt_4 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 0 TO 3);计算机导论-时序逻辑电路67BEGINPROCESS(CP,Di)BEGINIF(CP EVENT AND CP = 1 ) THENq_temp = Di & q_temp(0 TO 2); END IF;END PROCESS;Q = q_temp;END rtl;计算机导论-时序逻辑电路68 (2)双向移位寄存器)双向移位寄存器LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;

33、ENTITY shift_4 ISPORT ( DSR,DSL,M,CP:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR( 0 TO 3);END shift_4;ARCHITECTURE rtl OF shift_4 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 0 TO 3);BEGIN计算机导论-时序逻辑电路69 PROCESS(CP,M,DSR,DSL)BEGINIF(CP EVENT AND CP = 1 ) THENIF( M = 0 ) THENq_temp = DSR & q_temp(0 TO 2); 右移串行输入ELS

34、IF( M = 1 ) THENq_temp = q_temp(1 TO 3) & DSL; 左移串行输入END IF;END IF;END PROCESS;Q = q_temp; END rtl;计算机导论-时序逻辑电路70 (3)带清零的双向移位寄存器)带清零的双向移位寄存器741LS194LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY shift_194 ISPORT ( DSR,DSL,CR,M1,M0,CP:IN STD_LOGIC; D:IN STD_LOGIC_VECTOR( 0 TO 3); Q:OUT STD_LOGIC

35、_VECTOR( 0 TO 3);END shift_194;ARCHITECTURE rtl OF shift_194 IS计算机导论-时序逻辑电路71SIGNAL q_temp:STD_LOGIC_VECTOR( 0 TO 3);BEGINPROCESS(CP,CR,DSR,DSL,M1,M0,D)BEGINIF( CR = 0 ) THENq_temp = 0000; 异步清零ELSIF(CP EVENT AND CP = 1 ) THENIF( M1 = 1 AND M0 = 1) THEN 并行输入q_temp = D;ELSIF( M1 = 0 AND M0 = 1) THENq_

36、temp = DSR & q_temp(0 TO 2); 右移串行输入ELSIF(M1 = 1 AND M0 = 0 ) THENq_temp = q_temp(1 TO 3) & DSL; 左移串行输入END IF;END IF;END PROCESS;Q = q_temp;END rtl;计算机导论-时序逻辑电路72计数器(Counter)是一种累计输入脉冲个数的逻辑部件。被计数的脉冲可以是周期性脉冲,也可以是非周期性脉冲,它通常加在计数器的时钟输入端,作为计数器的时钟脉冲。对于同步计数器,输入时钟脉冲时触发器的翻转是同时进行的,而异步计数器中的触发器的翻转则不是同时的。计

37、数器被广泛应用在计算机、数控装置及各种数字仪表中,计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列等。计算机导论-时序逻辑电路731. 按计数器中各个触发器触发方式分类按计数器中各个触发器触发方式分类(1) 同步计数器(Synchronous Counter):各触发器受同一时钟脉冲(计数脉冲)控制,同步更新各触发器的状态。(2) 异步计数器(Asynchronous Counter):触发器的翻转不是同时发生的。计算机导论-时序逻辑电路74 2. 按计数过程中计数器输出数码的规律分类按计数过程中计数器输出数码的规律分类 (1)加法计数器(Up Counter):计

38、数器随计数脉冲的不断输入递增计数。 (2)减法计数器(Down Counter):计数器随计数脉冲的不断输入递减计数。 (3)可逆计数器:计数器在外加控制端的作用下,随计数脉冲的不断输入可增可减地计数。可逆计数器也称作加减计数器(Up/Down Counter)。 计数器在循环中的状态个数叫做计数器的模(Modulus)。在循环中有N个状态的计数器称为模N计数器。计算机导论-时序逻辑电路75 3. 按计数器的模(计数容量)分类按计数器的模(计数容量)分类 (1) 模2n计数器:该计数器的计数状态有N=2n个,N叫做计数器的容量或计数长度。若电路有4个状态,此时N=22=4,该计数器称为4进制计

39、数器;若电路有16个状态,即N=24,则该计数器称为16进制计数器。 (2) 模非2n计数器:该计数器的计数容量N2n。十进制计数器是模非2n计数器的特例,此时,N=10。1位十进制计数器应有10个状态,2位十进制计数器应有100个状态。n位十进制计数器应有10n个状态。 计数器可以由触发器通过时序电路的设计方法设计而成,但目前使用较多的计数器是集成计数器。集成计数器的品种繁多,主要分为同步集成计数器和异步集成计数器两大类。 计算机导论-时序逻辑电路761集成集成4位二进制同步加法计数器位二进制同步加法计数器741614位同步二进制加法计数器74161是典型常用的中规模集成计数器。图6-28示

40、出了74161的引脚排列图和逻辑功能示意图。在图6-28中,CP是输入计数脉冲,是清零端;是置数控制端;P和T是两个计数状态控制端;D0D3并行数据输入端;CO是进位信号输出端;Q0Q3是计数器状态输出端。表6-15是74161的功能表。计算机导论-时序逻辑电路77计算机导论-时序逻辑电路78 由表6-15所示功能表可以清楚地看出,集成4位二进制同步加法计数器74161具有下列功能: (1) 异步清零功能:当 时,计数器清零。从表可看出,在时,其它输入信号不起作用,由时钟触发器的逻辑特性可知,其异步输入端信号是优先的,正是通过复位计数器的。0CRDR计算机导论-时序逻辑电路79(2) 同步并行

41、置数功能:当 、 时,在CP上升沿作用下,并行输入数据D0D3进入计数器,使Q0 Q3= D0D3(3) 计数功能:当 且P=T=1时,计数器按照8421码进行计数,而输出进位位 。(4) 保持功能:当 且PT=0时,则计数器保持原来的状态不变。对于进位输出信号有两种情况:如果T=0,则CO=0;如果T=1,则 。1CR0LD、 1 LDCRnnnnQQQQCO01231 LDCRnnnnQQQQCO0123计算机导论-时序逻辑电路80 综上所述,74161是一个具有异步清零、同步置数、可保持状态不变的4位二进制同步加法计数器。图6-29是74161工作原理波形图。计算机导论-时序逻辑电路81

42、 集成计数器74LS161的逻辑功能、计数原理和外引脚排列与74161都相同;而74163和74LS163除了采用同步清零方式外,其逻辑功能、计数原理和外引脚排列也与74161没有区别,表6-16所示是其功能表。 计算机导论-时序逻辑电路82 2集成同步集成同步BCD十进制加法计数器十进制加法计数器74160 8421编码十进制计数器74160是典型的集成TTL型十进制加法计数器,CC40160是MOS型十进制加法计数器。74160和CC40160的功能完全一样,它们和74161的区刟只是计数容量不同,其余功能和引脚完全一样,多片间的级联也一样,此处不再介绍。图6-30示出了CC40160的工

43、作原理波图。表6-17是CC40160的功能表。计算机导论-时序逻辑电路833可逆集成计数器可逆集成计数器74191/741934位二进制集成同步可逆计数器有单时钟和双时钟两种类型。如74191是单时钟结构,而74193是双时钟结构。这里以比较典型的单时钟结构741 91为例进行说明。计算机导论-时序逻辑电路84 (1)74191的引脚排列图与逻辑功能图的引脚排列图与逻辑功能图 图6-31是74191的引脚排列图和逻辑功能示意图。其中为加减计数控制端;是使能端;是异步置数控制端;D0D3是并行数据输入端;Q0Q3是状态输出端;CO/BO是进位/借位信号输出端;是多个芯片级联时串行计数使能端。计

44、算机导论-时序逻辑电路85(2)74191的功能表的功能表表6-18是74191的功能表,该表反映集成可逆计数器74191具有同步可逆计数功能、异步并行置数功能、保持功能。74191没有专用的清零输入端,但可以借助DoD。异步并行置入数据0000,间接实现清零功能。功能说明:多个可逆计数器级联使用时,其表达式为:CTBOCOCPRC/计算机导论-时序逻辑电路86 当 =0即CT=1、CO/BO=1时, =CP,因此由 端产生的输出进位脉冲的波形与输入计数脉冲的波形是相同的。 与74191功能和引脚排列完全相同的还有74LS191。此外,集成单时钟4位二进制同步可逆计数器还有74S169、74L

45、S169、CC4516等。CTRCRC计算机导论-时序逻辑电路87 4同步计数器的同步计数器的VHDL描述描述 (1)4位二进制同步加法计数器位二进制同步加法计数器74161LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY counter_161 ISPORT ( LD,CR,P,T,CP:IN STD_LOGIC; D:IN STD_LOGIC_VECTOR( 0 TO 3); CO:OUT STD_LOGIC; Q:OUT STD_LOGIC_VECTOR( 0 TO 3);END counter_161;计算机导论-时序逻辑电路88ARCHI

46、TECTURE rtl OF counter_161 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 0 TO 3);SIGNAL co_temp:STD_LOGIC;BEGINPROCESS(CP,CR,LD,P,T,D)BEGINIF( CR = 0 ) THENq_temp = 0000; 异步清零ELSIF(CP EVENT AND CP = 1 ) THENIF( LD = 0 ) THEN 同步并行置数q_temp = D;ELSIF( P = 1 AND T = 1) THEN 同步加法计数IF( q_temp = 1111 ) THENq_temp = 00

47、00;ELSEq_temp = q_temp + 1;END IF;ELSEq_temp = q_temp; 输出保持END IF;END IF;计算机导论-时序逻辑电路89 END PROCESS;PROCESS(CR,LD,P,T)BEGIN IF( CR = 1 AND LD = 1 AND P = 1 AND T = 1 AND q_temp = 1111 ) THENco_temp = 1;ELSIF( CR = 1 AND LD = 1 AND P = 0 ) THENco_temp = co_temp;ELSEco_temp = 0;END IF; END PROCESS; Q

48、= q_temp; CO = co_temp; END rtl;计算机导论-时序逻辑电路90 (2)可逆计数器)可逆计数器74191LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY counter_191 ISPORT ( LD,CT,UD,CP:IN STD_LOGIC; D:IN STD_LOGIC_VECTOR( 0 TO 3); COBO:OUT STD_LOGIC; Q:OUT STD_LOGIC_VECTOR( 0 TO 3);END counter_191;计算机导论-时序逻辑电路91ARCHITECTURE rtl OF count

49、er_191 ISSIGNAL q_temp:STD_LOGIC_VECTOR( 0 TO 3);BEGINPROCESS(CP,CT,LD,UD,D)BEGINIF( LD = 0 ) THENq_temp = D; 异步置数ELSIF(CP EVENT AND CP = 1 ) THENIF( CT = 0 ) THENIF( UD = 0 ) THENIF( q_temp = 1111 ) THEN 同步加法计数q_temp = 0000;ELSEq_temp = q_temp + 1;END IF;ELSEIF( q_temp = 0000 ) THEN 同步减法计数q_temp =

50、1111;计算机导论-时序逻辑电路92ELSEq_temp = q_temp 1;END IF;END IF;END IF;END IF;END PROCESS;PROCESS(LD,CT,UD)BEGINIF( LD = 1 AND CT = 0 AND UD = 0 AND q_temp = 1111 ) THENCOBO = 1;ELSIF( LD = 1 AND CT = 0 AND UD = 1 AND q_temp = 0000) THENCOBO = 1;ELSECOBO = 0;END IF;END PROCESS;Q = q_temp;END rtl;计算机导论-时序逻辑电路

51、93 74290(T1290)是由二进制和五进制计数器构成的二-五-十进制异步加法计数器。其逻辑图见图6-32,功能表见表6-19。 74290由两个计数器组成,一个是FF0构成的一位二进制计数器,另一个是FF1、FF2和FF3构成的五进制计数器。它们独立使用时,分别是二进制计数器和五进制计数器。当计数脉冲CP从CP1端输入,Q0接到CP2端,Q3、Q2、Ql、Q0作为计数器输出时,构成了8421编码的十进制加法计数器。而当计数脉冲CP从CP2端输入,Q3接CP1端,Q3、Q2、Q1、Q0作为计数器输出时,则构成了5421编码的十进制加法计数器。计算机导论-时序逻辑电路94 图6-32中的R0

52、(1)和R0(2)为两个置0输入端,R0(1)和R0(2)全为1时,将计数器置成0000。S9(1)和S9(2)为置9输入端,S9(1)和S9(2)全为1时,将计数器置成1001。计算机导论-时序逻辑电路95 目前采用触发器和逻辑门来设计计数器的方法已很少采用。中规模集成计数器由于其体积小、功耗低、可靠性高等优点,而被广泛使用。但市场上现成的集成计数器产品,不一定刚好满足用户的设计需求。要想组成符合用户要求的任意进制计数器,只能在现有的中规模集成计数器基础上,经过外接电路的不同连接来实现。若用M表示现有MSI集成计数器的模,用N表示用户待设计的计数器模,如果MN,则只需一片集成计数器,反之需要

53、多片集成计数器级联。 利用MSI集成计数器构成的任意进制计数器的方法,归纳起来主要有级联法、反馈复位法和反馈置数法。计算机导论-时序逻辑电路96如果计数脉冲从N进制计数器的时钟输入端进入,N进制计数器的输出接到M进制计数器的时钟输入端,两个计数器级联构成了NM进制计数器。例如集成计数器74293/74LS293,里面包含了一个二进制计数器和一个八进制计数器,它们一起构成了28=16的十六进制计数器。计算机导论-时序逻辑电路97 一般集成计数器都设有清零端:同步清零端或异步清零端。异步清零端不允许波形上有“毛刺”,否则,会造成“误清零”。反馈复位法是用译码电路来检测计数器的状态,当计数器计数到达

54、被检测的状态时,译码电路会输出低电平(或高电平),该信号反馈到MSl计数器的清零端,迫使计数器进入复位(全0)状态,从而实现需要的模数。 注意,如果采用异步清零,一旦清零端出现了有效电平,计数器就会立即复位为0,译码电路所检测的状态存在的时间非常短(ns级),应属无效状态;如果采用同步清零,清零端出现有效电平后,计数器并不立即复位为0,而必须在下一个时钟脉冲CP到来时,计数器才复位为0,因而译码电路所检测的状态存在的时间长达一个时钟周期,属于计数器的有效状态。见例6-6图6-33(a)。计算机导论-时序逻辑电路98反馈置数法适合于具有预置数输入端的集成计数器,也有同步置数和异步置数之分。反馈置

55、数法是用译码电路检测计数器的状态,当计数器到达被检测的状态时,译码电路输出有效电平(低电平/高电平),将此电平反馈到MSI计数器的置数端,利用置数端的异步/同步预置功能,将计数器数据输入端的预置数装入计数器,从而实现预定模数的计数。见例6-6图6-33(b)。计算机导论-时序逻辑电路99【例例6-6】 试用74161采用复位法构成十一进制计数器。解:74161是4位二进制加法计数器,当输入11个计数脉冲后,Q3 Q2 Q1Q0 =1011,而十一进制加法计数器输入11个计数脉冲后,Q3 Q2 Q1Q0 =0000。用74161构成十一进制计数器,令 ,当计数到Q3 Q2 Q1Q0 =1011时

56、 ,此时计数器清零,使Q3 Q2 Q1Q0 =0000,实现了十一进制计数。这种复位方法,随着计数器被置0,复位信号也就随之消失,复位信号持续的时间极短,电路可靠性不高。013QQQCR 0CR计算机导论-时序逻辑电路100利用 置0是另一种复位法。计数器计数到Q3 Q2 Q1Q0 =1010后,应具备送数条件。令 ,当计数器计数到Q3 Q2 Q1Q0 =1010时 。第11个计数脉冲到达时,将D3D2D1D0 =0000置入计数器,从而使计数器复位。电路图如图6-33所示。LD13QQLD 0LD计算机导论-时序逻辑电路101 【例例6-7】 试用74161采用反馈置数法构成十进制计数器。

57、分析:由中规模集成计数器构成任意进制计数器,若采用置数端实现,除可以采用置0方式(见图6-33(b)外,还可以采用置任意数方式实现。置任意数方式包括置最小数方式、置最大数方式和置中间数方式等。下面分别加以说明。 解:74161设置了进位输出端CO。在计数器执行计数功能且Q3Q2Q1Q0=1111时,进位输出CO=1。如果将CO信号经反相后接到置数端,则计数器在输出全为1后将执行置数功能,在下一个时钟脉冲到来时,计数器将最小数D3D2D1D0的值置入到计数器中,然后以D3D2D1D0的状态为起点,继续计数。而改变数据端D3D2D1D0的数据,计数器的模数M将相应改变。如图6-34为置最小数方式的

58、十进制计数器状态图和电路图。 计算机导论-时序逻辑电路102计算机导论-时序逻辑电路103 置最大数方式是指在计数器计到某个数之后,置入最大数,然后接着从0开始计数。一般的,如果用M进制的集成计数器来构成N进制计数器,需要跳过(M-N)个状态。 4位二进制同步计数器74161的最大计数是1111,而要实现的计数器的模数为N=10,则24-N=6,即计数器计到1000时,使预置数端有效,并在下一个时钟脉冲到来后,将计数器预置为最大数1111状态,也就是状态转换图中的S0态,随着下一个时钟脉冲的到来,计数器的状态转到0,并接着从0开始计数。计数器状态中跳过了1001、1010、1011、1100、

59、1101、1110六个状态,见图6-35。计算机导论-时序逻辑电路104计算机导论-时序逻辑电路105 置中间数方式是指在计数器计到某个数之后,置入一个中间数,然后计数从这个中间数开始进行,而这个中间数的状态可以看成是状态转换图中的S0态。假设这个中间数的状态为1010,则十进制计数器的S9态为0011,跳过的6个状态依次为0100、0101、0110、0111、1000和1001。因此反馈逻辑有 ,即当Q3Q2Q1Q0=0011时, ,预置数端D3 D2D1D0 =1010。由置中间数方式构成十进制计数器逻辑图见图6-36所示。 0123QQQQLD0LD计算机导论-时序逻辑电路106 4任

60、意进制计数器的任意进制计数器的VHDL语言设计语言设计 以带有计数使能、异步清零的同步24进制计数器为例,学习任意机制计数器的设计方法:LIBRARY IEEE;USE IEEE.STD_LDGIC_1164.ALL;ENTITY counter_24 ISPORT ( CLR,EN,CLK:IN STD_LOGIC; QH,QL:OUT STD_LOGIC_VECTOR( 3 DOWNTO 0);END counter_24;ARCHITECTURE rtl OF counter_24 ISSIGNAL qh_temp,ql_temp:STD_LOGIC_VECTOR( 3 DOWNTO 0);BEGINPROCESS(CLK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论