版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章
时序逻辑电路设计时序逻辑电路定义:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。
按照电路的工作方式,时序逻辑电路可分为同步时序逻辑电路(简称同步时序电路)和异步时序逻辑电路(简称异步时序电路)两种类型。
常见的时序逻辑电路有触发器、计数器、寄存器等。概述8.1时钟信号和复位信号8.1.1时钟信号描述时序电路总是以时钟进程形式来描述,方式有两种:1)进程的敏感信号是时钟信号2)用进程中的WAITON语句等待时钟任何时序电路都是用时钟信号作为驱动信号的。时序电路只是在时钟信号的有效沿或电平到来时,其状态才发生变化。因此,时钟信号通常是描述时序电路的程序的执行条件。1)进程的敏感信号是时钟信号在这种情况下,时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中,例如PROCESS(clock_signal)。时钟信号边沿的到来,将作为时序电路语句执行的条件。例:PROCESS(clock_signal)BEGINIF(clock_edge_condition)THENsignal_out<=signal_in;---
其它时序语句;
---ENDIF;ENDPROCESS;该进程在时钟信号发生变化时被启动,而在时钟边沿的条件得到满足时才真正执行时序电路所对应的语句。使用了IF语句对时钟沿进行说明。在这种情况下,描述时序电路的进程将没有敏感信号,而是用WAITON语句来控制进程的执行。也就是说,进程通常停留在WAITON语句上,只有在时钟信号到来,且满足边沿条件时,其余的语句才能执行,如下例如示:PROCESSBEGINWAITON(clock_signal)UNTIL(clock_edge_conditon);signal_out<=signal_in;---
其它时序语句;
---ENDPROCESS2)用进程中的WAITON语句等待时钟在使用WAITON语句的进程中,敏感信号量应写在进程中的WAITON语句后面。在编写上述两个程序时应注意:
•无论IF语句还是WAITON语句,在对时钟边沿说明时,一定要注明是上升沿还是下降沿,光说明是边沿是不行的。
•当时钟信号作为进程的敏感信号时,在敏感信号的表中不能出现一个以上的时钟信号,除时钟信号以外,像复位信号等是可以和时钟信号一起出现在敏感表中的。
•WAITON语句只能放在进程的最前面或者是最后面。3)时钟边沿的描述可以用时钟信号的属性来描述时钟的边沿。其上升沿的描述为:IFclk=‘1’ANDclk’LAST_VALUE=‘0’ANDclk’EVENT时钟的下降沿的描述为:IFclk=‘0’ANDclk’LAST_VALUE=‘1’ANDclk’EVENT在一些程序中经常所见时钟沿表达如下时钟上升沿:
(clock’eventandclock=‘1’)时钟下降沿:
(clock’eventandclock=‘0’)8.1.2触发器的同步和非同步复位同步复位:当复位信号有效且在给定的时钟边沿到来时,触发器才被复位。异步复位:一旦复位信号有效,触发器就被复位。1)同步复位在用VHDL语言描述时,同步复位一定在以时钟为敏感信号的进程中定义,且用IF语句来描述必要的复位条件。例如:process(clock_signal)beginif(clock_edge_condition)then
if(reset_condition)thensignal_out<=reset_value;elsesignal_out<=signal_in;┇endif;endif;endprocess;2)非同步复位异步复位在描述时与同步方式不同:首先在进程的敏感信号中除时钟信号以外,还应加上复位信号;其次是用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。发生事件:信号电平发生变化。左例中进程后跟括号内有两个敏感信号:复位信号和时钟信号。进程中的IF语句一开始就判断复位条件,可见复位优先级高于时钟。8.2触发器触发器(FlipFlop)是一种可以存储电路状态的电子元件。按逻辑功能不同分为:RS触发器、D触发器、JK触发器、T触发器。8.2.1锁存器
锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存。锁存器根据触发边沿、复位和预置方式以及输出端多少的不同可以有多种形式的锁存器。1)D锁存器上升沿触发的D锁存器:上升沿触发的D锁存器,有一个数据输入端d,一个时钟输入端Clk和一个数据输出端q。D锁存器的输出端只有在上升沿脉冲过后输入端d的数据才传送到输出端q。时钟信号应作为敏感信号,显式地出现在PROCESS语句后跟的括号中。使用了IF语句对时钟沿进行说明。时钟边沿的到来时,将作为时序电路语句执行的条件。D锁存器程序实例1D锁存器程序实例2WAITUNTIL
表达式;当表达式的值为“真”时,进程被启动,否则进程被挂起。
该语句在表达式中将建立一个隐式的敏感信号量表,当表中的任何一个信号量发生变化时,就立即对表达式进行一次评估。如果评估结果使表达式返回一个“真”值,则进程脱离等待状态,继续执行下一个语句。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均是低电平有效。异步复位/置位D锁存器程序实例进程后跟括号内有三个敏感信号:时钟信号,复位信号和置位信号。通过进程中的IFTHENELSEIF语句可以看出:优先级,置位最高,复位次之,时钟最低。4)同步复位D锁存器与异步方式不同的是,当复位信号有效(clr=‘1’)以后,只是在有效边沿来时才能进行复位操作。从图中可以看出复位信号的优先级比d端的数据输入高,也就是当clr=‘1’时,无论d端输入什么信号,在clk的上升沿到来时,q输出总是“0”。同步复位D锁存器程序实例进程后跟括号内只有一个敏感信号:时钟信号。通过进程中的IFTHENELSEIF语句可以看出:优先级,时钟最高,复位次之。8.2.2JK触发器JK触发器是数字电路触发器中的一种电路单元。JK触发器具有置0、置1、保持和翻转功能,在各类集成触发器中,JK触发器的功能最为齐全。在实际应用中,它不仅有很强的通用性,而且能灵活地转换其他类型的触发器。由JK触发器可以构成D触发器和T触发器。JK触发器的输入端有置位输入pset,复位输入clr,控制输入j和k,时钟信号输入clk;输出端有正向输出端q和反向输出端qb。JK触发器的真值表如表所示。表中q0表示原状态不变,翻转表示改变原来的状态。优先级:置位最高于复位,与真值表不一致,没有考虑pset=clr=“0”时,输出时q=“X”(未知态)。四个敏感信号,异步与真值表一致的程序此例中pset=clr=“0”这种情况没有考虑,在逻辑综合时,输出是未知的。8.2.3T触发器TClkQQ
libraryieee;useieee.std_logic_1164.all;entityt_ffisport(t,clk:instd_logic;q:bufferstd_logic);endt_ff;architecturertloft_ffisbeginprocess(clk)beginifclk’eventandclk=‘1’thenift=‘1’thenq<=notq;elseq<=q;endif;endprocess;endrtl;T触发器程序实例libraryieee;useieee.std_logic_1164.all;entityrs_ffisport(r,s,clk:instd_logic;q,qn:bufferstd_logic);endrs_ff;architecturertlofrs_ffisbeginprocess(r,s,clk)beginifclk’eventandclk=‘1’thenifs=‘1’andr=‘0’thenq<=‘0’;qn<=‘1’;elsifs=‘0’andr=‘1’thenq<=‘1’;qn<=‘0’;elsifs=‘0’andr=‘0’thenq<=q;qn<=qn;elsenull;endif;endif;endprocess;endrtl;SClkQQRSRQQn00QQn0110100111ØØ8.2.4同步RS触发器null为空语句,不作任何操作。格式:
null;8.3寄存器数字电路中,用来存放二进制数据或代码的电路称为寄存器。
寄存器是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,存放n位二进制代码的寄存器,需用n个触发器来构成。
按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,需要时也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,串行输入、并行输出,十分灵活,用途也很广。8位串行输入、串行输出移位寄存器它具有两个输入端:数据输入端a和时钟输入端clk;一个数据输出端b。在时钟信号作用下,前级数据向后级移动。该8位寄存器由8个D触发器构成。8位移位寄存器描述(结构描述)在结构体的说明部分利用COMPONENT语句对要引用元件进行声明。利用生成语句指定生成次数利用COMPONENT_INSTANT语句,调用元件,用位置映射方式8位移位寄存器直接用信号连接描述进程中执行信号代入语句时,被代入信号量的值在当时并没有发生改变,直到进程结束,代入过程才同时发生。此例描述了移位功能。若将程序中信号改成变量,变量赋值语句中,被赋值的变量的值会立即改变,结果如何?8.4计数器在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。但是并无法显示计算结果,一般都是要通过外接LCD或LED屏才能显示。1、如果按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种。常见的同步计数器有74160系列,74LS190系列,常见的异步计数器有74LS290系列。2、如果按照技术过程中数字增减分类,又可将计数器分为加法计数器和减法计数器,随时钟信号不断增减的为加法计数器,不断减少的为减法计数器。
同步计数器指在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的计数器。8.4.1同步计数器(1)带允许端的十二进制计数器计数器由4个触发器构成,clr是清零,en是计数控制端,qa,qb,qc,qd为计数器的4位二进制值的输出端。带允许端的十二进制计数器调用了标准逻辑无符号包定义了计数中间信号,由于输出qa,qb,qc,qd被定义为out类型PROCESS后跟两个敏感信号判断清零信号判断计数使能信号判断时钟信号判断计数的终点‘’不同类型数据值可以进行相加,这是因为调用了标准逻辑无符号程序包(2)可逆计数器
可逆计数器根据计数控制信号的不同,在时钟脉冲作用下,可以实现加1和减1的操作。控制端updn=‘1’计数器加1,updn=‘0’计数器减1。可逆计数器(加减计数器)程序设计调用了标准逻辑无符号包定义了计数中间信号PRO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业会计基础培训
- 基层医疗改革
- 2024安置房买卖合同范参考
- 2024标准民间抵押贷款合同
- 2023年滤片项目成效分析报告
- 2024至2030年中国金补口服液数据监测研究报告
- 2024至2030年中国脱酚酚油行业投资前景及策略咨询研究报告
- 2024年电池组配件项目综合评估报告
- 2024至2030年中国碘乙酰胺数据监测研究报告
- 2024至2030年中国电动拉缆机数据监测研究报告
- 煤焦油深加工项目
- 通用学术英语进阶-北京科技大学中国大学mooc课后章节答案期末考试题库2023年
- 评茶员(高级)资格职业鉴定题库附答案(最新版)
- 大单元教学设计说课稿《4.5 光的衍射》
- 光氧活性炭一体机说明书
- 处方管理办法
- 学习浙江《千万工程》经验全文PPT
- 学生实习实训指导书
- 江苏省智慧航道外场感知设施建设技术指南
- 祖国万岁朗诵
- 习近平法制思想概论智慧树知到答案章节测试2023年中南财经政法大学
评论
0/150
提交评论