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

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

3天内不再提示

FPGA的重构是什么,具有哪些要点

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2021-07-02 17:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

“重构”对于刚接触FPGA的人来说,可谓十分神秘,对于已经入门的人来说很“简单”,但是你真的了解FPGA的重构吗?

术语“重构”是指FPGA已经配置后的重新编程。FPGA的重构有两种类型:完全的和部分的。完全重构将整个FPGA重新编程,而部分重构只取代设计的一部分,设计的剩下部分仍正常工作。部分重构不被视为完全重构的特殊情况,因为两者基本相同。对FPGA执行部分重构通过使用与完全重构(JTAG、CAP或SelectMAP接口)相同的方法来进行,如上一节所述。比特流的结构对于完全和部分重构来说都是相同的。

FPGA重构具有以下几个优点。它允许多个设计共享同一个FPGA架构,这反过来又降低了FPGA的面积、成本和系统复杂性。完全和部分重构为许多FPGA的创新应用程序提供了可能,否则,高昂的成本将影响应用程序实现。利用FPGA重构优势的一些应用如DSP音频或视频处理器等,它们根据用户输人,由包括集成深度包检测的通信控制器修改处理算法,以改变基于协议的数据包处理器。很多工业和学术性的FPGA重构方面的研究不断产生有价值的应用、研究论文和学位论文。

虽然部分重构技术不是一项新功能,也不是主流的研究方向,但是设计和实现流程、工具支持甚至名词术语都在不断发展,用户界面越来越友好。最终目标是向FPGA开发者提供简单和透明的设计流程,无须详细了解配置逻辑和比特流结构。部分重构是一项复杂过程,在设计实现、工具流程和重构本身的过程中充斥着多重挑战。面临的一个挑战是在FPGA配置的变化过程中,完成平滑切换而无须中断剩余设计功能或损害其完整性。而在完全重构过程中,FPGA架构和10不能保持在复位。另一项挑战是在改变过程中,防止设计的未改动部分进入无效状态。设计者必须正确界定和约束未改动和改动部分之间的接口。这样,FPGA物理实现工具才能进行配置并使用完全相同的布线资源。

有三个部分重构流程可用于Xilinx FPGA基于差异的(difference based)、基于分层的(partition based)及使用动态重构端口。基于差异的部分重构基于差异的部分重构[2]最适合用于将小型设计转化为LUT方程、IO特征和BRAM中的内容。以下是一个简单的、基于差异的部分重构代码和流程举例,它可以运行在Xilinx开发板上。

//原始模块:当两个按钮都按下时,点亮LED

module top(input btn0,btnl,output led); assign led=btn0&btnl;endmodule//top

//部分重构模块:当两个按钮之一按下时,点亮LEDbutton is pressed

module top_pr(input btn0,btn1,output led); assign led=btn0 | btn1;endmodule//top_pr

#约朿文件:对两个设计都相同

NET “btnO” LOC= “A18” ;NET “btnl” LOC= “H17” ;NET “led” LOC= “AD21”;

#实现LED功能的LUT被锁定到特定逻辑片中#对于原始设计,LUT函数是btn0 & btn1#对于部分重构设计,LUT函数是btn0|btn1

INST “led” AREA_GROUP=“led”;AREA_GROUP “led” RANGE = SLICE_X65Y168:SLICE_X65Y168;

#bitgen命令用于产生部分重构比特流#ActiveReconfig和Persist选项在配置变化期间置为全局复位

$bitgen -g ActiveReconfig:Yes -g Persist:Yes -r top_orig.bittop_pr.ncd top_pr.bittop_orig.bit:原始设计的比特流top_pr.ncd:部分重构设计的布局布线后输出top_pr.bit:得到的部分重构比特流结果

上面例子中基于差异的部分重构流程包括以下步骤:

(1)编译top模块。结果是比特流文件top_orig.bit。(2)编译top_pr模块。结果是布局布线后文件top_pr.ncd。(3)使用top.orig.bit比特流和top_pr.ncd,生成包含两个设计之间LED LUT方程差异的比特流。

基于分层的部分重构

与基于差异的重构不同,基于分层的部分重构流程支持重构大型部件FPGA设计。PlanAhead工具它提供了用于配置、实现和使用分层管理部分重构项目的集成环境。设计和实现流程的简要概述如下所示

:•FPGA开发者指定待配置的部分设计

•在FPGA芯片上包含所需逻辑、嵌入式存储器、10和其他资源的区域。•开发者定义覆盖该区域的所有可能设计变量。

•PlanAhead工具管理所有诸如编译设计的细节,包括管理多个网表、静态的和可重构的设计部分,执行DRC,并产生合适的比特流。

Xilinx应用提示XAPP883提供了使用部分重构的示例,以允许嵌入式PCI Exress接口模块的快速配置。

动态重构端口

改变Xilinx GTX收发器、混合模式时钟管理器(MMCM)和System Monitor原语设置的另一种方法,是使用动态重构端口(DRP)DRP提供了一个简单的用户逻辑接口,不需要更多地了解配置寄存器和比特流结构。例如,DRP允许输出时钟频率、相位和MMCM的占空比动态变化。

文章出处:【微信公众号:OpenFPGA】

责任编辑:gt


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

    关注

    1656

    文章

    22298

    浏览量

    630508
  • 控制器
    +关注

    关注

    114

    文章

    17658

    浏览量

    190343
  • 接口
    +关注

    关注

    33

    文章

    9451

    浏览量

    156180

原文标题:FPGA 的重构

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    AMD利用可重构FPGA设备Moku实现自定义激光探测解决方案

    摘要本文介绍了AdvancedMicroDevices,AMD公司如何基于可重构FPGA设备自定义激光探测解决方案,替代传统的仪器配置,通过灵活且可定制的FPGA设备Moku提供更高效和灵活的激光
    的头像 发表于 11-20 17:28 936次阅读
    AMD利用可<b class='flag-5'>重构</b><b class='flag-5'>FPGA</b>设备Moku实现自定义激光探测解决方案

    MarketsandMarkets FPGA行业报告,2026~2030 FPGA市场洞察

    ,Field-Programmable Gate Array)是一种高度灵活、可重构的集成电路。与传统 ASIC 不同,FPGA 制造完成后仍可以在终端重新编程,在 高性能并行计算、实时信号处理、通信加速 等领域具有独特优势。
    的头像 发表于 11-20 13:20 164次阅读
    MarketsandMarkets <b class='flag-5'>FPGA</b>行业报告,2026~2030 <b class='flag-5'>FPGA</b>市场洞察

    OFDR技术与三维重构的协同价值

    概述OFDR分布式光频域反射技术具有光纤传感器体积小、重量轻、测试精度高的特性,能够精准捕捉结构各位置的微小应变或温度变化。三维重构软件可作为连接数据与实际应用的结构——通过颜色映射将数据直观呈现
    的头像 发表于 11-14 17:36 1134次阅读
    OFDR技术与三维<b class='flag-5'>重构</b>的协同价值

    AES和SM4算法的可重构分析

    为:Y=A(AX+C)^-1+C 。 通过对比以上两个计算公式可以发现,它们都具有的仿射变换操作和求逆操作,于是可以通过以下流程图对AES和SM4算法进行S盒的可重构。具体实现过程需要具备有限域上的知识,感兴趣的读者可参考本文末尾列出的链接进行延伸阅读。
    发表于 10-23 07:26

    ADC和FPGA之间LVDS接口设计需要考虑的因素

    本文描述了ADC和FPGA之间LVDS接口设计需要考虑的因素,包括LVDS数据标准、LVDS接口数据时序违例解决方法以及硬件设计要点
    的头像 发表于 07-29 10:01 5041次阅读
    ADC和<b class='flag-5'>FPGA</b>之间LVDS接口设计需要考虑的因素

    中科亿海微可重构智能超表面电磁单元控制方案:多维调控电磁波,助力6G无线中继

    重构智能超表面(RIS)技术是一种新兴的人工电磁表面技术,它通过可编程的方式对电磁波进行智能调控,具有低成本、低能耗、可编程、易部署等特点。通过构建智能可控无线环境,有机会突破传统无线通信的约束
    的头像 发表于 06-12 11:06 727次阅读
    中科亿海微可<b class='flag-5'>重构</b>智能超表面电磁单元控制方案:多维调控电磁波,助力6G无线中继

    【经验分享】玩转FPGA串口通信:从“幻觉调试”到代码解析

    FPGA开发,思路先行!玩FPGA板子,读代码是基本功!尤其对从C语言转战FPGA的“宝贝们”来说,适应流水线(pipeline)编程可能需要点时间。上篇点灯代码解读了基础,而如果能亲
    的头像 发表于 06-05 08:05 889次阅读
    【经验分享】玩转<b class='flag-5'>FPGA</b>串口通信:从“幻觉调试”到代码解析

    一种低翘曲扇出重构方案

    翘曲(Warpage)是结构固有的缺陷之一。晶圆级扇出封装(FOWLP)工艺过程中,由于硅芯片需通过环氧树脂(EMC)进行模塑重构成为新的晶圆,使其新的晶圆变成非均质材料,不同材料间的热膨胀和收缩程度不平衡则非常容易使重构晶圆发生翘曲。
    的头像 发表于 05-14 11:02 1015次阅读
    一种低翘曲扇出<b class='flag-5'>重构</b>方案

    FPGA芯片的概念和结构

    FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种可在出厂后由用户根据实际需求进行编程配置的集成电路。与专用集成电路(如ASIC)不同,FPGA在硬件层面具备高度的可重构性,能够灵活
    的头像 发表于 05-12 09:30 2439次阅读

    屏排线FPC设计要点

    屏排线FPC设计要点
    的头像 发表于 04-30 18:41 570次阅读
    屏排线FPC设计<b class='flag-5'>要点</b>

    深控技术不需要点表的工业数采动态产线重构支持方案

    深控技术不需要点表的工业数采网关“动态产线重构支持”方案通过语义化建模、多Agent系统、协议自适应等核心技术,解决了传统MES系统在柔性制造场景下的刚性瓶颈。其价值不仅体现在维护成本降低50
    的头像 发表于 03-18 15:16 598次阅读
    深控技术不需<b class='flag-5'>要点</b>表的工业数采动态产线<b class='flag-5'>重构</b>支持方案

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    功能模块,如AI引擎、可变精度DSP。 • 灵活性:FPGA可以在系统运行中重新编程,实现功能的动态重构。 • 低功耗:与ASIC相比,FPGA在功耗方面具有优势,尤其是在处理低延迟任
    发表于 03-03 11:21

    芯有灵犀智创未来,基于中科亿海微FPGA实现图像处理系统及应用——第九届集创赛中科亿海微杯赛题解析

    进行定制化配置。中科亿海微FPGA的图像处理系统具有并行计算能力和可重构特性,在实时图像处理领域具有显著优势,广泛应用于工业检测、智能安防、医疗影像等场景。01赛题
    的头像 发表于 02-21 17:26 1952次阅读
    芯有灵犀智创未来,基于中科亿海微<b class='flag-5'>FPGA</b>实现图像处理系统及应用——第九届集创赛中科亿海微杯赛题解析

    晶振的使用和设计要点介绍

    晶振是一种用于产生稳定频率信号的电子元件,在电子设备的设计和使用中具有关键作用。在使用和设计过程中有诸多需要注意的要点。 一、频率稳定性相关因素 温度影响 温度是影响晶振频率稳定性的重要因素。晶振
    的头像 发表于 02-05 10:51 912次阅读

    EMC外壳设计要点

    本文要点什么是EMC外壳?选择EMC外壳材料时需要考量的事项。EMC外壳设计要点。如果设备具有电磁兼容标志,则表明它带来的电磁干扰符合EMC标准规定。符合EMC标准的设备可在电磁环境中安全运行,并且
    的头像 发表于 01-10 12:50 1849次阅读
    EMC外壳设计<b class='flag-5'>要点</b>