流水線技術概覽:
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
總體思路就是:增加寄存器保存中間結果,減少寄存器和寄存器之間的組合邏輯。