如何有效进行FPGA设计优化?

FPGA技术江湖 2023-07-24 10:10

我们在FPGA设计过程中,通常会经历方案设计、模块划分、Coding、仿真、综合实现、调试等阶段,并且常常伴随着debug,对设计中的缺陷进行优化。

如何有效进行设计优化,一直是FPGA设计中绕不过的主题。对于FPGA工程师而言,用什么硬件编程语言做设计不是那么重要,用什么编辑器coding也不是那么重要。最重的是,用最短的时间,将整个设计从方案到调试完成。

对于逻辑设计而言,数字电路、信号处理和接口协议是设计的核心,我们需要从整个系统的设计角度去评估如何实现,资源和性能是否到达较好的折中。

RTL逻辑代码的编写固然重要,做好方案设计同样重要,并且结合EDA工具的编译特性进行设计也很重要。

最近高亚军老师针对Xilinx公司的FPGA设计优化问题,出版了《AMD FPGA设计优化宝典:面向Vivado/VHDL》以及《AMD FPGA设计优化宝典:面向Vivado/SystemVerilog》两本书,以便于针对使用不同的硬件描述语言。VHDL语法严谨,但比较冗长;verilog HDL是大部分工程师比较容易接受的语言,同时SystemVerilog作为Verilog的升级版,受到不少FPGA工程师和数字IC工程师的亲睐。

在设计优化前,我们需要确保设计的逻辑功能是正确的,并且需要确保优化后逻辑功能不受影响,鲁棒性更高。

正如高老师在本书的《前言》中的提到:

“设计收敛是FPGA工程师面临的一个重要课题:既要保证功耗收敛,又要保证时序收敛。两者均与设计自身有很大关系。”

“就代码风格而言,目前已有越来越多的工程师意识到其重要性。往往“良好的代码风格”能起到事半功倍的效果。“良好的代码风格”的一个重要指标就是代码风格与FPGA内部结构相匹配,保证综合工具能够完美地推断出期望结果,而这一点被很多工程师忽略。”

“就工具而言,Vivado的功能越来越强大,自身越来越智能,分析手段越来越多。这就需要工程师深入理解工具在各个阶段所提供的选项含义,能够在工程实践中正确、合理地使用这些选项对应的功能,同时,面对未能收敛的设计,能够找到其中的根本原因。”

FPGA设计优化中,高老师总结了9大优化领域:

AMD FPGA设计优化宝典》内容比较全面,介绍的方法多样,方便FPGA工程师在设计过程中采用适当的方法,达到设计优化的目的。

VHDL版和SV版大体上差不多,附带额外的新特性。

VHDL版为例,重点章节目录如下:

第1章:FPGA技术分析
第2章:优化时钟网络
第3章:优化组合逻辑
第4章:优化时触发器
第5章:优化移位寄存器
第6章:优化存储器
第7章:优化乘加运算单元
第8章:优化状态机
第9章:优化扇出
第10章:优化布线拥塞

由于FPGAIC设计讲究实战,只有通过实际检验才能哪些方法适用,我们在大大小小的项目中,会遇到各种各样的场景和问题。大部分问题都具有普遍性,这类问题具备可解决的方法,则借鉴以改善设计。一些特例或者低级错误导致的问题,尽量在设计过程中做好设计规划,养成良好的代码设计风格,并经过技术经验的积累,可以避免。

我们期望,可以通过优化时钟网络、优化设计中的组合逻辑、触发器和移位寄存器改善时序,优化存储器、乘加运算,适应底层逻辑单元以优化设计。

状态机的设计也是设计的重要部分,根据外部变化实现状态转移,并根据特定状态和输入数值来驱动输出,我们需要根据实际情况,选择是否需要设计状态机。我们知道,状态机如果不稳定,或者某些条件不满足导致卡死,很可能整个模块就挂掉。因此,必须设计安全状态机,具备高稳定性。如何优化状态机,高老师也从状态机的代码风格、状态机编码方式等给出了优化思路。

另外,如何优化高扇出,也是在设计中经常遇到的问题。高扇出网线会增加布局布线的压力,很容易导致时序违例。这是因为在布局时过高的扇出使得工具很难将扇出的驱动(源端)与所有的负载(目的端)放置得比较紧凑,从而使有些负载距离驱动比较远,导致线延迟比较大。如何降低扇出,高老师总结如下:

布线拥塞问题,是工程师们经常遇到的老大难问题。随着设计规模的增大和复杂度的提升,布线拥塞成为常见的问题,尤其是在用UltraScale FPGAUltraScale+FPGA时,布线拥塞往往成为时序收敛的瓶颈,也成为编译时间过长的“罪魁祸首”。笔者在工作项目中,也遇到过类似的情况,由于资源消耗多,系统复杂庞大,在实现阶段遭遇过直接布线失败的情况,通过查看log和实现报告,发现布线拥塞程度达到了6,布线遭遇困难在所难免。

高老师总结了布线拥塞的三种类型:全局拥塞、短线拥塞和长线拥塞。

我们可以通过Vivado工具查看拥塞报告,了解拥塞的类型及其根本原因,专业有助于我们解决布线拥塞问题。对于优化布线拥塞,我们依然可以从设计流程、约束、代码等方向入手,高老师总结缓解布线拥塞流程如下:

更多详细的设计优化方法,参阅《AMD FPGA设计优化宝典》书中的介绍,我们的目标是顺利完成设计,达到可交付的状态。

本文的目的不是为了打广告为作者做宣传卖书,我们以务实的态度,为有需要的工程师提供一种设计优化的解决途径。

由于VHDL和SV版本大同小异,什么语言并不重要,选择一本适合自己开发需要即可。关键是掌握这些优化方法,利用好Vivado设计环境,进而做好设计优化。

期望大家在设计后期,遇到相关的设计问题,翻一下书,多看看UG,说不定很快就解决了,少加班。

---完---

更多关于5G、卫星通信、FPGA、数字IC、通信算法等内容,可关注微信公众号【FPGA算法工程师】


- End -

福利】:QQ交流群173560979,进群备注名字+学校/企业。
淘宝店铺:https://shop588964188.taobao.com
论坛网址:www.sxznfpga.com
叁芯智能FPGA课程


往期精选 

 
 

汇总篇 | FPGA零基础学习系列

压缩算法 | 基于FPGA的Varint编码实现(附代码)

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

初学福利 | FPGA零基础课程系统性学习视频

时序分析理论和timequest使用_中文电子版

资料汇总|FPGA软件安装包、书籍、源码、技术文档…(2023.07.09更新)


FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注职业+方向+名字进群


FPGA技术江湖QQ交流群

备注地区+职业+方向+名字进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 116浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 44浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 170浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 143浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 68浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦