内容发布更新时间 : 2025/6/18 15:48:25星期一 下面是文章的全部内容请认真阅读。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS
PORT(CLK,RST,EN,D: IN STD_LOGIC; Q: OUT STD_LOGIC); END;
ARCHITECTURE bhv OF DFF1 IS
SIGNAL Q1:STD_LOGIC; --类似于在芯片内部定义一个数据的暂存节点 BEGIN
PROCESS (CLK,Q1,RST,EN) BEGIN
IF RST='1' THEN Q1<='0';
ELSIF CLK'EVENT AND CLK='1' THEN IF EN='1' THEN Q1<=D; END IF; END IF;
END PROCESS;
Q<=Q1; --将内部的暂存数据向端口输出 END bhv;
--解2:5-1【5-5】含同步复位控制的D触发器 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS
PORT(CLK,RST,D: IN STD_LOGIC; Q: OUT STD_LOGIC); END;
ARCHITECTURE bhv OF DFF1 IS
SIGNAL Q1:STD_LOGIC; --类似于在芯片内部定义一个数据的暂存节点 BEGIN
PROCESS(CLK,Q1,RST) BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF RST='1' THEN Q1<='0';ELSE Q1<=D;END IF; END IF; END PROCESS;
Q<=Q1; --将内部的暂存数据向端口输出 END bhv; 5-2 举例(【例5-1】)说明,为什么使用条件叙述不完整的条件句能导致产生时序模块的综合结果。
由于不完整条件句具有对输出信号不做处理(即保持现状)的行为,而导致时序电路综合结果。(P121)
--解:5-2【例5-1】D触发器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF1 IS
PORT(CLK: IN STD_LOGIC; D: IN STD_LOGIC; Q:OUT STD_LOGIC); END;
ARCHITECTURE bhv OF DFF1 IS
SIGNAL Q1:STD_LOGIC; --类似于在芯片内部定义一个数据的暂存节点 BEGIN
PROCESS(CLK,Q1) BEGIN
IF CLK'EVENT AND CLK='1' --上升沿触发锁存 THEN Q1<=D; END IF; END PROCESS