1.6基本设计思想与技巧之二:串并转换
串并转换是FPGA设计的一个重要技巧,从小的着眼点讲,它是数据流处理的常用手 段,从大的着眼点将它是面积与速度互换思想的直接体现。串并转换的实现方法多种多样, 根据数据的排序和数量的要求,可以选用寄存器、RAM等实现。前面在乒乓操作图9的举 例,就是通过DPRAM实现了数据流的串并转换,而且由于使用了DPRAM,数据的缓冲区 可以开的很大。对于数量比较小的设计可以采用寄存器完成串并转换。如无特殊需求,应该 用同步时序设计完成串并之间的转换。比如数据从串行到并行,数据排列顺序是高位在前, 可以用下面的编码实现:
prl_temp <= (prl_temp,srl_in);
其中,prl_temp是并行输出缓存寄存器,srl_in是串行数据输入。
对于排列顺序有规定的串并转换,可以用case语句判断实现。对于复杂的串并转换, 还可以用状态机实现。串并转换的方法总的来说比较简单,在此不做更多的解释。
1.7基本设计思想与技巧之三:流水线操作
首先需要声明的是这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非 FPGA、ASIC设计中优化时序所用的“Pipelining”,关于Pipelining优化时序的方法在第二 章有详细介绍。
流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步 骤,而且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下 一个步骤的输入则可以考虑采用流水线设计方法提高系统的工作频率。
流水线设计的结构示意图如图l0所示: