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

總體思路就是:增加寄存器保存中間結果,減少寄存器和寄存器之間的組合邏輯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章