• 0
  • 0
分享
  • FPGA可重构技术详解——软件测试圈
  • 曼倩诙谐 2022-04-12 09:41:11 字数 1729 阅读 2381 收藏 0

  FPGA可重构技术就是通过上位机控制在FPGA运行过程中加载不同的Bitstream文件,FPGA芯片根据文件内的不同逻辑将内部的资源全部或部分进行重新配置以达到多种功能任务动态切换的目标,从而提高了使用FPGA进行开发的灵活度。

  FPGA芯片本身就具有可以反复擦写的特性,允许FPGA开发者编写不同的代码进行重复编程,而FPGA可重构技术正是在这个特性之上,采用分时复用的模式让不同任务功能的Bitstream文件使用FPGA芯片内部的各种逻辑资源,使得同一个逻辑电路在不同时间段上加载不同的功能模块。从时间轴上看,系统的每一项任务功能在FPGA芯片上依次执行,系统的整体功能全部得以实现。从局部看,FPGA只执行了一项小任务,而从整体看,FPGA完成了整个系统任务。使用一块FPGA芯片完成了需要多块FPGA芯片的任务,由此可见FPGA内部资源的利用率得到很大提升。

  FPGA上的可重构技术根据FPGA芯片内部的不同结构可以分为两种,分别是动态可重构和静态可重构。如果FPGA芯片是常规的SRAM结构,那么它只能做到静态可重构,重构过程必须首先发送中断指令停止正在运行的程序,之后再把全新的Bitstream文件加载到FPGA上。而如果FPGA芯片是特殊结构,那么它就可以进行动态可重构,重构过程可以在FPGA运行时期进行,动态可重构不但可以在系统运行时期随时改变模块参数,甚至可以在系统运行时期在FPGA内部的可重构区域动态重构电路逻辑。

  FPGA的动态可重构又可以分为动态全局可重构和动态局部可重构。动态全局可重构是指上位机给FPGA芯片加载一个全新的配置文件,而这个配置文件包含了新的任务需求所要涉及的整片FPGA内所有资源,从而实现FPGA重新配置,上一个任务实现的所有逻辑电路将全部消除。在重构操作执行前,首先在外挂存储器中加载多个不同任务需求的配置文件,同时每个配置文件中都包含该任务所需要涉及的FPGA芯片全部逻辑资源。正是因为每一个配置文件都包含了整块FPGA芯片的所有资源,所以动态全局可重构只能从外挂存储器中选择将一个配置文件加载到FPGA芯片中。当这个配置文件对应的任务结束后,再选择另一个新的配置文件加载到FPGA芯片中,通过不同配置文件的分时加载实现系统功能任务的切换。

  这种动态全局可重构的实现方式比较容易,只需要在配置文件中写入该功能任务所包含的FPGA全部资源,但是这种实现方式因为包含全部资源而导致文件较大,配置的时间也就相应变长。尤其是在两个功能任务对应的逻辑电路相差不大的配置文件先后进行重构时,本可以只改变相差部分的逻辑电路,却要对FPGA芯片内部的全部资源重新进行改变。

  相比于动态全局可重构,动态局部可重构具有更大的灵活性。它只需要针对两个功能需求之间不同的部分逻辑功能生成配置文件,并加载到FPGA中指定的可重构区域进行重新配置,而在FPGA中指定的静态区域中的逻辑电路并不需要发生改变。假设一个系统要先后切换两个功能,而这两个功能需要使用4个配置文件。其中功能1需要使用配置文件1、配置文件2和配置文件3,功能2需要使用配置文件1和配置文件4。由于配置文件1在功能1和功能2中都需要,因此首先向FPGA的静态区域加载两个功能都需要的配置文件1,然后在可重构区域加载配置文件2和配置文件3。功能1运行结束后切换成功能2,由于配置文件1在功能2中仍然需要,因此在动态局部可重构中只需要将之前加载到FPGA可重构区域的配置文件2和配置文件3对应的逻辑电路消除,重新加载配置文件4生成对应的逻辑电路就可以完成功能2的运行。在两个功能切换的过程中配置文件1所在的静态区域并没有发生改变。

  动态局部可重构因为只重构部分区域,所以配置文件中的重构内容也相应变小,重构时间也随之缩短。但是动态局部可重构的难点在于静态区域和可重构区域的大小划分是否可以满足系统功能要求、分别处在两个区域的模块之间如何进行通信以及如何在可重构区域进行合理的布局布线。因此使用动态局部可重构的实现过程相对复杂。



作者:曲若飞   

来源:http://www.51testing.com/html/51/n-5797151.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言  性能测试大致分以下几个步骤:  1.需求分析  2.脚本准备  3.测试执行  4.结果整理  5.问题分析  今天要说的是最后一个步骤——“问题分析”。  需求描述  有一个服务,启动时会加载一个1G的词表文件到内存,请求来了之后,会把请求词去词表里做模糊匹配,如果匹配到了就向一个后端服务发送一条http请求,拿回数据之后,返回给客户端的同时,向mysql记录请求的唯一标识和一个请求次数的标记;   其中有几个关键函数 :  ·模糊匹配(fuzzyMatching)   · 后端请求函数(sendingRequest)   · 拼...
            0 0 267
            分享
          • Fiddler:网络抓包工具Fiddler在测试中一般用于篡改接口请求或接口返回数据以测试前后端业务场景或对异常功能的兼容.它能监控进出设备的http协议请求,并且支持重新编辑请求与返回,从而测试前端页面对不同结果的反应。官网下载地址:https://www.telerik.com/fiddler2.Apifox:接口测试工具Apifox作为本土软件,在接口测试方面表现不亚于postman,它提供了完善的 API 场景测试(流程测试)功能,保证接口数据的正确性。另外具备可视化的断言、提取变量、数据库(SQL)操作等功能。除此之外还支持自定义前置/后置脚本,自动校验数据正确性。同时,也能进行测...
            12 13 1964
            分享
          •   vivo和华为、中兴均签署了全球专利交叉许可协议。  华为与vivo宣布已签订全球专利交叉许可协议。该协议覆盖了包括5G标准在内的蜂窝通信标准基本专利。  华为知识产权部部长樊志勇表示:“华为很高兴与vivo通过友好协商达成协议,相互认可彼此的知识产权价值。这份许可协议体现了行业正在共同投资基础研究,并致力于将基础研究技术标准化以共享创新成果,为全球消费者提供更优质的产品和服务。”  同一天,中兴通讯宣布与vivo签订全球专利交叉许可协议,开启了双方在专利领域的战略合作。  官方表示,中兴通讯与vivo达成战略合作,体现双方对于知识产权的尊重,双方的交叉许可协议也体现了中国企业对彼此在通信...
            0 0 153
            分享
          •   1 引言  伴随着时代的不断发展,汽车由最开始的奢侈品逐渐发展成为现在家家户户普遍使用的交通工具,已经成为了人们日常生活中不可缺少的代步工具,并且在各行各业的发展过程中也得到了有效的应用,在一定程度上为行业的发展提供了帮助。虽然汽车的出现为人们的生活与行业的发展带来了极大便利,但是随着汽车数量的不断增长,汽车排放的尾气对环境造成的污染不容小觑,甚至严重的污染了空气,对人们的身体健康产生了影响,因此,要采取一定的措施减少汽车尾气对环境的污染。伴随着科技水平的不断进步,新能源汽车出现在人们的视野中,新能源汽车有着先进的底盘技术,能够有效减少尾气的排放,大大降低汽车对环境的污染,不仅能够为人们的...
            0 0 325
            分享
          •   现如今互联网行业飞速发展,IT行业也是水涨船高,软件行业的未来发展也是越来越好。而软件测试在软件行业可谓是一个必不可少的职业,它不仅算得上一个长青工作,而且也是一个在需求持续增长的职业。如果你已经入行软件测试了,那就沉住气继续努力下去,保持不断学习的习惯,你会越来越吃香,随着时间的增长和个人经验的不断增加,你在软件测试这个行业的眼光、见识、技能都会持续增长。据不完全统计,每年都有十多万的测试需求在增长,国内软件测试的人员缺口在持续增加,工作前景也比较好,想要入软件测试这行得趁早啦。 根据十来余年的工作经验和个人经历,有以下这么几点,只要你满足了,就大胆的进入软测这行即可:  1、有个大专以...
            0 0 797
            分享
      • 51testing软件测试圈微信