第八章-时序逻辑电路设计.ppt

上传人:得****1 文档编号:76368369 上传时间:2023-03-09 格式:PPT 页数:44 大小:886.50KB
返回 下载 相关 举报
第八章-时序逻辑电路设计.ppt_第1页
第1页 / 共44页
第八章-时序逻辑电路设计.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《第八章-时序逻辑电路设计.ppt》由会员分享,可在线阅读,更多相关《第八章-时序逻辑电路设计.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、时时序序逻逻辑辑电电路路定定义义:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。按照电路的工作方式,时序逻辑电路可分为同同步步时时序序逻逻辑辑电电路路(简称同步时序电路)和异异步步时时序序逻逻辑辑电电路路(简称异步时序电路)两种类型。常见的时序逻辑电路有触发器、计数器、寄存器等。概述概述1.1.画出状态转换图画出状态转换图2.2.填写状态转换真值表填写状态转换真值表3.3.次态卡诺图次态卡诺图4.4.选定触发器类型求出输出方程、状态方程和驱动方程选定触发器类型求出输出方程、状态方程和驱动方程5.5.画电路图画电路图 时序逻辑电路设计步骤(补充)

2、时序逻辑电路设计步骤(补充)8.1 时钟信号和复位信号时钟信号和复位信号8.1.1 时钟信号描述时钟信号描述时序电路总是以时钟进程形式来描述,方式有两种:时序电路总是以时钟进程形式来描述,方式有两种:1)进程的敏感信号是时钟信号进程的敏感信号是时钟信号2)用进程中的用进程中的WAIT ON语句等待时钟语句等待时钟任何时序电路都是用时钟信号作为驱动信号的。时序电路只是在时钟信号的有效沿或电平到来时,其状态才发生变化。因此,时钟信号通常是描述时序电路的程序的执行条件。1)进程的敏感信号是时钟信号进程的敏感信号是时钟信号在这种情况下,时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中

3、,例如PROCESS(clock_signal)。时钟信号边沿的到来,将作为时序电路语句执行的条件。例:PROCESS(clock_signal)BEGINIF(clock_edge_condition)THENsignal_out=signal_in;-其它时序语句;-ENDIF;ENDPROCESS;该进程在时钟信号发生变化时被启动,而在时钟边沿的条件得到满足时才真正执行时序电路所对应的语句。使用了IF语句对时钟沿进行说明。在这种情况下,描述时序电路的进程将没有敏感信号,而是用WAITON语句来控制进程的执行。也就是说,进程通常停留在WAITON语句上,只有在时钟信号到来,且满足边沿条件时

4、,其余的语句才能执行,如下例如示:PROCESSBEGINWAITON(clock_signal)UNTIL(clock_edge_conditon);signal_out=signal_in;-其它时序语句;-ENDPROCESS2)用进程中的用进程中的WAIT ON语句等待时钟语句等待时钟在使用WAIT ON语句的进程中,敏感信号量应写在进程中的WAIT ON语句后面。在编写上述两个程序时应注意:无论IF语句还是WAITON语句,在对时钟边沿说明时,一定要注明是上升沿还是下降沿,光说明是边沿是不行的。当时钟信号作为进程的敏感信号时,在敏感信号的表中不能出现一个以上的时钟信号,除时钟信号以外

5、,像复位信号等是可以和时钟信号一起出现在敏感表中的。WAITON语句只能放在进程的最前面或者是最后面。3)时钟边沿的描述)时钟边沿的描述可以用时钟信号的属性来描述时钟的边沿。其上升沿的描述为:IFclk=1ANDclkLAST_VALUE=0ANDclkEVENT时钟的下降沿的描述为:IFclk=0ANDclkLAST_VALUE=1ANDclkEVENT在一些程序中经常所见时钟沿表达如下时钟上升沿:(clockevent and clock=1)时钟下降沿:(clockevent and clock=0)8.1.2 触发器的同步和非同步复位触发器的同步和非同步复位同步复位:当复位信号有效且在

6、给定的时钟边沿到来时,触发器才被复位。异步复位:一旦复位信号有效,触发器就被复位。1)同步复位)同步复位在用VHDL语言描述时,同步复位一定在以时钟为敏感信号的进程中定义,且用IF语句来描述必要的复位条件。例如:process(clock_signal)begin if(clock_edge_condition)then if(reset_condition)then signal_out=reset_value;else signal_out=signal_in;end if;end if;end process;2)非同步复位非同步复位异步复位在描述时与同步方式不同:首先在进程的敏感信号中

7、除时钟信号以外,还应加上复位信号;其次是用IF语句描述复位条件;最后在ELSE段描述时钟信号边沿的条件,并加上EVENT属性。其描述方式如:PROCESS(reset_signal,clk_signal)BEGINIF(reset_condition)THENsignal_out=reset_value;ELSIF(clk_eventANDclk_edge_condition)THENsignal_out=signal_in;-其它时序语句;-属性属性 EVENT对在当前的一个极小的时间段内发生的事件的情况进行检测。如发生事件,则返回true,否则返回false。发生事件:信号电平发生变化。左

8、例中进程后跟括号内有两个敏感信号:复位信号和时钟信号。进程中的IF语句一开始就判断复位条件,可见复位优先级高于时钟。8.2 触发器触发器触发器(FlipFlop)是一种可以存储电路状态的电子元件。按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。8.2.1 锁存器锁存器 锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存。锁存器根据触发边沿、复位和预置方式以及输出端多少的不同可以有多种形式的锁存器。1)D锁存器锁存器上升沿触发的上升沿触发的D D锁存器:锁存器:上升沿触

9、发的D锁存器,有一个数据输入端d,一个时钟输入端Clk和一个数据输出端q。D锁存器的输出端只有在上升沿脉冲过后输入端d的数据才传送到输出端q。时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中。使用了IF语句对时钟沿进行说明。时钟边沿的到来时,将作为时序电路语句执行的条件。D锁存器程序实例锁存器程序实例1D锁存器程序实例锁存器程序实例 2WAIT UNTIL 表达式;表达式;当表达式的值为“真”时,进程被启动,否则进程被挂起。该语句在表达式中将建立一个隐式的敏感信号隐式的敏感信号量表量表,当表中的任何一个信号量发生变化时,就立即对表达式进行一次评估。如果评估结果使表达式返回一个

10、“真”值,则进程脱离等待状态,继续执行下一个语句。2)异步复位异步复位D锁存器锁存器异步复位D锁存器和一般的D锁存器区别是多了一个复位输入端clr。当clr=0时,输出端q置0。clr称为清0输入端。clr低电平有效。进程后跟括号内有两个敏感信号:清0信号和时钟信号。进程中的IF语句一开始就判断清0条件,可见此时清0优先级高于时钟。异步复位异步复位D锁存器程序实例锁存器程序实例3)异步复位异步复位/置位置位D锁存器锁存器除了前述的d,clk,q端外,还有clr和pset的复位、置位端。当clr=0时复位,使q=0;当pset=0时置位,使q=1;clr、pset均是低电平有效。异步复位异步复位

11、/置位置位D锁存器程序实例锁存器程序实例进程后跟括号内有三个敏感信号:时钟信号,复位信号和置位信号。通过进程中的IFTHENELSEIF语句可以看出:优优先先级级,置置位最高,复位次之,时钟最低。位最高,复位次之,时钟最低。4)同步复位同步复位D锁存器锁存器与异步方式不同的是,当复位信号有效(clr=1)以后,只是在有效边沿来时才能进行复位操作。从图中可以看出复位信号的优先级比d端的数据输入高,也就是当clr=1时,无论d端输入什么信号,在clk的上升沿到来时,q输出总是“0”。同步复位同步复位D锁存器程序实例锁存器程序实例进程后跟括号内只有一个敏感信号:时钟信号。通过进程中的IFTHENEL

12、SEIF语句可以看出:优优先先级级,时时钟最高,复位次之。钟最高,复位次之。8.2.2 JK触发器触发器JK触发器是数字电路触发器中的一种电路单元。JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。在实际应用中,它不仅有很强的通用性,而且能灵活地转换其他类型的触发器。由JK触发器可以构成D触发器和T触发器。JK触发器的输入端有置位输入pset,复位输入clr,控制输入j和k,时钟信号输入clk;输出端有正向输出端q和反向输出端qb。JK触发器的真值表如表所示。表中q0表示原状态不变,翻转表示改变原来的状态。优先级:置位最高于复位,与真值表不一致,没有考虑p

13、set=clr=“0”时,输出时q=“X”(未知态)。四个敏感信号,异步与真值表一致的程序与真值表一致的程序此例中pset=clr=“0”这种情况没有考虑,在逻辑综合时,输出是未知的。libraryieee;useieee.std_logic_1164.all;entityrs_ffisport(r,s,clk:instd_logic;q,qn:bufferstd_logic);endrs_ff;architecturertlofrs_ffisbeginprocess(r,s,clk)beginifclkeventandclk=1thenifs=1andr=0thenq=0;qn=1;elsi

14、fs=0andr=1thenq=1;qn=0;elsifs=0andr=0thenq=q;qn=qn;elsenull;endif;endif;endprocess;endrtl;SClkQQRSRQQn00QQn01101001118.2.3 8.2.3 同步同步RSRS触发器触发器null为空语句,不作任何操作。格式:为空语句,不作任何操作。格式:null;8.3 寄存器寄存器数字电路中,用来存放二进制数据或代码的电路称为寄存器寄存器。寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成。按照功能的不同,可将寄存器

15、分为基基本本寄寄存存器器和移移位位寄寄存存器器两大类。基基本本寄寄存存器器只能并行送入数据,需要时也只能并行输出。移移位位寄寄存存器器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。8 8位串行输入、串行输出移位寄存器位串行输入、串行输出移位寄存器它具有两个输入端:数据输入端a和时钟输入端clk;一个数据输出端b。在时钟信号作用下,前级数据向后级移动。该8位寄存器由8个D触发器构成。8 8位移位寄存器描述(结构描述)位移位寄存器描述(结构描述)在结构体的说明部分利用COM

16、PONENT语句对要引用元件进行声明。利用生成语句指定生成次数利用COMPONENT_INSTANT语句,调用元件,用位置映射方式8 8位移位寄存器直接用信号连接描述位移位寄存器直接用信号连接描述进程中执行信号代入语句时,被代入信号量的值在当时并没有发生改变,直到进程结束,代入过程才同时发生。此例描述了移位功能。若将程序中信号改成变量,变量赋值语句中,被赋值的变量的值会立即改变,结果如何?8.4 计数器计数器在数字电子技术中应用的最多的时时序序逻逻辑辑电电路路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过

17、外接LCD或LED屏才能显示。1、如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。常见的同步计数器有74160系列,74LS190系列,常见的异步计数器有74LS290系列。2、如果按照技术过程中数字增减分类,又可将计数器分为加法计数器和减法计数器,随时钟信号不断增减的为加法计数器,不断减少的为减法计数器。同步计数器指在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的计数器。8.4.1 同步计数器同步计数器(1)(1)带允许端的十二进制计数器带允许端的十二进制计数器计数器由4个触发器构成,clr是清零,en是计数控制端,qa,qb,qc,

18、qd为计数器的4位二进制值的输出端。带允许端的十二进制计数器带允许端的十二进制计数器调用了标准逻辑无符号包调用了标准逻辑无符号包定义了计数中间信号,由于输出定义了计数中间信号,由于输出qa,qb,qc,qd被定义为被定义为out类型类型PROCESS后跟两个敏感信号后跟两个敏感信号判断清零信号判断清零信号判断计数使能信号判断计数使能信号判断时钟信号判断时钟信号判断计数的终点判断计数的终点不同类型数据值可以进行相加,这是因不同类型数据值可以进行相加,这是因为调用了标准逻辑无符号程序包为调用了标准逻辑无符号程序包(2)(2)可逆计数器可逆计数器 可逆计数器根据计数控制信号的不同,在时钟脉冲作用下,

19、可以实现加1和减1的操作。控制端updn=1计数器加1,updn=0计数器减1。可逆计数器(加减计数器)程序设计可逆计数器(加减计数器)程序设计调用了标准逻辑无符号包调用了标准逻辑无符号包定义了计数中间信号定义了计数中间信号PROCESS后跟两个敏感信号后跟两个敏感信号判断清零信号判断清零信号判断时钟信号判断时钟信号加计数和减计数判断加计数和减计数判断不同类型数据值可以进行相加减法,这是不同类型数据值可以进行相加减法,这是因为调用了标准逻辑无符号程序包因为调用了标准逻辑无符号程序包(3)(3)六十进制计数器六十进制计数器 4位二进制计数器构成1位BCD十进制计数器,六十进制计数器可由两位十进制

20、计数器连接。六十进制计数器常用于时钟计数。六十进制计数器设计程序六十进制计数器设计程序调用了标准逻辑无符号包调用了标准逻辑无符号包计数器个位输出端,计数器个位输出端,4位位计数器十位输出端,计数器十位输出端,3位位定义了两个中间信号定义了两个中间信号第一个进程处理个位计数第二个进程处理十位计数六十进制计数器设计程序(续六十进制计数器设计程序(续1)判断个位写控制端,若有效判断个位写控制端,若有效,对个位写入数据对个位写入数据判断时钟信号上升沿判断时钟信号上升沿判断进位输入端判断进位输入端判断个位计数终点判断个位计数终点个位计数个位计数判断十位写控制端,若有效判断十位写控制端,若有效,对十位写入

21、数据,对十位写入数据,判断时钟信号上升沿判断时钟信号上升沿第三个进程处理进位输出Co六十进制计数器设计程序(续六十进制计数器设计程序(续2)判断进位输入端和个位输出端判断进位输入端和个位输出端判断十位计数终点判断十位计数终点十位计数十位计数判断同时是否进位位判断同时是否进位位1,个位为,个位为9,十位为,十位为58.4.2 异步计数器异步计数器行波计数器行波计数器 异步计数器又称为行波计数器,低位计数器的输出作为高位计数器的时钟信号,各级级联构成异步计数器。与同步计数器最大的不同是时钟脉冲的提供方式。电路简单,但计数延迟增加,计数器工作频率较低。首先对基本元件首先对基本元件首先对基本元件首先对

22、基本元件D D D D触发器进行描述:触发器进行描述:触发器进行描述:触发器进行描述:定义中间信号定义中间信号PROCESS后跟两个敏感信号后跟两个敏感信号判断清零信号,高电平有效判断清零信号,高电平有效判断时钟信号上升沿判断时钟信号上升沿其次采用元件例化描述其次采用元件例化描述其次采用元件例化描述其次采用元件例化描述8 8 8 8位行波计数器位行波计数器位行波计数器位行波计数器:在结构体的说明部分利用在结构体的说明部分利用COMPONENT语句对要引用语句对要引用D触发器元件进行声明。触发器元件进行声明。利用生成语句指定生成次数利用生成语句指定生成次数时钟信号赋给计数器的最低位时钟信号赋给计数器的最低位利用利用COMPONENT_INSTANT语句,调语句,调用元件,用名称映射方式用元件,用名称映射方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁