【FPGA技巧篇一】FPGA设计的四种常用思想与技巧之一 :乒乓操作
2024-09-03 07:45:09
本文篇章将讨论一下的四种常用 FPGA 设计思想与技巧: 乒乓操作、 串并转换、 流水线操作、 数据接口同步化, 都是 FPGA 逻辑设计的内在规律的体现, 合理地采用这些设计思想能在FPGA设计工作种取得事半功倍的效果。
FPGA 的设计思想与技巧是一个非常大的话题, 由于篇幅所限, 本文仅介绍一些常用的设计思想与技巧, 包括乒乓操作、 串并转换、 流水线操作和数据接口的同步方法。
希望本文能引起工程师们的注意, 如果能有意识地利用这些原则指导日后的设计工作, 将取得事半功倍的效果!
乒乓操作是FPGA设计中经常用到的设计思想,常用于需要提高数据效率的地方。其主要特点有:
- 实现数据的无缝缓冲和处理;
- 可节约缓冲区空间;
- 可实现低速模块处理高速模块。
典型的乒乓操作原理如下图:
如图所示:
- T1时刻,DATA_T1存入buffer 1;
- T2时刻,buffer 1已被写满,DATA_T2存入buffer 2, 同时buffer 1将DATA_T1送至运算模块处理;
- T3时刻,DATA_T3存入buffer A1,同时buffer 2将DATA_T2送至运算模块处理;
然后重复2、3阶段的操作。
这里正是利用了乒乓操作完成数据的无缝缓冲与处理,乒乓操作可以通过“输入数据选择控制”和“输出数据选择控制”按节拍,相互配合地进行来回切换,将经过缓冲的数据流没有停顿的送到“后续处理模块”。把乒乓操作模块当作一个整体,站在这个模块的两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非常适合对数据流进行流水线式处理。
从上图也可以看出乒乓操作的核心就是控制缓冲模块的读写,具体可以细化为输入数据控制模块、缓冲模块1、缓冲模块2以及输出数据控制模块,这里的缓冲模块可以是FIFO、BRAM、SDRAM等。
最新文章
- solr 主从模式和solrcloud集群模式
- nginx url重写 rewrite实例
- git项目添加.gitigore文件
- bash 统计文件行数
- MVC View基础
- zookeeper_00:zookeeper注意事项
- Prototype Pattern 原型模式
- Openjudge-计算概论(A)-找和为K的两个元素
- MongoDB索引限制
- 突然觉得前端js挺不错的
- 学习Python第四天
- Activiti实现流程自由跳转
- js删除数组元素
- linux硬盘的分区、格式化、挂载以及LVM
- RazorEngine.Templating MVC中View当模板
- 2、evaluate-reverse-polish-notation
- Ubuntu18.10下运行blender2.80bate闪退(问题?)
- c# WndProc事件 消息类型
- 好久不git这么多问题
- mongoimport mongo导入Json的用法