基本时序逻辑电路设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五讲基本时序逻辑电路设计

2010 年12 月

基本时序逻辑电路设计

¾时序逻辑电路的基本知识

¾时序逻辑电路的VHDL描述

¾同步时序逻辑电路和异步时序逻辑电路

描述时序逻辑电路的基本方式:

表达式(输出逻辑表达式、存储单元驱动

表达式、触发器状态方程);

状态转换图/表;

时序图

设计时序逻辑电路的基本方法:

•寄存器传输级模型(RTL):

根据时序图把行为描述成寄存器值的转换•状态机:

根据状态转换图/表描述状态机的行为

状态转换图寄存器传输级结构

分析一个时序电路,就是要找出给定时序电路的逻辑功能。具体地说,就是要求找出电路的状态和输出状态在输入变量和时钟信号作用下的变化规律。

T型触发器

1

n

Q+Y

11110001

00100100X n Q 1n Q +Y

寄存器传输级时序模型

•D触发器

•触发器应用电路

•计数器设计(同步、异步计数)•分频电路设计

•电平锁存器

同步D触发器RTL综合结果图

同步D触发器仿真结果图可设计

同步电路、

延迟电路

¾延迟电路

entity delay is

port( clk,din: in std_logic; d1,d2,dout:out std_logic);

end delay;

architecture rtl of delay is

signal t1,t2,tout:std_logic;

begin

process(clk)

begin

if rising_edge(clk) then

t1<=din; t2<=t1; tout<=t2;

end if;

end process;

dout<=tout; d2<=t2; d1<=t1;

end rtl;

¾微分器电路

entity diff is

port( clk,din: in std_logic; d1,d2,up_diff,dn_diff,up_dn_diff:out std_logic); end diff;

architecture rtl of diff is

signal t1,t2:std_logic;

begin

process(clk)

begin

if rising_edge(clk) then t1<=din; t2<=t1; end if;

end process;

d2<=t2; d1<=t1;

up_diff<=t1 and not t2;

dn_diff<=not t1 and t2;

up_dn_diff<=t1 xor t2;

end rtl;

1

n

Q+Y

entity testservhdl is

Port ( C : in std_logic;

X : in std_logic;

Y : out std_logic;

PRE : in std_logic);

end testservhdl;

architecture Behavioral of testservhdl is signal q,t:std_logic;

begin

t<=not X;

Y<=q and C and X;

process

begin

if PRE='1' then q<='1';

elsif rising_edge(C) then

if t='1' then q<=not q;

else q<=q;

end if;

end if;

end process;

end Behavioral;

1.同步时序电路设计

1)同步时序电路原理说明

从构成方式上讲,同步时序电路所有操作都是在同一时钟严格的控制下步调一致地完成的。从电路行为上讲,同步电路的时序电路共用同一个时钟,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。

在VHDL实现时并不要求同一时钟,而是同源时钟。所谓的同源时钟是指同一个时钟源衍生频率比值为2的幂次方,且初相位相同的时钟。

具有同步复位功能的同步与门的描述entity syngate is

port ( clk: in std_logic;

a : in std_logic;

b : in std_logic;

rst_n:in std_logic;

y : out std_logic);

end syngate;

architecture Behavioral of syngate is begin

process(clk)

begin

if rising_edge(clk) then

if rst_n='0' then y<='0'

else y<=a and b;

end if;

end if;

end process;

end Behavioral;

复位信号rst_n通过D 触发器的控制端来实现。

相关文档
最新文档