EDA课件-时序逻辑电路.ppt
《EDA课件-时序逻辑电路.ppt》由会员分享,可在线阅读,更多相关《EDA课件-时序逻辑电路.ppt(94页珍藏版)》请在三一办公上搜索。
1、时序逻辑电路设计,时序电路主要有触发器、寄存器、计数器、序列信号发生器和序列信号检测器等。,下一页,返回,一、时钟信号和复位信号,1.时钟信号的描述(1)若进程的敏感信号是时钟信号,这时时钟信号出现在PROCESS后的括号中。例:PROCESS(时钟信号名)BEGINIF(时钟信号变化条件)THEN 顺序语句;END IF;END PROCESS;,下一页,返回,(2)在进程中用WAIT ON语句等待时钟这样的电路没有敏感信号,进程通常停留在WAIT ON 语句上,只有时钟信号到来且满足一定条件时,其余语句才能执行。例:PROCESSBEGINWAIT ON(时钟信号名)UNTIL(时钟信号变
2、化条件)顺序语句;END PROCESS;,下一页,返回,上一页,(3)时钟信号的边沿描述时钟信号上升沿VHDL描述如下:IF(clk event and clk=1)或WAIT UNTIL RISING_EDGE(clk);时钟信号下降沿VHDL描述如下:IF(clk event and clk=0)或WAIT UNTIL FALLING_EDGE(clk);,下一页,返回,上一页,2.复位信号(1)同步复位 同步复位是指,当时钟边沿有效且复位信号有效时,时序电路复位。同步信号复位的VHDL描述如下:PROCESS(时钟信号名)IF(时钟信号变化条件)THEN IF(复位信号变化条件)THE
3、N 复位语句;ELSE 顺序语句;END IF;END IF;END PROCESS;,下一页,返回,上一页,(2)异步复位异步复位指的时,只要复位信号有效,时序电路就被复位,复位信与时钟信号外无关。异步信号复位的VHDL描述如下:PROCESS(时钟信号名)IF(复位信号变化条件)THEN 复位语句;ELSIF(时钟信号变化条件)THEN 顺序语句;END IF;END PROCESS;,下一页,返回,上一页,二、触发器触发器是构成时序逻辑电路的基本元件,常用的触发器包括RS触发器、JK触发器、D触发器等类型。1.D触发器例1:同步清零D触发器VHDL程序。,下一页,返回,上一页,集成触发器
4、:是一种最常用的具有记忆功能,能存储数字信号的单元电路。触发器有两个基本特性:它有两个稳定状态,分别用来表示二进制数码0和1表示。在输入信号作用下,触发器两个稳定可相互转换,输入信号消失后,可使触发器能够记忆二进制信息。,它有一个或多个输入端;有两个互补输出端,分别用Q或 表示。当Q=1,时,称为触发器的1状态。当Q=0,时,称为触发器的0状态。现态:指触发器输入信号变化前的状态,用Qn表示。次态:指触发器输入信号变化后的状态,用Qn+1表示。,主要特点:同步D触发器解决了同步RS触发器的约束问题,但缺点是存在着空翻现象。空翻是指在CP=1期间,如果输入信号发生多次变化,D触发器的状态也会发生
5、相应的变化。,同步D触发器的特征方程,例程一(无清零端):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff1 IS PORT(d:IN STD_LOGIC;clk:IN STD_LOGIC;q:OUT STD_LOGIC);END dff1;ARCHITECTURE bhv OF dff1 IS signal q1:std_logic;BEGIN PROCESS(clk,q1)BEGIN IF clkevent and clk=1 THEN q1=d;end if;END PROCESS;q=q1;END bhv;,下一页,返回,上一页,例
6、程二(有清零端):LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff IS PORT(d:IN STD_LOGIC;clk:IN STD_LOGIC;clr:IN STD_LOGIC;q:OUT STD_LOGIC);END dff;ARCHITECTURE behav2 OF dff ISBEGINPROCESS(clk)BEGIN IF clkEVENT AND clk=1 THEN IF clr=1 THEN q=0;ELSE q=d;END IF;END IF;END PROCESS;END behav2;,下一页,返回,上一页,课堂
7、练习:用VHDL设计异步清零D触发器。,下一页,返回,上一页,例2:异步清零D触发器VHDL程序(只写出了结构体)ARCHITECTURE behavl OF dff_y IS BEGIN PROCESS(clk,clr,d)BEGIN IF clr=1 THEN q=0;ELSIF clkEVENT AND clk=1 THEN q=d;END IF;END PROCESS;END behavl;,下一页,返回,上一页,CP=1期间有效,(约束条件),同步RS触发器的特征方程,基本RS触发器的特性表如下:,课堂练习:用VHDL语言设计RS触发器。,下一页,返回,上一页,2RS触发器【例6-1
8、2】RS触发器VHDL程序。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY rsff IS PORT(r,s:IN STD_LOGIC;q,qb:OUT STD_LOGIC);END rsff;ARCHITECTURE behavl OF rsff IS SIGNAL q_temp,qb_temp:STD_LOGIC;BEGIN PROCESS(r,s)BEGIN IF s=1AND r=0 THEN q_temp=0;qb_temp=1;,下一页,返回,上一页,ELSIF s=0AND r=1 THEN q_temp=1;qb_temp=0;E
9、LSE q_temp=q_temp;qb_temp=qb_temp;END IF;END PROCESS;q=q_temp;qb=qb_temp;END behavl;,下一页,返回,上一页,课后作业:,用VHDL语言设计JK触发器。,下一页,返回,上一页,课后作业:,3.JK触发器【例6-13】JK触发器VHDL程序。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JKCFQ IS PORT(J,K,CLK:IN STD_LOGIC;Q,QB:BUFFER STD_LOGIC);END JKCFQ;ARCHITECTURE ART OF JKC
10、FQ IS SIGNAL Q_S,QB_S:STD_LOGIC;BEGIN PROCESS(CLK,J,K)BEGIN,下一页,返回,上一页,IF(CLKEVENT AND CLK=1)THEN IF(J=0 AND K=1)THEN Q_S=0;QB_S=1;ELSIF(J=1 AND K=0)THEN Q_S=1;QB_S=0;ELSIF(J=1 AND K=1)THEN Q_S=NOT Q_S;QB_S=NOT QB_S;END IF;END IF;Q=Q_S;QB=QB_S;END PROCESS;END ART;,下一页,返回,上一页,寄存器和移位寄存器1.寄存(锁存)器 寄存器用于
11、寄存一组二值代码,广泛用于各类数字系统。因为一个触发器能储存1位二值代码,所以用N个触发器组成的寄存器能储存一组N位的二值代码。具有三态输出的8D锁存器元件符号如图6-3所示。CLR是复位控制输入端,当CLR=0时,8位数据输出Q7.0=00000000。ENA是使能控制输入端,当ENA=1时,锁存器处于工作状态,输出Q7.0D7.0;ENA=0时,锁存器的状态保持不变。OE是三态输出控制端,当OE=1时,输出为高阻态;OE=0时,锁存器为正常输出状态。,下一页,返回,上一页,图6-3 8D锁存器元件,返回,【例6-14】8D锁存器。LIBRARY ieee;USE ieee.std_logi
12、c_1164.ALL;ENTITY latch8 ISPORT(clr,clk,ena,oe:IN std_logic;d:IN std_logic_VECTOR(7 DOWNTO 0);q:BUFFER std_logic_VECTOR(7 DOWNTO 0);END latch8;,下一页,返回,上一页,ARCHITECTURE one OF latch8 ISSIGNAL q_temp:std_logic_VECTOR(7 DOWNTO 0);BEGIN u1:PROCESS(clk,clr,ena,oe)BEGIN IF clr=0 THEN q_temp=00000000;ELSIF
13、 clkEVENT AND clk=1 THENIF(ena=1)THEN q_temp=d;END IF;END IF;IF oe=1 THEN q=ZZZZZZZZ;ELSE q=q_temp;END IF;END PROCESS u1;END one;,下一页,返回,上一页,6.2 时序逻辑电路设计,2.移位寄存器 移位寄存器除了具有存储代码的功能以外,还具有移位功能。所谓移位功能,是指寄存器里存储的代码能在移位脉冲的作用下依次左移或右移。因此,移位寄存器不但可以用来寄存代码,还可用来实现数据的串并转换、数值的运算以及数据处理等。,下一页,返回,上一页,课堂练习,VHDL程序设计:设计具
14、有左移一位或右移一位、并行输入和同步复位功能的8位移位寄存器VHDL程序。,下一页,返回,上一页,具有左移一位或右移一位、并行输入和同步复位功能的8位移位寄存器VHDL程序。LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY SHIFTER IS PORT(DATA:IN std_logic_VECTOR(7 DOWNTO 0);clk:IN std_logic;SHIFT_LEFT:IN std_logic;SHIFT_RIGHT:IN std_logic;RESET:IN std_logic;,下一页,返回,上一页,MODE:IN std_log
15、ic_VECTOR(1 DOWNTO 0);QOUT:BUFFER std_logic_VECTOR(7 DOWNTO 0);END SHIFTER;ARCHITECTURE ART OF SHIFTER IS BEGINPROCESS BEGINWAIT UNTIL(RISING_EDGE(CLK);IF(RESET=1)THEN QOUT=00000000;-同步复位功能的实现,下一页,返回,上一页,ELSE CASE MODE ISWHEN 01=QOUTQOUTQOUTNULL;END CASE;END IF;END PROCESS;END ART;,下一页,返回,上一页,计数器,计数
16、器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。,下一页,返回,上一页,1.具有清零端的4位二进制计数器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt4 IS PORT(clk:IN STD_LOGIC;clr:IN STD_LOGIC;q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);END cnt4;,下一页,返回,上一页,ARCHITECTURE behav OF
17、 cnt4 IS BEGIN PROCESS(clk,clr)BEGIN IF clr=1 THEN q=0000;ELSIF clkEVENT AND clk=1 THEN q=q+1;END IF;END PROCESS;END behav;,下一页,返回,上一页,信号名是外部端口(或接口)信号的标志符。信号分为5种模式,详细说明信号的方向,这5种模式为:in输入实体的信号。如时钟(clk)、复位(reset)、使能信号、地址输入等信号。out输出实体的信号。如计数输出、寄存器输出、控制其他单元的信号等。注意:这类信号不能被实体内部的结构体引用,只能被其他实体使用。,下一页,返回,上一页,
18、buffer输出实体的信号,是可读的,即可以被实体内部的结构体引用,形成内部反馈。inout输入或输出实体的信号。这种模式经常用于可编程逻辑器件PLD中的三态输入/输出引脚,如用于设计双向数据总线等。linkage不指定实体端口的方向,可以与任意方向的数据或信号相连。其中,out和buffer都可以定义输出端口,但它们之间有区别,如图5-5所示。,图5-5 out和buffer模式的区别,(a)out模式;(b)buffer模式,返回,课堂练习2异步复位和同步时钟使能的十进制加法计数器。(课本P89),下一页,返回,上一页,38位异步复位的可预置加减计数器。LIBRARY IEEE;USE I
19、EEE.STD_LOGIC_1164.ALL;ENTITY counter8 IS PORT(clk:IN STD_LOGIC;reset:IN STD_LOGIC;ce,load,dir:IN STD_LOGIC;din:IN INTEGER RANGE 0 TO 255;count:OUT INTEGER RANGE 0 TO 255);END counter8;,下一页,返回,上一页,ARCHITECTURE counter8_arch OF counter8 ISBEGIN PROCESS(clk,reset)VARIABLE counter:INTEGER RANGE 0 TO 25
20、5;BEGIN IF reset=1 THEN counter:=0;ELSIF clkEVENT AND clk=1 THEN IF load=1 THEN counter:=din;ELSE,下一页,返回,上一页,IF ce=1 THEN IF dir=1 THEN IF counter=255 THEN counter:=0;ELSE counter:=counter+1;END IF;ELSE IF counter=0 THEN counter:=255;ELSE counter:=counter-1;END IF;END IF;END IF;END IF;END IF;count=c
21、ounter;END PROCESS;END counter8_arch;,下一页,返回,上一页,课后作业1.4位移位寄存器型扭环计数器VHDL程序;2.具有异步复位,模为60的8421BCD码加法计数器VHDL程序。,下一页,返回,上一页,参考程序:34位移位寄存器型扭环计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY shift_cnt4 IS-本例的4位扭环计数器采用高位取反后移至低位的循环码编码方式,下一页,返回,上一页,PORT(clr,clk:IN STD_LOGIC;Y:OUT STD_LOGIC_VECTOR(3 DOWNTO
22、 0);END shift_cnt4;ARCHITECTURE behav OF shift_cnt4 IS SIGNAL q:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL d0:STD_LOGIC;-描述最低位的输入信号,扭环计数器的设计关键所在 BEGIN PROCESS(clk,clr)BEGIN,下一页,返回,上一页,IF clr=1 THEN q=1111;-置计数器的初始状态 ELSIF clkEVENT AND clk=1 THEN q(0)=d0;q(3 DOWNTO 1)=q(2 DOWNTO 0);-时钟上沿到来时移位 END IF;IF(q=11
23、11OR q=1110OR q=1100OR q=1000OR q=0000OR q=0001OR q=0011OR q=0111)THEN d0=NOT q(3);ELSE,下一页,返回,上一页,IF q=1010OR q=0101THEN-如果进入非法状态,电路能够自启动 d0=NOT q(3);ELSE d0=q(3);END IF;END IF;END PROCESS;Y=q;END behav;,下一页,返回,上一页,4具有异步复位,模为60的8421BCD码加法计数器。参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.ST
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课件 时序 逻辑电路

链接地址:https://www.31ppt.com/p-6504924.html