Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

这篇具有很好参考价值的文章主要介绍了Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

          Vivado HLS是将基于C/C++描述的算法转化成相应的RTL代码,最终在FPGA上实现。这就要求软件工程师对FPGA的内部架构有一些基本的认识,目的在于保证生成的RTL代码在性能和资源上能够达到很好的平衡。实际上,C语言与FPGA是有一些对应关系的。比如:

C语言中的数组可对应于FPGA中的寄存器、分布式RAM、Block RAM或者UltraRAM

        C语言中的乘加运算可对应于FPGA中的乘加运算单元(DSP48)

        但不同于硬件工程师,对于FPGA内部其他资源比如高速收发器等,软件工程师可不必了解。

        本讲从软件工程师的视角重点介绍FPGA内部常规逻辑单元,包括查找表(LUT)、乘加运算单元(DSP48)、存储单元(Block RAM)。这三类资源在算法开发中或多或少都会用到,在Vivado HLS的综合报告中也有所体现。

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

1. VIVADO HLS的设计流程

2. C/C++表述算法时的代码风格

3.FOR循环的优化方法

4.数组的优化方法

5.I/O端口的实现方式

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

FPGA包括传统FPGA,其中包括7-series ,UltraScale,UltraScale+,而SOC系列包括Zynq-7000和Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构UltraScale+ MPSOC.FPGA被称为液态硬件。

 

CPU,DSP和GPU都属于软件可编程。

CPU:管理和调度,文件的管理和人机交互。

DSP:算法方面有所加强

GPU:可以同时执行多个进行,适用于大块数据流传输。

面对大数据量时的解决方法:

1.提高主频

2.增加并行度

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

FPGA属于硬件可编程

1.内部包含大量乘法单元,算法方面有很高的并行度。

2.ARM内嵌,提高管理能力

3.功耗有所改善

4.采用C/C++编程

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

FPGA架构

其中包括可编程逻辑单元,布线资源和可编程I/O资源。

软件工程师应更多的关注存储单元,算术逻辑单元和逻辑单元。

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

逻辑单元:包括LUT,MUX,FF等

实现加法运算需使用查找表。

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

DSP资源实现乘法,乘累加等计算

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

对于大块数据存储使用BRAM,小于1kb时使用LUT资源即可。

其中BRAM由18kb单元构成,而18kb单元可以构成4种类型的存储单元,包括36kb的BRAM和36KB的FIFO,18kb的BRAM和18KB的FIFO,18kb的BRAM和18kb的BRAM。

可以通过6种模式进行体现,包括单端口ram,简单双端口ram,真双端口RAM,单端口ROM,双端口ROM和FIFO。

数组进行综合时会映射成RAM的资源。

软件工程师进行编程时需要了解的内容。

Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构

 

1. 应当了解FPGA内部每个单元的功能

2 具体算法的操作和FPGA单元功能对应的关系

3. 算法模型的资源利用率

4. 优化的方法文章来源地址https://www.toymoban.com/news/detail-494205.html

到了这里,关于Vivado HLS 第1讲 软件工程师该怎么了解FPGA架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 软件工程师,AI手机元年到来,我们怎么办

    概述         OPPO创始人、总裁、CEO陈明永在2024年2月18日发表了名为《开启AI手机新时代》的内部信。陈明永认为:“2024年是AI手机元年。未来五年,AI对手机行业的影响,完全可以比肩当年智能手机替代功能机”。他预测AI手机时代将成为继功能机、智能手机之后,手机行

    2024年02月21日
    浏览(51)
  • 月薪过 3w 的 软件测试工程师 都是怎么做到的?

    对任何职业而言,薪资始终都会是众多追求的重要部分。前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。 当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、

    2023年04月19日
    浏览(65)
  • 软件测试工程师面试如何描述自动化测试是怎么实现的?

    软件测试工程师面试的时候,但凡简历中有透露一点点自己会自动化测试的技能点的描述,都会被面试官问,那你结合你的测试项目说说自动化测试是怎么实现的?一到这里,很多网友,包括我的学生,也都一脸懵逼的样子。 有心放弃吧,但是看着那么高的薪资,还是很眼热

    2024年02月13日
    浏览(81)
  • FPGA工程师面试——时序约束

    答: 时序约束主要包括 周期约束,偏移约束,静态时序路径约束 三种。通过附加时序约束可以综合布线工具调整映射和布局布线,是设计达到时序要求。 策略:附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时,首先定

    2024年02月11日
    浏览(42)
  • 【FPGA实验1】FPGA点灯工程师养成记

    对于FPGA几个与LED相关的实验(包括按键点灯、流水灯、呼吸灯等)的记录,方便日后查看。这世界上就又多了一个FPGA点灯工程师了😏 一、按键点灯 按键点灯程序比较简单,就不搞仿真了,直接上机 1、按键点灯程序 由程序得到的RTL图: 2、硬件实现 (1)引脚分配与接线

    2024年02月02日
    浏览(61)
  • FPGA工程师面试——基础知识

    答:系统设计电路构思,设计说明与设计划分, 电路设计与输入(HDL代码、原理图), 功能仿真与测试, 逻辑综合, 门级综合, 逻辑验证与测试(综合后仿真), 布局布线, 时序仿真, 板级验证与仿真, 加载配置, 在线调试。 答:需要的逻辑资源、应用的速度要求,

    2024年02月09日
    浏览(48)
  • 后端开发工程师需要了解的数据库知识

      作为一为 Java 开发工程师,写数据的查询 SQL 是必备的技能。在 日常生活中,是否统计过读数据和写数据的频率。以来开发经验来说,查询数据的操作语言是多于写数据的。   有的信息系统,数据只初始化一次,甚至是服务一辈子。   接触过很多的 web 开发系统,都是为

    2024年02月08日
    浏览(54)
  • 华为资深工程师带你了解华为七大根技术

    看得见的是产品,看不见的是背后的基础研究和技术创新。 根技术是技术树之根,持续为技术树提供滋养,决定企业的荣枯。 华为技术有限公司在全球有超80+基础技术实验室,170+联合实验室、创新实验室;研发人员11.4万名,占比55.4%,每年研发投入占销售收入10% ,全球持有

    2024年02月07日
    浏览(54)
  • 面试(软件实施工程师)

    应聘软件实施工程师时,面试时常会问到的问题。 在面试时面试官常问的几个问题做一个总结。 专业能力,工作思维,软实力,意识,进取心。我们要具有项目进度、优先级别、质量观念和服务意识。 1、具有扎实的计算机专业知识。这是软件开发人员能够从事软件一切工作

    2024年02月16日
    浏览(49)
  • 软件测试工程师

    一、什么是软件测试? 1、定义:使用技术手段验证软件是否满足使用需求 2、目的:减少软件缺陷,保障软件质量。 二、主流技术: 1、功能测试:验证程序的功能是否满足需求 2、自动化测试:使用代码或工具代替手工,对项目进行测试 3、接口测试:有硬件接口、软件接

    2023年04月10日
    浏览(89)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包