FPGA Verilog开发实战指南:基于Intel Cyclone IV(进阶篇)
上QQ阅读APP看书,第一时间看更新

2.1 理论学习

2.1.1 乒乓操作简介

典型的乒乓操作示意图如图2-1所示。

图2-1 典型乒乓操作示意图

下面根据图2-1介绍乒乓操作的处理过程。外部输入数据流通过输入数据流选择单元将数据流输入数据缓存模块,比较常用的存储单元有双口RAM、FIFO、SDRAM等。在第一个缓冲周期,数据流通过“输入数据流选择单元”将数据写入“数据缓冲模块1”。写完之后进入第二个缓冲周期,在第二个缓冲周期中数据流通过“输入数据流选择单元”将数据写入“数据缓冲模块2”的同时,“输出数据流选择单元”将“数据缓冲模块1”的数据流读出,此时进入第三个缓冲周期。在第三个缓冲周期中数据流通过“输入数据流选择单元”将数据写入“数据缓存模块1”的同时,将“数据缓冲模块2”的数据读出。如此反复循环地操作,即为乒乓操作。

2.1.2 乒乓操作特点

乒乓操作的最大特点是通过输入数据流选择单元和输出数据选择单元按节拍、相互配合地切换,将经过缓冲的数据流没有停顿地送到数据流运算处理模块进行运算与处理。把乒乓操作模块当作一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断,没有任何停顿,因此非常适合对数据流进行流水线式处理,所以乒乓操作常应用于流水线式算法,完成数据的无缝缓冲与处理。

乒乓操作的第二个特点是可以节约缓存空间,使用双存储单元比单存储单元更节省存储空间,这是很明显的。同时,在进行某些数据处理时,必须使数据达到一定个数才能进行运算,故还可以达到数据缓存的目的。

乒乓操作还可以实现低速模块处理高速数据,这种处理方式可以实现数据的串并转换,就是数据位宽之间的转换,是面积与速度互换原则的体现。

下面通过实验带领大家进一步地理解乒乓操作的处理方式。