二楼正解,一般只有在流水逻辑时,为了满足时序,才会多打几拍。一楼的意思是说这是要跨时钟域采样数据。其实这种方法很危险,尤其是当数据的原时钟域比采样时钟域频率快的时候,即使打再多拍,一样是采不准。
dat_r不是clk时钟域的同步信号,于是在clk时钟域打两拍,充分避免电路的“亚稳态”发生。
通常是时序的需要。譬如,输入的数据需要延2拍才能处理等。