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