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

 Verilog流水线控制器-valid与ready的握手机制

 

4         Timing specification

Verilog流水线控制器-valid与ready的握手机制

5         Verilog RTL

6         Verilog Testbench

7    Test wave form

 

Verilog流水线控制器-valid与ready的握手机制

上一篇:5G给边缘计算带来了什么?


下一篇:数据段、代码段、堆栈段、BSS段的区别