信盈达教育

线上线下结合教学

学校课程咨询服务:
400-888-4846
培训世界 >信盈达教育 >新闻中心 >FPGA设计的8大重要知识点

FPGA设计的8大重要知识点

2023-02-09 10:57:29来源: 信盈达教育
FPGA设计的8大重要知识点
导读:

文章详情

  FPGA设计的8大重要知识点,你了解吗?想转行互联网,却又不知道如何选择,一直很迷茫、踌躇,现在不必再担忧,26门热门互联网技术免费试听5天,你可以先试听,再决定!信盈达——您身边的嵌入式培训专家!

FPGA设计的8大重要知识点


  1.面积与速度的平衡与互换
  这里的面积指一个设计消耗FPGA/CPLD的逻辑资源的数量,对于FPGA可以用消耗的FF(触发器)和LUT(查找表)来衡量,更一般的衡量方式可以用设计所占的等价逻辑门数。
  速度指设计在芯片上稳定运行所能达到的最高频率,这个频率由设计的时序状况来决定,以及设计满足的时钟要求:PAD to PAD time,Clock Setup Time,Clock Hold Time,Clock-to-Output Delay等众多时序特征量密切相关。
  面积和速度这两个指标贯穿FPGA/CPLD设计的时钟,是设计质量的评价的终极标准——面积和速度是一对对立统一的矛盾体。
  要求一个同时具备设计面积最小,运行频率最高是不现实的。更科学的设计目标应该是在满足设计时序要求(包括对设计频率的要求)的前提下,占用最小的芯片面积。或者在所规定的面积下,是设计的时序余量更大,频率跑的更高。这两种目标充分体现了面积和速度的平衡的思想。
  2.硬件原则
  硬件原则主要针对HDL代码编写而言:Verilog是采用了C语言形式的硬件的抽象,它的本质作用在于描述硬件,它的最终实现结果是芯片内部的实际电路。所以评判一段HDL代码的优劣的最终标准是:其描述并实现的硬件电路的性能,包括面积和速度两个方面。
  初学者片面追求代码的整洁,简短,是错误的,是与HDL的标准背道而驰的。正确的编码方法,首先要做到对所需实现的硬件电路胸有成竹,对该部分的硬件的结构和连接十分清晰,然后再用适当的HDL语句表达出来即可。
  3.系统原则
  系统原则包含两个层次的含义:更高层面上看,是一个硬件系统,一块单板如何进行模块花费和任务分配,什么样的算法和功能适合放在FPGA里面实现,什么样的算法和功能适合放在DSP/CPU里面实现,以及FPGA的规模估算数据接口设计等。具体到FPGA设计就要对设计的全局有个宏观上的合理安排,比如时钟域,模块复用,约束,面积,速度等问题,在系统上模块的优化最为重要。
  比如FPGA一般触发器资源丰富,CPLD的组合逻辑资源更加丰富。FPGA/CPLD一般是由底层可编程硬件单元,BRAM,布线资源,可配置IO单元,时钟资源等构成。
  一般的FPGA系统规划的简化流程
  4.同步设计原则
  异步电路的逻辑核心是用组合逻辑电路实现,比如异步的FIFO/RAM读写信号,地址译码等电路。电路的主要信号,输出信号等并不依赖于任何一个时钟性信号,不是由时钟信号驱动FF产生的。异步时序电路的缺点是容易产生毛刺,在布局布线后仿真和用逻辑分析仪观测实际信号时,这种毛刺尤其明显。
  同步时序电路的核心逻辑用各种各样的触发器实现,电路的主要信号,输出信号都是由某个时钟沿驱动触发器产生出来的。同步时序电路可以很好的避免毛刺,布局布线后仿真,和用逻辑分析仪采样实际工作信号都没有毛刺。
  5.乒乓操作
  “乒乓操作”是一个常常应用于数据流控制的处理技巧,乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM),单口RAM(SPRAM),FIFO等。
  6.串并转换设计技巧
  串并转换是FPGA设计的一个重要技巧,它是数据流处理的常用手段,也是面积与速度互换思想的直接体现。串并转换的实现方法多种多样,根据数据的排序和数量的要求,可以选用寄存器,RAM等实现。
  7.流水线操作设计思想
  首先需要声明的是,这里所讲述的流水线是指一种处理流程和顺序操作的设计思想,并非FPGA,ASIC设计中优化时序所用的“Pipelining”。
  流水线处理是高速设计中的一个常用设计手段。如果某个设计的处理流程分为若干步骤,而且整个数据处理是“单流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以考虑采用流水线设计方法来提高系统的工作频率。
  8.数据接口的同步方法
  数据接口的同步是FPGA/CPLD设计的一个常见问题,也是一个重点和难点,很多设计不稳定都是源于数据接口的同步有问题。在电路图设计阶段,一些工程师手工加入BUFT或者非门调整数据延迟,从而本级模块的时钟对上级模块数据的建立,保持时间要求。
  还有一些工程师为了有稳定的采样,生成了很多相差90度的时钟信号,时而用正沿打一下数据,时而用负沿打一下数据,用以调整数据的采样位置。这两种做法都十分不可取,因为一旦芯片更新换代或者移植到其它芯片组的芯片上,采样实现必须重新设计。而且,这两种做法造成电路实现的余量不够,一旦外界条件变换(比如温度升高),采样时序就有可能完全紊乱,造成电路瘫痪。

信盈达教育

信盈达培训机构(以下简称信盈达)2008年在深圳市南山高新科技园成立。成立至今专注为企业和高校提供高端嵌入式、物联网、人工智能、机器人等方面的方案设计、教研设备和相关技术服务。

展开更多

咨询热线:400-888-4846

课程导航

1