串并转换设计技巧

串并转换是 FPGA 设计的一个重要技巧,它是数据流处理的常用手段,也是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用 寄存器、 RAM 等实现。前面在乒乓操作的图例中,就是通过 DPRAM 实现了数据流的串并转换,而且由于使用了 DPRAM ,数据的缓冲区可以开得很大,对于数量比较小的设计可以采用寄存器完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。比如数据从串行到 并行,数据排列顺序是高位在前,可以用下面的编码实现:

prl_temp<={prl_temp,srl_in};

其中, prl_temp 是并行输出缓存寄存器, srl_in 是串行数据输入。对于排列顺序有规定的串并转换,可以用 case 语句判断实现。对于复杂的串并转换,还可以用状态机实现。串并转换的方法比较简单,在此不必赘述。

流水线操作设计思想

首先需要声明的是,这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非 FPGA 、 ASIC 设计中优化时序所用的 “Pipelining” 。

流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是 “ 单流向 ” 的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。

流水线设计的结构示意图如图 3 所示。其基本结构为:将适当划分的 n 个操作步骤单流向串联起来。流水线操作的最大特点和要求是,数据流在各个步骤的处理从时间上看是连续的,如果将每个操作步骤简化假设为通过一个 D 触发器 ( 就是用寄存器打一个节拍 ) ,那么流水线操作就类似一个移位寄存器组,数据流依次流经 D 触发器,完成每个步骤的操作。流水线设计时序如图 4 所示。

流水线设计的一个关键在于整个设计时序的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级的输 出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的 操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。

在 WCDMA 设计中经常使用到流水线处理的方法,如 RAKE 接收机、搜索器、前导捕获等。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。

转载于:https://www.cnblogs.com/FPGA_DSP/archive/2010/03/13/1684844.html

FPGA开发经验谈-FPGA 设计的四种常用思想与技巧(二)相关推荐

  1. 【Qt】Qt多线程开发—实现多线程设计的四种方法

    Qt-使用Qt实现多线程设计的四种方法 文章目录 Qt-使用Qt实现多线程设计的四种方法 一.写在前面 二.[方法一] QThread:带有可选事件循环的底层API 三.[方法二] QThreadPo ...

  2. (42)FPGA四种常用逻辑门(同或门)

    (42)FPGA四种常用逻辑门(同或门) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA四种常用逻辑门(同或门) 5)技术交流 6)参考资料 2 FPGA入 ...

  3. (41)FPGA四种常用逻辑门(异或门)

    (41)FPGA四种常用逻辑门(异或门) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA四种常用逻辑门(异或门) 5)技术交流 6)参考资料 2 FPGA入 ...

  4. (40)FPGA四种常用逻辑门(或非门)

    (40)FPGA四种常用逻辑门(或非门) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA四种常用逻辑门(或非门) 5)技术交流 6)参考资料 2 FPGA入 ...

  5. (39)FPGA四种常用逻辑门(与非门)

    (39)FPGA四种常用逻辑门(与非门) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA四种常用逻辑门(与非门) 5)技术交流 6)参考资料 2 FPGA入 ...

  6. FPGA设计的常用思想与技巧(转)

     FPGA设计的常用思想与技巧    2007-04-30 16:54:51 大中小 本文讨论的四种常用 FPGA/CPLD 设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是 FP ...

  7. 展示型app用什么型号服务器,APP版式设计教程:信息展示型UI界面设计的四种类型...

    作为一名专业的APP设计师,版式设计也是我们日常设计当中的一项基本功. 那你到底对版式设计有多深的理解呢? 你现在可以摸着旁边妹子的手说,什么是版式设计ma ? 版式设计又分为哪几种呢? 这个时候妹子 ...

  8. it有啥好咨询的_蓝盟浅析,IT外包的四种常用方式

    IT外包服务主要分为IT运维外包和软件开发外包,对于软件开发外包主要偏于研发类型,在本文中主要讨论IT运维外包. 上海蓝盟认为,IT运维外包主要包含IT服务外包.IT采购.弱电工程.系统集成和云服务等 ...

  9. unixbench分析_UnixBench,Bench,SuperBench 和 Zbench 四种常用云服务器综合性能测评脚本工具的对比分析以及使用教程...

    君哥今天写了一篇不用脚本进行云服务器配置真伪鉴定,网络性能测评的文章,有童鞋询问有没有更为简单高效的测试方法呢?当然有.这篇文章以4核8G5M的阿里云服务器为例,分别采用 UnixBench. Ben ...

最新文章

  1. 独家 | 集成学习入门介绍
  2. UC伯克利最新深度强化学习课程上线,视频已上传到B站
  3. 在dos下用csc命令编译,提示“csc不是内部或外部命令,也不是可运行的程序... ”
  4. Linux系统下 Apache+PHP 环境安装搭建
  5. 【DND图形库】二、创建控制台窗口和游戏循环
  6. Oracle格式化数字和日期的方法
  7. 【Html】Html基本标记
  8. Pseudo-document-based Topic Model(基于伪文档的主题模型)的理解以及源码解读
  9. base64转化字节流 js_js - blob流和base64,以及file和base64的相互转换
  10. 2w字详解数据湖:概念、特征、架构与案例
  11. 微信小程序模板文件的引入
  12. AUTOCAD——超级填充
  13. 银灿IS916也可以量产三驱三启动成功教程
  14. 数据结构——中国邮递员问题
  15. 成也史玉柱,败也史玉柱
  16. 格式化格林威治时间(Wed Aug 01 00:00:00 CST 2018)
  17. EXCEL表格-系统时间及进度自动记录工具制作
  18. Python基础1 #博学谷IT学习技术支持
  19. 什么是服务器托管(服务器托管方式的特点)
  20. 牛客3007E-立方数-欧拉线性筛+素数分解+二分

热门文章

  1. 【SSL】keytool复制证书
  2. Weblogic 12c中修改SERVER NAME的方法
  3. 云服务器磁盘挂载_云小课 | 磁盘容量不够用?小课教你来扩容!
  4. PHP堆实现TopK算法实例,top-k 算法浅析
  5. react 动态路 嵌套动子路由_react 路由动态加载组件,实现按需加载
  6. linux配置python环境变量_linux添加PYTHONPATH环境变量
  7. python换行输入数据_python将回车作为输入内容的实例
  8. java定义静态set集合_java集合之set
  9. 小米线刷包需要解压么_【连载】刷机教程之小米手机通用线刷教程
  10. python数学公式代码导入_NumPy 数学函数及代数运算的实现代码