verilog 流水线技术

流水线技术概览:

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

总体思路就是:增加寄存器保存中间结果,减少寄存器和寄存器之间的组合逻辑。

猜你喜欢

转载自blog.csdn.net/yanxiaopan/article/details/82496056