zoukankan      html  css  js  c++  java
  • 【转载】FPGA重要设计思想

    1.速度和面积互换原则。。以面积换速度可以实现很高的数据吞吐率,其实串/并转换、就是一种以面积换速度的思想

    2.乒乓操作

    3.串/并转换的思想。

    高速数据处理的重要技巧之一。这里我来举一个多相滤波器抽取的例子:

    FPGA重要设计思想 - 初学者 - 既然选择了远方,便只顾风雨兼程!

     抽取之后,两路数据以二分频的速度进行处理即可

    4.流水线设计(在fir滤波器中表现很突出,一个时钟输出一个数据)

    流水线设计可以从某种程度上提高系统频率。。前提是:设计可以分为若干步骤进行处理,而且整个数据处理的过程是单向的,即没有反馈或者逆运算、前一个步骤的输出是下一个步骤的输入。。。

    FPGA重要设计思想 - 初学者 - 既然选择了远方,便只顾风雨兼程!
    3.逻辑复制与模块复用
    模块复用在节省逻辑资源方面使用非常广泛(举个例子吧)
    FPGA重要设计思想 - 初学者 - 既然选择了远方,便只顾风雨兼程!
     对比一下,不多说了,一例胜千言!
    至于逻辑复制呢,以后再说,目前还没碰到。把概念先抄上来:逻辑复制是一种通过增加面积来改善时序条件的优化手段,其最重要的应用是调整信号的扇出。换句话说,也就是其扇出非常大,那么为了增加这个信号的驱动能力,就必须插入很多级的Buffer,这样就在一定程度上增加了这个信号的路径延时。这种情况下就可以赋值生成这个信号的逻辑,用多路同频同相的信号驱动后续电路,是平均到每路德扇出变低,这样就不需要插入Buffer就能满足驱动能力增加的需求,从而节约该信号的路径延时。
    总之。模块复用节省面积,牺牲速度,而逻辑复制正好相反。。
    5.模块化设计
    就是自顶向下的设计方法。。不讨论了、很简单有很难得东西。
    6.时钟设计技巧
    尽量避免使用FPGA内部逻辑产生的时钟,因为它很容易导致功能或时序出现问题。内部组合逻辑产生的时钟容易出现毛刺,影响设计的功能实现;组合逻辑固有的延时也容易导致时序问题。
    如果采用内部组合逻辑产生的输出作为时钟信号或者异步复位信号,可能会不可避免的出现毛刺。如果此时信号正处于变换过程,那么它将违反建立时间和保持时间的要求,从而影响后续电路的输出状态,甚至导致整个系统运行失败。
    如果要减少毛刺,最好用时钟打一下。。达到同步处理的效果。
    对于设计中需要用到的分频时钟,应该尽量使用使能时钟,让分频信号作为使能信号来使用。
    FPGA重要设计思想 - 初学者 - 既然选择了远方,便只顾风雨兼程!
     

     

  • 相关阅读:
    【数据结构】线性表&&顺序表详解和代码实例
    【智能算法】超详细的遗传算法(Genetic Algorithm)解析和TSP求解代码详解
    【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
    【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解
    10. js时间格式转换
    2. 解决svn working copy locked问题
    1. easyui tree 初始化的两种方式
    10. js截取最后一个斜杠后面的字符串
    2. apache整合tomcat部署集群
    1. apache如何启动
  • 原文地址:https://www.cnblogs.com/yulone/p/4058882.html
Copyright © 2011-2022 走看看