流水线技术概览:
o流水线设计是经常用于提高所设计系统运行速度的一种有效的方法。为了保障数据的快速传输,必须使系统运行在尽可能高的频率上,但如果某些复杂逻辑功能的完成需要较长的延时,就会使系统难以运行在高的频率上,在这种情况下,可使用流水线技术,即在长延时的逻辑功能块中插入触发器,使复杂的逻辑操作分步完成,减小每个部分的延时,从而使系统的运行频率得以提高。流水线设计的代价是增加了寄存器逻辑,增加了芯片资源的耗用。
流水线原理:
对流水线的简单举例理解:
原始代码如下图所示:
reg [2:0] d;
always@(posedge clk,posedge rst)
begin
if(rst)
d<=0;
else
d<=a+b+c;
end
改为流水线的方式,如下图所示:
reg [2:0] d;
reg [1:0] tem;
always@(posedge clk,posedge rst)
begin
if(rst) begin
d<=0;
tem<=0;
end
else begin
tem<=a+b;
d<=tem+c;
end
end
总体思路就是:增加寄存器保存中间结果,减少寄存器和寄存器之间的组合逻辑。