Verilog流水線控制器-valid與ready的握手機制


1        功能描述:

  在我們的流水線設計中有 5 個pipe stages。這意味着在 5 個時鍾周期后可以在輸出端口觀察到輸入數據,所有階段都必須准備好同時進行。當 out_rdy 無效時,必須保留輸出 vld & data 直到 out_rdy 有效。如果out_rdy 無效並且所有pipe stage都處於busy狀態,則必須使in_rdy 無效以通知前一stage保留數據。當 out_rdy 無效時,必須消除管道氣泡。

所有信號均由時鍾的上升沿觸發。 所有輸出必須是觸發器輸出(in_rdy 除外)。

2        Interface description

Input:

       clk         // clock

       rst_n         // reset signal, active low

       in_data[15:0] // input data

       in_vld        // input data valid

       out_rdy        // out data ready(The next stage not full)

Output:

out_data[15:0] // output data

       out_vld       // output data valid

       out_rdy       // in data ready (current stage not full)

3         Block diagram

 

 

 

 

4         Timing specification

正常傳輸后,out_rdy拉低,卡住每一級

 

in_vld拉低,out_vld傳輸完后也拉低

 

 

擠氣泡

 

 

 

5         Verilog RTL

6         Verilog Testbench

    有需要再補上

7    Test wave form

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM