FPGA数字IC笔试面试007—时钟无毛刺切换技术
(2)说明电路的功能;(3分)
(3)说明DFF1和DFF3的作用,去掉后有什么风险?(3分)
(2)数字电路中的风险问题:
组合逻辑:竞争冒险,出现毛刺
在时钟的下降沿处寄存选择控制信号,保证了控制信号不会在 2 个时钟源的高电平处进行跳变,这样就防止对输出时钟进行截断(截断导致毛刺)。
在 CLK0 的第一个周期内,C 的波形与 CLK0 完全一致,说明
(1)C 来自 AND2,且 D4Q 为 1,D2Q 为 0;
(2)向前推导,D3Q 的初始值为 1,D1Q 的初始值为 0;
(3)D2QF = 1,D4QF = 0;
(4)D4QF = 0,A = 0;
对 B 的状态:
(1)SELECT 初始为 0,后面变成 1,B 来自 D2QF 和 ~SELECT,只有有 1 个为 0 ,则 B 为 0,所以 B 的状态比较好判断,当 SELECT 从 0 变为 1 以后,B 一定是 0;
(2)在 SELECT 保持为 0 的阶段,B 的值取决于 D2QF,在此阶段内,D2QF 恒为 1,所以 B 恒为1;
从 B 向后分析 D3,在 CLK0 的上升沿,D3 随 B 变化:
(1)前文推导 D3 初始 1;
(2)CLK0 的第 2 个上升沿,D3 变为 0,且从此一直为 0;
从 D3 向后分析 D4Q,在 CLK1 的下升沿,D4Q 随 D3 变化:
(1)前文推导 D4Q 初始 1;
(2)CLK0 的第 2 个下降沿,D4Q 变为 0,且从此一直为 0;
(3)与此同时,D4QF 发送相应变化,D4QF = ~ D4Q,在 CLK0 的第 2 个下降沿,D4QF 变为1;
此时分析 A:
(1)当 SELECT 和 D4QF 同时为 1,A = 1;
(2)初始时 SELECT = 0,后面 SELECT 刚变为 1 的时候 D4QF 是 0,所以 A一直是 0;
(3)SELECT 在 D4QF 前已经为 1,所以当 D4QF 变为 1 的时候,A 会和 D4QF 同时变为 1;
从 A 向后分析 D1,在 CLK1 的上升沿,D1 随 A 变化:
(1)前文推导 D1 初始 0;
(2)A 拉高后,CLK1 的第 1 个上升沿,D1 变为 1,且从此一直为 1;
从 D1 向后分析 D2Q,在 CLK0 的下升沿,D2Q 随 D1 变化:
(1)前文推导 D2Q 初始 0;
(2)A 拉高后,CLK0 的第 1 个下降沿,D2Q 变为 1,且从此一直为 1;
(3)与此同时,D2QF 发送相应变化,D2QF = ~ D2Q,由于 B 已经变为 0,所以此时 D2QF 变成 0 不影响 B 仍然为 0;
根据 D2Q 和 CLK1 得到 AND1 的波形;
根据 D4Q 和 CLK0 得到 AND2 的波形;
由此得到 C 的波形。
上图中:
DFF4_Q 代表 DFF4 的 Q 输出;
DFF4_Q_F 代表 DFF4 的 Q 取反输出;
其他类似表示。
手绘版。
欢迎留言讨论、咨询。
笔试刷题及解析,FPGA和数字IC类的笔试题汇总、解析,助力实习、提前批、秋招