通信人家园

标题: FPGA设计原则  [查看完整版帖子] [打印本页]

时间:  2009-10-18 22:03
作者: chuxian1320     标题: FPGA设计原则

<转>
      一 .   面积与速度折衷原则
    面积和速度是ASIC芯片设计中一对相互制约、影响成本和性能的指标,贯穿FPGA设计的始终。在FPGA设计中,面积是指一个设计消耗的FPGA内部逻辑资源的数量,可以用消耗的触发器和查找表的个数或者是等效逻辑门数来衡量;速度是指一个设计在FPGA上稳定运行时所能达到的最高频率,由设计时序状态决定。
    关于面积和速度的折衷,应在满足设计时序和工作频率要求的前提下,占用最小的芯片面积;或者在所规定的面积下,使得设计的时序余量最大,能够在更高的频率上稳定运行。通常,在资源足够的情况下,更多是选择速度的最优,这也是FPGA的特点。在具体设计中,应根据具体性能指标要求,在保证系统功能和性能的同时,降低资源消耗从而降低功耗和成本。
二 .    硬件原则
    第二个原则是硬件原则。
    首先,要注意FPGA的逻辑设计所采用的硬件描述语言VHDL或Verilog与软件语言C和C++有本质区别,在使用硬件描述语言进行设计时,不应片面追求代码的简洁。
    其次,要采用正确的编码方法。要对所需实现的硬件电路的结构和相互连接有清晰的理解和构想,然后再用适当的VHDL语言表达出来。实际上综合软件对所写的代码在进行推论的时候,得到的硬件结果会因编码方式的不会而不同,直接影响硬件的实现。
三 .   系统原则
    第三个原则是系统原则。FPGA作为硬件系统设计,应该对设计全局进行宏观上的合理安排,包括逻辑功能模块划分、时钟域信号的产生和驱动、模块复用、时序或引脚约束、面积速度折衷等。这些系统上的考虑不仅关系到是否能够最大程度地发挥项目成员的协同设计能力,而且直接决定着设计的综合、实现效果和相关的操作时间。
    模块化设计是系统原则的一个很好体现,它是自顶向下、模块划分、分工协作设计思路的集中体现,是大型复杂系统的推荐设计方法。图1是模块化设计的简单流程。
四 .   同步原则
    在设计电路时,可以有异步电路和同步电路两种实现方法。异步电路使用组合逻辑电路实现,没有统一的时钟信号,容易产生毛刺和竞争冒险;同步时序电路使用组合逻辑和触发器实现电路功能,主要信号和输出信号都由时钟驱动触发器产生,能够避免毛刺,信号稳定。

   
    ·从资源使用方面考虑,推荐使用同步设计。虽然在ASIC设计中同步电路比异步电路占用的面积大,但是在FPGA中,是以逻辑单元衡量电路面积的,所以同步设计并不比异步设计浪费资源。
    ·从延迟设计方面考虑,异步电路的延时靠门延时来实现,比较难预测;同步电路使用计数器或触发器实现延时。
    ·同步设计时钟信号的质量和稳定性决定了同步时序电路的性能,FPGA的内部有专用的时钟资源,如全局时钟布线资源、专用的时钟管理模块DUL、PLL等。
    ·目前商用的FPGA都是面向同步的电路设计而优化的,同步时序电路可以很好地避免毛刺,提倡在设计中全部使用同步逻辑电路。特别注意,不同的时钟域的接口需要进行同步。

[ 本帖最后由 1997deman 于 2009-10-21 17:09 编辑 ]
时间:  2009-10-22 17:14
作者: 爱你无悔


时间:  2009-10-22 21:25
作者: yzlniu

学习了,谢谢!




通信人家园 (https://www.txrjy.com/) Powered by C114