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