文档详情

实例教学三 D触发器 CPLD FPGA可编程逻辑器件.ppt

发布:2017-07-19约2.36千字共20页下载文档
文本预览下载声明
D触发器的设计 桂林师范高等专科学校 羊日飞 时序逻辑电路 数字逻辑电路分为两大类: 组合逻辑电路:任一时刻的输出仅与当时的输入有关。 时序逻辑电路:任一时刻的输出不仅取决于当时的输入,而且还取决于电路以前的输入。 时序逻辑电路的结构框图 由组合逻辑电路和存储电路构成; 输出是输入及输出前一个时刻的状态的函数。 D触发器(D Filp-Flop) D触发器的应用 D触发器广泛应用于数据锁存、计数、分频、接口等电路中。 D触发器集成电路74HC74 D触发器集成电路74HC74 时序图分析 D触发器的VHDL代码编写 ——库引用 引用IEEE库 引用IEEE库中的std_logic_1164程序包 D触发器的VHDL代码编写 ——实体 D触发器电路的外特性: 有1个数据输入端 d;有一个时钟脉冲信号输入端clk;还有2个数据输出端q和nq。 实体: dff 数据输入端口:d 时钟脉冲信号输入端口:clk 输出端口:q、qb D触发器的VHDL代码编写 ——结构体 D触发器的 行为/功能描述 输入信号和输出信号之间有怎样的逻辑关系?如何描述? D触发器的VHDL代码编写 ——结构体 描述行为时往往具有顺序性,所以我们常使用VHDL语言中的顺序语句。 所有的顺序代码必须放在进程(process)或子程序中 VHDL语法 时钟信号的描述 以时钟进程的形式:时钟信号作为敏感信号,写入进程的敏感信号表。这样就表示了:当时钟信号变化时(上升沿或下降沿),进程内部的顺序语句将发生作用或者说被启动。 时钟上升沿的描述: 信号’event and 信号=‘1’ VHDL语法 IF 语句 IF语句是进程中的重要语句。 用于进行条件判断,从而实现电路的分支等操作。 第一种形式的if语句 D触发器的VHDL代码编写 ——结构体 用条件语句判断:当时钟脉冲信号的上升沿到来的时候,输出应该采样此时的数据输入。 D触发器VHDL代码编写 ——完整结构体部分的代码 思考? 语句中隐含了什么? D触发器VHDL代码 ——综合结果 D触发器VHDL代码 ——综合结果 * * 组合逻辑电路 时序逻辑电路 门电路、编码器、译码器、数据选择器、加法器等 触发器、锁存器、分频器、计数器等 是一种具有记忆功能的器件。有两种稳定的状态“1”和“0”。 D触发器有一个输入、一个输出和一个时钟频率输入 。 时钟频率输入 数据 输入 数据 输出 数据 取反 输出 D触发器一直保持它的状态,直到它收到输入脉冲。 tPHL 传输延时,18ns library ieee; use ieee.std_logic_1164.all entity dff is port( d: in std_logic; clk: in std_logic; q,qb: out std_logic; ); end dff; architecture dff_stru of dff is begin end dff_stru; 请用自然语言描述出来 分两种情况:有触发信号和无触发信号 只有在clk输入信号的上升沿到来的时刻(触发信号),输出端q才采样数据输入端d的数据,其它任何时候q的状态都保持不变(无触发信号)。 architecture dff_stru of dff is begin process( ) begin end process; end dff_stru; process(clk) begin 顺序语句; end process; 上升沿的到来表示发生了一个事件 语法格式 if 条件表达式 then 顺序语句; end if; 含义:当if的条件表达式为“真”时,则执行下面的顺序语句 architecture dff_stru of dff is begin process(clk) begin if clk’event and clk=‘1’ then q=d; qb= not d; end if; end process; end dff_stru; architecture dff_stru of dff is begin process( clk ) begin if clk’event and clk=‘
显示全部
相似文档