状态机中,触发事件XRD下降沿触发时,按照clk触发时,信号需要建立时间和保持时间,条件语句if(!XRD)能正确采到XRD=0吗
always @(posedge clk or negedge rst_n)
begin
if(!rst_n) cstate<=idle;
else cstate<=nstate;
end
always@(cstate or XRD or ........)
begin
case(nstate)
idle:
if(!XRD) nstate<=d1;
else nstate<=idle;
d1:.........
end
此帖出自
小平头技术问答
XRD如果是同一个时钟域的信号,当然可以用clk作为敏感列表的一个,并且尽量这么做。如果是外来的跨时钟域的信号,最好用寄存器打两拍(前提是XRD此时无论被判为0或1,逻辑都不出错)。
使用,直接用的输入信号触发
一周热门 更多>