上一篇写到pipeline的实现,但是在存在大规模流水线电路中很容易出现长路径时序问题。所以需要对时序进行优化。
https://blog.youkuaiyun.com/loading_up/article/details/116722760?spm=1001.2014.3001.5501
握手信号中的优化时序方式:
1. 对vld和data进行打拍寄存一级,且ready实现无气泡传输。
与上一篇的区别在于控制信号的产生逻辑上:
//control path
always@(posedge clk)
begin
if (!rst_n)
begin
vld_s0 = 0;
vld_s1 = 0;
vld_o0 = 0;
vld_o1 = 0;
vld_s2 = 0;
end
else if (vld_in)
begin
vld_s0 = vld_in;
vld_o0 <= en0 ? vld_s0 : vld_o0;
vld_s1 = vld_in;
vld_o1 <= en1 ? vld_s1 : vld_o1;
vld_s2 = (vld_o0 & vld_o1) ? vld_in: vld_s2;
vld_o2 <= en2 ? vld_s2 : vld_o2; // vld寄存一拍,判定条件可直接简化成rdy_s2
end
end
wire en0,en1,en2,rdy_o0,rdy_o1;

本文探讨了在大规模流水线电路中出现的时序问题,并提出了一种优化方案。通过对接口的vld和data信号进行打拍寄存,以及采用特殊方式优化ready信号,以实现无气泡传输并解决同步问题。
最低0.47元/天 解锁文章
872

被折叠的 条评论
为什么被折叠?



