勇敢的心 3年前提问 CDC
0
握手电路为啥可以使用两级同步处理。

1 为什么req和ack没有经过两级同步后就使用?
2 ackr为什么通过判断条件!req进行清零,req并未进行两级同步
3 dataoutr <= datain;和ackr <= 1'b1;使用同一个条件不行吗,为什么分别使用pos_req1和pos_req2两个不同的条件。

被浏览 :  401
收起
( 0 ) 评论
鱼在洗澡 3年前回复
0

1,req是经过同步处理过的。always@(posedge clk or negedge rst_n)begin
if(!rst_n)begin
req1 <= 1'b1;
req2 <= 1'b1;
req3 <= 1'b1;
end
else begin
req1 <= req;
req2 <= req1;
req3 <= req2;
end
end
2、ackr是在经过同步后确认req下降沿来之后给出的条件。
3、data的输出与ackr的输出是同一条件
你可以先研读代码,然后试着仿真看波形。

添加评论
我的答案
提交答案