导航菜单
首页 >  寄存器打拍的作用 考试  > FPGA学习笔记(3)

FPGA学习笔记(3)

疑惑:什么是时序逻辑会延迟组合逻辑一拍?如何理解该现象?当数据变化沿与寄存器时钟上升沿重合时,寄存器输出信号是什么?

结论:

DFF有输入端(D端)和输出端(Q端),D端连接部分组合电路,其值随组合电路的输入值同步变化;所谓“延迟一拍”是指当时钟上升沿来临时,D端数据会传送到Q端,即Q值相较于D值会延迟一拍;当数据变化沿与寄存器时钟上升沿重合时,可看作D端数据先变化,随即再将值传给Q端,即波形图显示的是寄存器输出(Q)为信号跳变沿后的值,如图4;寄存器之间的延迟,即每经过一个DFF,就会增加一个时钟周期的延迟。

说明:

一、组合逻辑VS时序逻辑

如图1所示,led_out直接与key_in相连,led_out2与key_in之间有DFF,输出信号的波形如图2所示。①②处和④⑤处,led_out2延迟led_out;但在③处key_in的变化与clk上升沿重合时,led_out2与led_out的变化同步。该过程可以看作,DFF的D端随key_in随时同步变化(组合电路),但只有在clk上升沿时才将D端值(led_out)赋给Q端(led_out2),跳变沿重合时可看作因为组合逻辑D端值马上变化,再传输到Q端。

结论:led_out2最多延迟led_out一个时钟周期,在仿真中也可能同步

图1

图2

二、4bit计数器,当计数使能cin与clk上升沿同时到达时的情况

如下代码:

else if(cin == 1'b1)

      q

相关推荐: