重构技术介绍
重构技术是一项非常实用的技术,从比特属性上来分类可以分成全部重构和局部重构。全部重构即在重构时将配置整个fpga器件的比特文件重新加载一次,对fpga进行一次完整的编程配置;局部重构与全部重构有所不同,局部重构时加载的比特文件只是一个部分比特,该部分比特对特定区域进行重新配置。
针对xilinx不同系列的器件,进行重构的方式会有所区别,对于非zynq系列的器件,重构的实现需要借助fpga器件之外的处理器来实现,重构接口为selectmap,非zynq系列器件的重构框图如图 1所示;zynq系列的由于自身嵌入了arm处理器,可以无需借助其他处理器而实现重构的功能,zynq系列器件的ps侧可以通过pcap接口对pl侧完成重构,但是zynq7000和ultrascale+mpsoc在具体实现时所使用的库函数会有区别,两者的重构实现不能互用。
图 1 非zynq系列器件的重构框图
本文档主要针对的器件为ultrascale+mpsoc系列,通过pcap接口对pl侧进行重构,重构框图如下所示:
图 2 ultrascale+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下载器和一根串口线(非必须,具体的演示环境框图如下:
图 4 演示环境框图
演示结果
在sdk中下载程序后,在line280行打上断点,如图 5所示,手动控制程序的运行,每运行一次f8,重构一次pl程序,可以看到显示的图像前景色会发生变化,具体运行结果如图 6、图 7所示,以作参考。
图 5 调试断点设置
图 6 test1.bin运行结果截图
图 7 test2.bin运行结果截图
荧光氧传感器常见问题的解答
诺基亚8真机照长这样:6G运存骁龙835处理器
智慧小区立体安防系统的组成、特点及应用方案
食品亚硝酸盐检测仪的应用及功能介绍
蓝白可调电阻焊接方法_蓝白可调电阻焊接注意事项
Xilinx FPGA重构技术介绍
iPhone8什么时候上市?iPhone8最新消息:外观创新无边框设计,内置指纹识别与无线充电!iPhone8有这4大黑科技?
气体检测仪的使用寿命是多久
禾多科技参加MEET2024智能未来大会
多功能充电器的设计与制作,Multi-function battery charger
瑞芯微RK3568核心板-4G联网测试
计算机视觉的应用领域
意美森触控技术再授权 汽车触控成趋势
小米吊炸天:小米6采用JDI FHD屏幕 用FPC1268隐藏式指纹
窑尾风机轴承位磨损的修复方法
在这些工厂、农田、服务区,看到智能中国的草蛇灰线
小米官方确认小米MIUI9重磅功能:将加入分屏显示功能
如何理解TN-S供电系统
华为高薪招募人工智能博士
OmniVision宣布推出全新的200万像素传感器