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

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

3天内不再提示

Xilinx FPGA重构技术介绍

FPGA开源工坊 来源:胡狼FPGA 2023-02-12 10:33 次阅读

重构技术介绍

重构技术是一项非常实用的技术,从比特属性上来分类可以分成全部重构和局部重构。全部重构即在重构时将配置整个FPGA器件的比特文件重新加载一次,对FPGA进行一次完整的编程配置;局部重构与全部重构有所不同,局部重构时加载的比特文件只是一个部分比特,该部分比特对特定区域进行重新配置。

针对Xilinx不同系列的器件,进行重构的方式会有所区别,对于非Zynq系列的器件,重构的实现需要借助FPGA器件之外的处理器来实现,重构接口为SelectMAP,非Zynq系列器件的重构框图如图1所示;Zynq系列的由于自身嵌入了ARM处理器,可以无需借助其他处理器而实现重构的功能,Zynq系列器件的PS侧可以通过PCAP接口对PL侧完成重构,但是Zynq7000和UltraScale+Mpsoc在具体实现时所使用的库函数会有区别,两者的重构实现不能互用。

f2222ea8-a97b-11ed-bfe3-dac502259ad0.png

图1非Zynq系列器件的重构框图

本文档主要针对的器件为UltraScale+Mpsoc系列,通过PCAP接口对PL侧进行重构,重构框图如下所示:

f2418546-a97b-11ed-bfe3-dac502259ad0.png

图2UltraScale+Mpsoc系列重构框图

重构步骤

建立工程

详细操作在此不做详述,具体可以参考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,为了验证需要,硬件允许的情况下可以编写一段闪灯程序。

建立BlockDesign

详细操作在此不做详述,具体可以参考《Vivado Design Suite Tutorial Embedded Processor Hardware Design》,建立BlockDesign后,加入一个Zynq Mpsoc IP核,需要指出的是,为了能实现重构,需要在此IP核中使能SD卡,DDR以及UART(方便调试),并根据硬件的实际情况对它们的参数进行设置。根据需要添加其他IP。

编写编译代码

完成前面的步骤之后就可以建立自己的用户程序,主要是通过PS来实现对PL测逻辑的重构

验证调试

在进行验证调试前需要做好准备工作,如前所述,PL侧可以通过两个实现,生成两个频率不同的闪灯程序的bit文件,由于重构时只能使用bin文件,所以需要将bit文件转换成bin文件,在Vivado中的Tcl Console中使用write_cfgmem指令可以将bit转换成bin文件,具体指令如下:

write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0文件名.bit" "bin文件名"

生成好的bin文件需要拷贝到Memory中,通常都使用SD卡来存储重构的bin文件。

以上准备工作就绪之后就可以Debug调试了,建议Debug调试时将启动模式设置成Jtag模式。

演示Demo

本章节通过搭建演示环境和工程对重构的实现进行板级验证。

演示环境

演示的软件搭建包含两个工程,一个用来采集和显示摄像头原图,另外一个工程对摄像头进来的数据做了处理,将像素点中的一个颜色分量置为0,最终显示的图像前景色为绿色。

演示的硬件包含一块5ev的板子,一块图像显示的板子,一台HDMI接口的显示器,一台电脑、一个摄像头,一根fakra接口线、一个Xilinx下载器和一根串口线(非必须,具体的演示环境框图如下:

f254f996-a97b-11ed-bfe3-dac502259ad0.png

图4演示环境框图

演示结果

在SDK中下载程序后,在line280行打上断点,如图5所示,手动控制程序的运行,每运行一次F8,重构一次PL程序,可以看到显示的图像前景色会发生变化,具体运行结果如图6、图7所示,以作参考。

f286eaaa-a97b-11ed-bfe3-dac502259ad0.png

图5调试断点设置

f2dde1ac-a97b-11ed-bfe3-dac502259ad0.png

图6Test1.bin运行结果截图

f347d6ca-a97b-11ed-bfe3-dac502259ad0.png

图7Test2.bin运行结果截图






审核编辑:刘清

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

    关注

    6

    文章

    346

    浏览量

    41325
  • FPGA器件
    +关注

    关注

    1

    文章

    22

    浏览量

    11571
  • Zynq
    +关注

    关注

    9

    文章

    600

    浏览量

    46639
  • PCAP
    +关注

    关注

    0

    文章

    12

    浏览量

    12567

原文标题:Xilinx FPGA全部重构

文章出处:【微信号:FPGA开源工坊,微信公众号:FPGA开源工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA重构设计的结构基础

    。  FPGA器件的结构主要有两种:一是基于反熔丝技术,二是基于SRAM或FLASH编程。用反熔丝开关作基本元件,具有非易失性,编程完成后,FPGA的配置数据不再变化,无法重构。而基于
    发表于 05-27 10:22

    FPGA重构方式

    FPGA都可实现静态重构。后者则是指在系统实时运行中对FPGA芯片进行动态配置(即在改变电路功能的同时仍然保持电路的工作状态),使其全部或部分逻辑资源实现在系统的高速的功能变换和时分复用。动态
    发表于 05-27 10:22

    支持重构FPGA器件

      近年来,随着FPGA技术的发展,支持重构FPGA器件新品迭现。Xilinx、Altera、Lattice的
    发表于 05-27 10:23

    【悬赏100块】如何实现FPGA重构计算(Android平台)

    FPGA计算的计算任务的对应比特流 对FPGA进行重构以及利用FPGA进行计算。我的某一个最关键的问题是(当然我还有好多问题没有解决):我已经根据
    发表于 05-20 20:03

    采用FPGA实现可重构计算应用

    重构计算技术概述随着20世纪80年代中期Xilinx公司推出其第一款现场可编程门阵列(FPGA)以来,另一种实现手段——可重构计算
    发表于 07-29 06:26

    怎么实现基于FPGA重构智能仪器的设计?

    重构技术具有什么优点?怎么实现基于FPGA重构智能仪器的设计
    发表于 05-06 06:44

    Xilinx-FPGA-引脚功能详细介绍

    FPGA学习资料教程之Xilinx-FPGA-引脚功能详细介绍
    发表于 09-01 15:27 0次下载

    Virtex5 FPGA在ISE + Planahead上部分可重构功能的流程和技术要点

    部分可重构技术Xilinx FPGA的一项重要开发流程。本文结合Virtex5 FPGA,详细讲解在ISE + Planahead上完成部
    的头像 发表于 07-04 02:17 3468次阅读
    Virtex5 <b class='flag-5'>FPGA</b>在ISE + Planahead上部分可<b class='flag-5'>重构</b>功能的流程和<b class='flag-5'>技术</b>要点

    基于CPLD的FPGA快速动态重构设计

    随着FPGA的广泛应用, 其实现的功能也越来越多, FPGA 的动态重构设计就显得愈发重要。在分析Xilinx Vertex II Pro系列FPG
    发表于 11-22 07:55 957次阅读
    基于CPLD的<b class='flag-5'>FPGA</b>快速动态<b class='flag-5'>重构</b>设计

    站在FPGA的肩膀上 AI可重构芯片诞生

    在芯片架构设计领域中,可重构计算技术并非一项新的存在。20世纪60年代末,加利福尼亚大学的Geraid Estrin首次提出重构计算,后过去二十余年,Xilinx才基于这一原型系统推出
    发表于 12-03 10:09 1516次阅读

    如何在FPGA动态局部可重构中进行TBUF总线宏设计

    FPGA 动态局部可重构技术中基于三态缓冲器( Tri2state Buffer ,TBUF) 总线宏结构的基础上,采用Xilinx ISE FP
    发表于 12-14 14:27 3次下载
    如何在<b class='flag-5'>FPGA</b>动态局部可<b class='flag-5'>重构</b>中进行TBUF总线宏设计

    Xilinx FPGA的FMC介绍

    本文主要介绍Xilinx FPGA的FMC接口。
    的头像 发表于 01-28 17:52 5225次阅读

    FPGA动态可重构技术是什么,局部动态可重构的时序问题解决方案

    所谓FPGA动态可重构技术,就是要对基于SRAM编程技术FPGA实现全部或部分逻辑资源的动态功能变换。根据实现
    的头像 发表于 07-05 15:41 2681次阅读
    <b class='flag-5'>FPGA</b>动态可<b class='flag-5'>重构</b><b class='flag-5'>技术</b>是什么,局部动态可<b class='flag-5'>重构</b>的时序问题解决方案

    FPGA重构技术——FPGA芯片

    FPGA芯片本身就具有可以反复擦写的特性,允许FPGA开发者编写不同的代码进行重复编程,而FPGA重构技术正是在这个特性之上,采用分时复用
    的头像 发表于 04-26 10:38 2917次阅读

    关于FPGA重构技术分析

    FPGA上的可重构技术根据FPGA芯片内部的不同结构可以分为两种,分别是动态可重构和静态可重构
    发表于 11-03 20:09 778次阅读