浅谈FPGA设计的基本原则

一、面积与速度的平衡互换原则
这里的面积指的是 fpga 的芯片资源,包括逻辑资源和 i/o 资源等;这里的速度指的是 fpga 工作的最高频率(和 dsp 或者 arm 不同,fpga 设计的工作频率是不固定的,而是和设计本身的延迟紧密相连)。 在实际设计中,使用最小的面积设计出最高的速度是每一个开发者追求的目标,但是“鱼和熊掌不可兼得”,取舍之间展示了一个开发者的智慧。
1. 速度换面积
速度优势可以换取面积的节约。面积越小,就意味着可以用更低的成本来实现产品的功能。速度换面积的原则在一些较复杂的算法设计中常常会用到。在这些算法设计中,流水线设计常常是必须用到的技术。在流水线的设计中,这些被重复使用但是使用次数不同的模块将会占用大量的 fpga 资源。对 fpga 的设计技术进行改造,将被重复使用的算法模块提炼出最小的复用单元,并利用这个最小的高速代替原设计中被重复使用但次数不同的模块。当然,在改造的过程中必然会增加一些其他的资源来实现这个代替的过程。但是只要速度具有优势,那么增加的这部分逻辑依然能够实现降低面积提高速度的目的。
可以看到,速度换面积的关键是高速基本单元的复用。
2、面积换速度
在这种方法中面积的复制可以换取速度的提高。支持的速度越高,就意味着可以实现更高的产品性能。一些注重产品性能的应用领域可以采用并行处理技术,实现面积换速度。
二。硬件可实现原则
fpga 设计通常会使用 hdl 语言,比如 verilog hdl 或者 vhdl。当采用 hdl 语言来描述一个硬件电路功能的时候,一定要确保代码描述的电路是硬件可实现的。
verilog hdl 语言的语法与 c 语言很相似,但是它们之间有着本质的区别。c 语言是基于过程的高级语言,编译后可以在 cpu 上运行。而 verilog hdl 语言描述的本身就是硬件结构,编译后是硬件电路。因此,有些语句在 c 语言的环境中应用是没有问题的,但是在 hdl 语言环境下就会导致结果不正确或者不理想。如:
for(i=0;i《16;i++)
dosomething();
在 c 语言中运行没有任何问题,但是在 verilog hdl 的环境下编译就会导致综合后的资源严重浪费。
三、 同步设计原则
同步电路和异步电路是 fpga 设计的两种基本电路结构形式。
异步电路的最大缺点是会产生毛刺。同步设计的核心电路是由各种触发器构成的。这类电路的任何输出都是在某个时钟的边沿驱动触发器产生的。所以,同步设计可以很好地避免毛刺的产生。


有什么适合打游戏的蓝牙耳机?玩游戏不延迟的蓝牙耳机推荐
充电桩行业仍处于快速发展期,头部企业逐渐星辰规模效应
人工智能与物联网重新定义未来的可能性
赛灵思宣布获得三星电子5G网络设备芯片交易合同
三星Galaxy新品发布会将于1月14日举行
浅谈FPGA设计的基本原则
LDO的行为及其有趣的参数
在先进的制造业工厂中 人才与AI机器的协作能力更加重要
正弦交流电量的相量表示
如何按捺变频器的谐波
小米11将首发高通骁龙875?
电源反馈光耦CTR值的影响
Vishay推出首款采用Power DFN系列DFN3820A封装的200 V FRED Pt® Ultrafast整流器
看看LTE-FDD和LTE-TDD到底有什么区别?
微型自供电温度传感器你知道什么吗
中美暂时的“停火”让全世界半导体产业都开始欢呼了
基于Verilog HDL语言的CAN总线控制器设计及验证
2025年RISC-V架构的处理器出货量将突破800亿颗
不同壳温下SOA曲线的计算方法
ALLEGRO 焊盘制作步骤