FPGA系统设计原则和技巧之:FPGA系统设计的3种常用技巧
且由于使用了DPRAM,数据的缓冲区可以开得很大。
对于数量比较小的设计,可以采用寄存器完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。比如数据从串行到并行,数据排列顺序是高位在前,可以用下面的编码实现:
prl_temp={prl_temp,srl_in};
其中,prl_temp是并行输出缓存寄存器,srl_in是串行数据输入。
对于排列顺序有规定的串并转换,可以用case语句判断实现。对于复杂的串并转换,还可以用状态机实现。串并转换的方法总的来说比较简单,在此不做更多的解释。
9.2.3硬件流水线操作技巧
流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法提高系统的工作频率。
流水线设计的结构示意图如图9.7所示。
图9.7流水线设计的结构示意图
它的基本结构为:将适当划分的n个操作步骤单流向串联起来。
流水线操作的最大特点和要求是:数据流在各个步骤的处理从时间上看是连续的。如果将每个操作步骤假设为通过一个D触发器(就是用寄存器打一个节拍),那么流水线操作就类似一个移位寄存器组,数据流依次流经D触发器,完成每个步骤的操作。流水线设计时序示意图如图9.8所示。
图9.8流水线设计时序示意图
流水线设计的一个关键在于整个设计时序的合理安排。要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,只要前级的输出直接汇入后级的输入即可。如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存,才能汇入后级的输入端。如果前级操作时间恰好小于后级的操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。
在WCDMA设计中经常使用到流水线处理的方法,如RAKE接收机、搜索器、前导捕获等。
流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一具体体现。
FPGA系统设计 缓冲模块 乒乓操作 串并转换 流水线处理 相关文章:
- FPGA系统设计原则和技巧之:FPGA系统设计的3个基本原则(06-05)
- FPGA系统设计原则和技巧之:FPGA系统设计的3种常用IP模块(06-05)
- 基于面积的实现和基于速度的实现-两种YUV分离的FPGA的实现方式(06-05)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)