0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

速度面积互换设计原则简析

FPGA快乐学习 来源:FPGA快乐学习 作者:FPGA快乐学习 2023-04-10 11:07 次阅读

速度和面积一直都是FPGA设计中非常重要的两个指标。所谓速度,是指整个工程稳定运行所能够达到的最高时钟频率,它不仅和FPGA内部各个寄存器的建立时间余量、保持时间余量有关,也和FPGA与外部芯片接口信号的时序余量有关;

当然,由于FPGA的时钟频率通常很容易遇到瓶颈,所以有时我们更趋向于在特定时钟频率下,用单位时间内的数据吞吐量指标作为速度的衡量指标。所谓面积,就是一个FPGA工程运行所消耗的资源的多少。在FPGA资源相对单一匮乏的年代,工程师们可以简单的将逻辑资源等效为门数进行衡量;

而今天随着FPGA内嵌越来越多的存储器、乘法器、时钟单元、高速走线或高速收发器等资源,FPGA资源所涵盖的项目也越来越多。无论如何,设计者对这两个参数的关注将会贯穿整个设计的始终。

速度和面积始终是一对矛盾的统一体。速度的提高往往需要以面积的扩增为代价,而节省面积也往往会造成速度的牺牲。因此,如何在满足时序要求(速度)的前提下最大程度的节省逻辑资源(面积)是摆在每个设计者面前的一个难题。

如图3.12所示,假定当我们使用1倍的逻辑块处理数据,其时钟频率100Mhz,可以达到100Mbps的吞吐量。

5c887b5c-d68c-11ed-bfe3-dac502259ad0.jpg

图3.12 1倍资源的数据吞吐量示意图

而当我们的需求有所改变,希望数据吞吐量达到300Mbps。你可能觉得,这不挺简单,如图3.13所示,直接让时钟频率调整到300MHz不就可以了。但凡有一定实践经验的工程师都要抗议了,一般的FPGA器件,除非你的逻辑功能非常简单,否则要跑到300MHz谈何容易。

笔者用得比较多的是Xilinx中低端的Artix-7和Kintex-7系列的FPGA器件,通常也不太敢随便使用超过200MHz的时钟频率。时钟频率不仅受限于器件本身的工艺,也和设计逻辑的复杂性密切相关。所以一般而言,通过直接提高时钟频率来提升系统数据吞吐量的方法只在原时钟频率较低的情况下可行,但原本时钟频率就偏高的情况下是不可行的。

5c9f0a02-d68c-11ed-bfe3-dac502259ad0.jpg

图3.13 3倍时钟频率的数据吞吐量示意图

当系统时钟频率已经接近上限,或由于某些其它因素无法随意提升的情况下,更一般的做法,如图3.13所示,就是使用3倍的逻辑资源,即3倍的逻辑块,这就是简单的以面积换速度(牺牲面积,换取速度)的思想,反之,就是速度换面积(牺牲速度,换取面积)的思想。

5cb4c1d0-d68c-11ed-bfe3-dac502259ad0.jpg

图3.13 3倍资源的数据吞吐量示意图

速度和面积互换原则也可以应用在一般逻辑的性能优化上。比如在FPGA开发工具中,通常也会提供一些预设好的综合优化策略,设计者可以在速度或面积等方面采取不同的综合偏好,这样就把整个代码的优化工作交由工具来实现。当然,综合工具只能在现有代码基础上做一些小范围的修修改改,达到优化的目的,一些大的性能优化还是需要靠设计者自己的代码实现。

以Xilinx的Vivado开发工具为例,如图3.14所示,在Setting -> Synthesis页面的Options ->Strategy选项中,默认采取的综合策略是一个速度和面积比较平衡的Vivado SynthesisDefaults策略。这里我们可以尝试一下将默认策略修改为Flow_PerfOptimized_high,然后看看编译后的资源和时序性能发生了什么样的变化。

5cc5af90-d68c-11ed-bfe3-dac502259ad0.jpg

图3.14 Vivado综合优化选项

以一个图像采集和显示的实例工程(note10_prj001)进行比对。如图3.15所示,使用默认策略的综合消耗了5798个LUT。如图3.16所示,使用高性能优化策略的综合则消耗了5878个LUT,多消耗了80个LUT。

5cdfb9da-d68c-11ed-bfe3-dac502259ad0.jpg

图3.15 默认综合策略的资源报告

5cf726b0-d68c-11ed-bfe3-dac502259ad0.jpg

图3.16 高性能优化策略的资源报告

再来看时序性能,我们挑选驱动负载最大的两个时钟做比对。如图3.17和图3.18所示,可以看到,时钟负载最大的clk_out2的建立时间余量(WNS)和保持时间余量(THS)都略微有所提升;但时钟负载次之的clk_out3的两个余量参数反而都略微下降了。

5d04c9aa-d68c-11ed-bfe3-dac502259ad0.jpg

图3.17 默认总和策略的时钟报告

5d12620e-d68c-11ed-bfe3-dac502259ad0.jpg

图3.18 高性能优化策略的时钟报告

由此看来,关于速度和面积互换的思想,综合工具虽然提供了一些整体的代码性能优化手段,但是它对整体性能的提升充其量不过是个“小打小闹”的级别,最主要的优化其实还是要靠写代码的设计者。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA设计
    +关注

    关注

    9

    文章

    428

    浏览量

    26511
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163765
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131451
  • 乘法器
    +关注

    关注

    8

    文章

    205

    浏览量

    37043
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68525

原文标题:经典设计思想:速度面积互换原则

文章出处:【微信号:FPGA快乐学习,微信公众号:FPGA快乐学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    新能源电池产业链及投资机会-磷酸亚铁锂

    新能源电池产业链及投资机会-磷酸亚铁锂  一、前言
    发表于 12-25 09:34 991次阅读

    基于ATM理念的UTRAN传输架构

    基于ATM理念的UTRAN传输架构:UTRAN(UMTS无线接入网)系统传输网承载其内部业务传送及至CN(核心网)侧的业务汇聚功能,考虑3G网络内,话音、媒体流及Internet等数据业务的多样
    发表于 10-22 10:49 15次下载

    电动汽车用锂离子电池技术的国内外进展

    电动汽车用锂离子电池技术的国内外进展
    发表于 11-10 13:53 793次阅读

    PCB线路板电镀铜工艺

    PCB线路板电镀铜工艺   一.电镀工艺的分类:   酸性光亮铜电镀电镀镍/金电镀锡   二.工艺流程:
    发表于 11-17 14:01 4021次阅读

    EPON技术

    EPON技术 EPON是一个新技术,用于保证提供一个高品质与高带宽利用率的应用。   EPON在日本、韩国、中国大陆、中国台湾及其它以以太网络为基础的地区都
    发表于 01-22 10:43 867次阅读

    笔记本屏幕亮度与反应速度

    笔记本屏幕亮度与反应速度 屏幕亮度   笔记本TFT-LCD的亮度值一般都在150~200 cd/m2(极少数可以
    发表于 01-23 09:34 769次阅读

    BGA封装技术与质量控制

    BGA封装技术与质量控制   SMT(Surface Mount Technology)表面安装技术顺应了电子产品小型化、轻型化的潮流趋势,为实现电子
    发表于 03-30 16:49 1486次阅读

    鼠标HID例程(中)

    鼠标 HID 例程 紧接《鼠标 HID 例程(上)》一文,继续向大家介绍鼠 标 HID 例程的未完的内容。
    发表于 07-26 15:18 0次下载

    笼型三相异步电动机噪声故障

    笼型三相异步电动机噪声故障_陈金刚
    发表于 01-01 15:44 1次下载

    FPGA设计的十五条原则详细解析

    1、硬件设计基本原则 (1)速度面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计要求,能可以通过模块复用来减少整
    的头像 发表于 12-19 17:19 6397次阅读

    浅谈FPGA设计的基本原则

    一、面积速度的平衡互换原则 这里的面积指的是 FPGA 的芯片资源,包括逻辑资源和 I/O 资源等;这里的
    的头像 发表于 02-03 15:30 637次阅读

    5G AAU 功放控制和监测模块

    5G AAU 功放控制和监测模块
    发表于 10-28 12:00 2次下载
    5G AAU 功放控制和监测模块<b class='flag-5'>简</b><b class='flag-5'>析</b>

    RTL设计指导原则面积速度互换

    一般来说,面积是一个设计所消耗的目标器件的硬件资源数量或者ASIC芯片的面积
    的头像 发表于 06-05 15:46 1336次阅读
    RTL设计指导<b class='flag-5'>原则</b>之<b class='flag-5'>面积</b>和<b class='flag-5'>速度</b><b class='flag-5'>互换</b>

    FPGA速度-面积互换原则设计

    速度-面积互换原则是贯穿FPGA设计的重要原则速度是指工程稳定运行所能达到的最高时钟频率,通常
    的头像 发表于 06-09 09:36 1729次阅读
    FPGA<b class='flag-5'>速度</b>-<b class='flag-5'>面积</b><b class='flag-5'>互换</b><b class='flag-5'>原则</b>设计

    AFE8092帧同步特性

    AFE8092帧同步特性
    的头像 发表于 08-24 13:37 645次阅读
    AFE8092帧同步特性<b class='flag-5'>简</b><b class='flag-5'>析</b>