FPGA面试题【FPGA如何进行资源评估】

这篇具有很好参考价值的文章主要介绍了FPGA面试题【FPGA如何进行资源评估】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

题目

核心思路

答案

FPGA全貌

题目

FPGA如何进行资源评估

核心思路

八股文咯

答案

大家在项目中一般会要遇到需要资源评估的情况,例如立了新项目,前期需要确定使用什么FPGA片子,做到成本越小越好。这就要对即将要实现的功能进行下资源评估。

如何评估
1、你需要一个参考工程
一般来说你首先需要一个参考工程,不会什么代码都没编写的时候就进行资源评估,再怎么厉害也不至于凭空就能想象出一个大型工程会用到多少资源。
所以我们在做一个全新系列的项目时,设计要先行。要把代码编写的七七八八后才能进行资源评估,功能不要求正确,但该有的模块必须都挂上,这样才能比较准确的通过vivado工具来得到大致的资源消耗

2、如果是大部分的模块都是比较成熟的情况下
那么我们可以在之前的项目中,就把那些重点模块的资源都统计出来。在新的衍生项目中,画出基本的实现框图后,基本就可以清楚新的项目中这些模块哪些需要用到,用到的需要例化几次,这样就能够快速得到评估结果。

哪些资源需要评估
主要是以下四类
LUT 逻辑资源
FF 触发器资源
BRAM 存储器资源
DSP 乘法器资源

fpga资源评估,FPGA面试通关宝典,fpga开发,面试

 那么得到评估结果后是不是这四种资源都不超过100%,就是可以实现的呢。
那肯定不是的了,按照个人经验
一般来说LUT和FF最好在70%左右,再多有可能会出现编译不过的情况了,BRAM和DSP可以更多一点。这个东西没有一个绝对的说法,跟主观经验有关
如果同类型的项目做的比较多,对资源的把握也就心里有数了
 

FPGA全貌

第1节 什么是 FPGA
FPGA 的全称为 Field-Programmable Gate Array,即现场可编程门阵列。 FPGA 是在 PAL、 GAL、 CPLD 等可编程器件的基础上进一步发展的产物, 是作为专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 简而言之, FPGA 就是一个可以通过编程来改变内部结构的芯片。

FPGA 功能实现:需要通过编程即设计硬件描述语言,经过 EDA 工具编译、综合、布局布线成后转换为可烧录的文件,
最终加载到 FPGA 器件中去,改变 FPGA 内部的连线,最终完成所实现的功能。

FPGA 性能对比:FPGA 相比于单片机、 CPU 等集成电路芯片拥有效率更高、功耗更低的特点,但是易于开发程度远远不如单片机、 CPU; 在数字芯片设计领域, FPGA 虽然相比 ASIC 具有更短的开发周期与开发难度, 但是其存在着成本过高、性能较差并且在资源的利用率上远不及 ASIC 等问题,不能真正的替代 ASIC。

第2节 FPGA 的基本结构
FPGA 可编程的特性决定了其实现数字逻辑的结构不能像专用 ASIC 那样通过固定的逻辑门电路来完成,而只能采用一种可以重复配置的结构来实现, 而查找表(LUT)可以很好地满足这一要求,目前主流的 FPGA 芯片仍是基于 SRAM 工艺的查找表结构。

FPGA 芯片参数指标:包含可编程逻辑模块的数量、固定功能逻辑模块(如乘法器)的数目及存储器资源(如嵌入式 RAM)的大小。

在最底层的可配置逻辑模块(如片上的逻辑单元) 上,存在着基本的两种部件:触发器和查找表( LUT) , 而触发器和查找表的组合方式不同,是各个 FPGA 家族之间区别的重要依据, 并且查找表本身的结构也可能各不相同( 有 4 输入或 6 输入或其他)。

查找表( Look-Up-Table)简称为 LUT, 其本质上就是一个 RAM。目前 FPGA 内部中多使用 4输入的 LUT,每一个 LUT 可以看成一个有 4 位地址线的 RAM。

当用户在 EDA 工具上通过原理图或 硬件描述语言设计了一个逻辑电路以后, FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM 中。 这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查找表操作, 通过地址找到对应的 RAM 中的结果, 最后将其输出。以实现数字逻辑 Y=A&B&C 的功能为例。如果是在专用 ASIC 中,为了实现该逻辑,逻辑门都已经事先确定好, Y 的输出值为两个逻辑与运算后的结果,其基本的实现结构如下图所示:

对Y=A&B&C 的 利用FPGA 实现基本结构 :

第3节 更为复杂的 FPGA 架构
随着技术的发展和工艺节点的进步, FPGA 的容量和性能在不断提高的同时, 其功耗却不断的优化减少。 2006 年以前四输入查找表一直被广泛使用, 在一些高端器件可能会用上六输入、八输入或更多输入端口的查找表。 而一个多输入的查找表又可以分解成较小输入的查找表, 即能够分裂成许多更小的功能。 例如一个八输入的查找表可以分解成两个四输入的查找表或分解成一个三输入加一个五输入的查找表。在实际的高端器件中,这种可编程构造可以描述相当于百万级(有时甚至千万级)的原始逻辑门。

在 FPGA 内部,利用 FPGA 的可编程性在芯片内部构造实现了一个计数器逻辑,有着“软内核”与“硬内核”之分。

软内核(软功能):在构造计数器逻辑过程中使用到的功能便可以被称为软功能。

硬内核(硬功能):功能若是直接利用芯片实现的,则是利用了芯片内部的硬功能。

软内核与硬内核之间优势互补,软内核的优势在于可以在利用芯片资源的基础上利用编程设计让其完成需要实现的任何功能(注意是数字功能,不包括模拟功能)。 而**硬内核由于是实现固定功能的器件,因此其优势在于资源利用率高且功耗较低, 占用硅片的面积也较小, 并具有较高的性能。最重要的区别**在于:与软内核相比硬内核可用于实现模拟功能, 例如锁相环的倍频功能,这个功能需要在模拟电路下实现,所以这一部分是在 FPGA 内部用硬件来实现的 。文章来源地址https://www.toymoban.com/news/detail-830821.html

到了这里,关于FPGA面试题【FPGA如何进行资源评估】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AMD FPGA设计优化宝典笔记(4)复位桥

    高亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发器、移位寄存器、存储器、乘加运算单元、状态机、扇

    2024年02月20日
    浏览(36)
  • FPGA如何根据原理图进行约束------(基础详细教程)

    目录 一、约束时钟引脚(如CLK) 二、约束与按键相连引脚(如RST) 首先我们需要找到晶振,时钟大多数由晶振产生。 打开原理图,晶振一般在原理图中使用大写“X”或“Y”开头。 1、单端时钟 下图是一个单端时钟,时钟频率一般会在原理图中标明。(若没有在原理图中标出

    2024年02月02日
    浏览(33)
  • AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出

    亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触发器、移位寄存器、存储器、乘加运算单元、状态机、扇出

    2024年02月19日
    浏览(40)
  • 推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。

    📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五公里、徒步爬过衡山、🔥有过三个

    2024年02月08日
    浏览(54)
  • FPGA上基于Verilog的TCP乱序重排算法实现及性能评估

    基于fpga的tcp乱序重排算法实现,通过verilog实现适用于fpga的tcp乱序重排算法,并通过实际数据测试验证。 代码里包含注释,可以明白每个模块的含义。 采用自创的乱序重排算法,易于在硬件中实现。 该算法和工程可用于实际应用、算法设计、研究学习。 提供测试用的抓包文

    2024年04月13日
    浏览(42)
  • FPGA时钟资源详解(3)——全局时钟资源

     FPGA时钟系列文章总览: FPGA原理与结构(14)——时钟资源 https://ztzhang.blog.csdn.net/article/details/132307564         全局时钟是 FPGA 中的一种专用互连网络,旨在将时钟信号分配到 FPGA 内各种资源的时钟输入处。这种设计考虑了时钟信号在整个芯片上的传播,确保了低偏斜(

    2024年04月27日
    浏览(44)
  • FPGA时钟资源详解(4)——区域时钟资源

     FPGA时钟系列文章总览: FPGA原理与结构(14)——时钟资源 https://ztzhang.blog.csdn.net/article/details/132307564 目录 一、概述 二、Clock-Capable I/O 三、I/O 时钟缓冲器 —— BUFIO 3.1 I/O 时钟缓冲器 3.2 BUFIO原语 四、区域时钟缓冲器——BUFR  4.1 区域时钟缓冲器 4.2 BUFR原语 五、区域时钟网

    2024年04月26日
    浏览(44)
  • FPGA内部资源介绍(1)-逻辑资源块

    近期有许多小伙伴私信小编,希望小编出一些FPGA基础知识,能对FPGA有初步的认识。小编立马奋笔疾书,熬夜整理了一些学习FPGA必备的基础知识,双手呈上~~,每天一个干货,一星期带你入门FPGA! 敲黑板!都是干货! 逻辑资源块是FPGA中最重要的资源,它在FPGA芯片中占的比重

    2024年04月09日
    浏览(72)
  • Xlinx FPGA如何在软件开发端使用XSCT工具直接对寄存器进行读和写调试

    当我在开发ZYNQ过程中使用PL-PS 的IP核之间相互使用,那么就得需要对IP核中所定义的寄存器进行读和写,那么在软件端有这么一个叫XSCT的工具来进行操作。 例子1:接下来使用XSCT来调试串口对数据上下行传输读/写。 以下是官方 AXI UART Lite ip核的寄存器列表 xsct%: mwr 0x42c00004

    2024年01月16日
    浏览(45)
  • FPGA 底层资源相关介绍

    Xilinx FPGA底层资源介绍 本文转载自:瓜大三哥微信公众号 XILINX FPGA 芯片整体架构如下所示,整个芯片是以BANK进行划分的,不同的工艺、器件速度和对应的时钟具有不同的BANK数量(下面截图是以K7325tffg676为例):左边的BANK都是HR BANK,右侧的最下面三个是HP BANK,最上面的四个

    2024年01月23日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包