本系列讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。
       串并转换是 FPGA 设计的一个重要技巧,它是数据流处理的常用手段,也是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用 寄存器、 RAM 等实现。前面在乒乓操作的图例中,就是通过 DPRAM 实现了数据流的串并转换,而且由于使用了 DPRAM ,数据的缓冲区可以开得很大,对于数量比较小的设计可以采用寄存器完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。比如数据从串行到 并行,数据排列顺序是高位在前,可以用下面的编码实现:
prl_temp<={prl_temp,srl_in};
其中, prl_temp 是并行输出缓存寄存器, srl_in 是串行数据输入。对于排列顺序有规定的串并转换,可以用 case 语句判断实现。对于复杂的串并转换,还可以用状态机实现。串并转换的方法比较简单,在此不必赘述。
流水线操作设计思想
首先需要声明的是,这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非 FPGA 、 ASIC 设计中优化时序所用的 “Pipelining” 。
流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是 “ 单流向 ” 的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。
<ignore_js_op> 
流水线设计的结构示意图如图 3 所示。其基本结构为:将适当划分的 n 个操作步骤单流向串联起来。流水线操作的最大特点和要求是,数据流在各个步骤的处理从时间上看是连续的,如果将每个操作步骤简化假设为通过一个 D 触发器 ( 就是用寄存器打一个节拍 ) ,那么流水线操作就类似一个移位寄存器组,数据流依次流经 D 触发器,完成每个步骤的操作。流水线设计时序如图 4 所示。
<ignore_js_op> 
流水线设计的一个关键在于整个设计时序的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级的输 出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的 操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。
在 WCDMA 设计中经常使用到流水线处理的方法,如 RAKE 接收机、搜索器、前导捕获等。流水线处理方式之所以频率较高,是因为复制了处理模块,它是面积换取速度思想的又一种具体体现。

转载于:https://www.cnblogs.com/lifan3a/articles/4371058.html

FPGA设计思想与技巧之串并转换和流水线操作相关推荐

  1. FPGA设计思想与技巧

    1.1 FPGA设计思想与技巧 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA设计思想与技巧: 5)结束语. 1.1.2 本节引言 "不积跬步,无以至 ...

  2. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  3. (13)FPGA设计思想

    (13)FPGA设计思想 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA设计思想 5)结语 1.2 FPGA简介 FPGA(Field Programmable ...

  4. FPGA设计中,Vivado 调用IP核详细操作步骤

    FPGA设计中,Vivado 调用IP核详细操作步骤 今天给大侠带来了FPGA设计中,Vivado 调用IP核详细操作步骤,话不多说,手把手教学,请往下看. 首先咱们来了解一下vivado的IP核,I ...

  5. FPGA设计思想之“逻辑复制”

    1.逻辑复制是一种通过增加面积来改善时序条件的优化手段,它最主要的应用时调整信号的扇出.如果某个信号需要驱动的后级逻辑信号较多,也就是其扇出非常大,那么为了增加这个信号的驱动能力,就必须插入很多级的B ...

  6. 芯片设计概念:乒乓操作,串并转换,流水线操作

    乒乓操作 乒乓操作"是一个常常应用于数据流控制的处理技巧.通过乒乓操作实现低速模块处理高速数据的实质是:通过 DPRAM 这种缓存单元实现了数据流的串并转换,并行用 " 数据预处理 ...

  7. 07-阻塞赋值与非阻塞赋值原理分析——小梅哥FPGA设计思想与验证方法视频教程配套文档...

    芯航线--普利斯队长精心奉献 实验目的:掌握阻塞赋值与非阻塞赋值的区别 实验平台:无 实验原理: 阻塞赋值,操作符为"=","阻塞"是指在进程语句(initia ...

  8. 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献 实验目的:1.掌握BCD码的原理.分类以及优缺点 2.设计一个多位的8421码计数器并进行验证 3.学会基本的错误定位以及修改能力 实验平台:无 实验原理: BCD码(B ...

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

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

最新文章

  1. java导入excle表格,并且对表格进行相应的修改,并对表格数据进行整理,最后导出本地表格等一系列...
  2. JavaScript对象数组示例
  3. Underscore _.template 方法使用详解
  4. [转]【Git】rebase 用法小结
  5. Windows server 2008文件服务器之二屏蔽影音文件以及指定文件名
  6. HP Color LaserJet Pro MFP M277dw初始化 清零方法
  7. 51单片机有几个通用io口_51单片机IO口的四种使用方法
  8. 1核1g服务器php,虚拟主机1核1g什么意思
  9. 我的Go+语言初体验——(4)零基础学习 Go+ 爬虫
  10. nginx下虚拟目录配置301域名重定向
  11. php面试题之一——PHP核心技术(高级部分)
  12. 全国计算机python考试难吗_全国计算机二级的难度有多大?
  13. 从“三只小猪”的故事到“高性能”测试自动化
  14. usb4java android,USB audio on Android platform
  15. android 电话状态的监听(来电和去电)
  16. JIRA数据库的迁移,从HSQL到MYSQL/Oracle
  17. 深度学习综述(下载PDF版)
  18. springboot基于web的游泳馆信息管理系统毕业设计源码281444
  19. 关于ZEMAX13的中文设置
  20. Maxima绘图基础

热门文章

  1. 组态软件动态生成画面简介
  2. 将element-plus分页组件由默认英文,改为中文
  3. 查询所有分都大于80分的学生姓名
  4. Photoshop 人物素描化
  5. 数组是“二等公民”的话题
  6. Jquery(终极完整版)
  7. js 给爱的人发个邮件吧
  8. python--定义新矩阵、矩阵赋值、改变类型
  9. 调用华为云GES服务业务面API相关参数的获取
  10. 五种方式获取一个文件的扩展名