网站搜索:
第1节 基本设计技巧
文章出处:与非网
更新于2008-05-18 02:37:48

第1节 基本设计技巧

乒乓操作

 

点击查看全图   1   2

  • 操作过程
  • 从外部看,数据流没有停顿的进出
  • 用低速模块处理高速数据流
  • 实际上,用两个缓冲模块实现了串并转换,两个预处理模块并行,面积换速度;

串并转换

    串并转换

  • FPGA设计的一个重要技巧
  • 数据流处理的常用手段
  • 面积与速度互换思想的直接体现

    串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用:

  • 寄存器:小设计
  • RAM:数据量比较大的情况
  • 状态机:复杂的串并转换

流水线操作

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

  • 将适当划分的n个操作步骤单向串连起来
  • 数据流在流水线各个部分的处理,从时间上看是连续的
  • 数据流依次流经n个模块,完成每个步骤的操作

点击查看全图

  • 流水线设计时,时序要进行合理安排,每个操作步骤的划分要合理,仔细考虑各个步骤间的数据流量
  • 如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级直接输出到后级的输入即可
  • 如果前级操作时间大于后级的操作时间,则后级会经常空闲。可以对前级的输出数据适当缓存,再输出到后级的输入端
  • 如果前级操作时间小于后级的操作时间,则必须通过复制逻辑,将数据流分流和并行预处理,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出

数据接口的同步

  • 两种易出问题的设计习惯
    --手工加入非门调整数据延迟,从而保证本级时钟对上级数据的建立、保持时间的要求
    --为了有稳定的采样,时而用正沿打一下数据,时而用负沿打一下数据,以调整数据的采样位置
  • 问题
    --一旦芯片更新换代,或者移植到其它器件系列的芯片上,采样实现必须重新设计
    --这两种做法造成电路实现的时序余量不够,一旦外界条件变换(比如温度升高),采样时序就有可能紊乱,造成电路不能完成预定的功能
  • 如果输入数据的节拍和本系统处理时钟同频,可以直接用本系统的主时钟对输入数据寄存器采样,完成输入数据的同步化
  • 如果输入数据的节拍和本系统处理时钟同频,可以直接用本系统的主时钟对输入数据寄存器采样,完成输入数据的同步化
  • 为了避免异步时钟域产生错误的采样数据,一般使用RAM、FIFO缓存的方法完成异步时钟域的数据转换。在输入端口使用上级时钟写数据,在输出端口使用本级时钟读数据,就非常方便地完成了异步时钟域之间的数据交换

<<上一节  下一节>> 



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com