用于更改FPGA原型验证中只读启动程序的方法及系统技术方案

技术编号:38254521 阅读:17 留言:0更新日期:2023-07-27 10:18
本申请涉及计算机技术领域,公开了一种用于更改FPGA原型验证中只读启动程序的方法及系统,该方法包括:获取原始的Bitfile文件;获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址等信息,并生成对应的mmi文件;将Boot ROM Code调整为与mmi描述文件相对应关系的mem文件;导入原始的Bitfile文件、mmi文件和mem文件,生成更新ROM Code的Bitfile。本申请不但能够有效提高MCU的FPGA原型验证中更改ROM Code的效率,而且能够避免给调试引入其他未知的影响因素。素。素。

【技术实现步骤摘要】
用于更改FPGA原型验证中只读启动程序的方法及系统


[0001]本申请涉及计算机
,特别涉及FPGA设计和验证


技术介绍

[0002]FPGA原型验证是指将芯片的RTL(Register Transfer Level,寄存器传输级)设计移植到FPGA芯片上,用以验证芯片功能,并且实现提前开始驱动开发的验证方法。原型验证通常是芯片设计中最关键的环节之一,通过原型验证可以评估设计的正确性、可靠性和性能,以确保设计满足需求。FPGA原型验证也被称为FPGA原型板验证或FPGA原型开发。
[0003]Boot ROM Code是指在系统启动时,由CPU或嵌入式系统内核加载执行的固化程序,通常用于初始化系统资源、加载操作系统、检测硬件错误等操作。在FPGA原型验证中,Boot ROM Code通常是通过只读存储器(如一个关闭写接口的Block RAM)实现的,用于存储启动程序和引导代码。在FPGA原型验证中,通常需要不断调试和修改Boot ROM Code以满足设计要求。
[0004]Bitfile是用于配置FPGA芯片的二进制文件,包含了设计的FPGA器件的逻辑连接和配置信息,它是由FPGA开发工具(如Vivado)将FPGA设计经过综合、实现、生成的文件,可以下载到FPGA芯片中运行。
[0005]目前,MCU的只读启动程序(Boot ROM Code)在FPGA原型验证时,是通过对只读存储器初始化来实现的。在开发阶段,Boot ROM Code需要频繁更改,而修改FPGA中只读存储器的初始值,需要重新导入存储器初始化文件(coe文件),并且重新综合、布局布线后生成新的Bitfile。这种方式存在一些问题,例如,为了更改Boot ROM Code,需要花费大量时间,并且重新生成的Bitfile与未修改ROM Code的Bitfile还会存在布局布线上的差异,为调试引入其他未知的影响因素。

技术实现思路

[0006]本申请的目的在于提供一种用于更改FPGA原型验证中只读启动程序的方法及系统,不但能够有效提高MCU的FPGA原型验证中更改ROM Code的效率,而且能够避免给调试引入其他未知的影响因素。
[0007]本申请公开了一种用于更改FPGA原型验证中只读启动程序的方法,包括:
[0008]获取原始的Bitfile文件,所述原始的Bitfile文件中包含FPGA芯片的配置信息;
[0009]获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址等信息,并生成对应的mmi文件;
[0010]将Boot ROM Code调整为与mmi描述文件相对应关系的mem文件,以便在更新ROM Code时使用;
[0011]导入原始的Bitfile文件、mmi文件和mem文件,利用ROM Code数据,直接对FPGA芯片的Block RAM进行重新初始化,实现Boot ROM Code的更新,以生成更新ROM Code的
Bitfile,并将更新ROM Code的Bitfile下载到FPGA芯片中进行测试和验证。
[0012]在一个优选例中,所述获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址等信息,并生成对应的mmi文件的步骤,进一步包含以下子步骤:
[0013]打开Xilinx Vivado设计工具,使用post_route.dcp文件加载原始FPGA工程,用于获得原始FPGA工程的实际物理位置和所占用空间的大小;
[0014]查找FPGA设计中所有包含RAMB关键字和Boot ROM实例化名的cell的完整路径名;
[0015]使用get_property命令获取匹配到的所有cell的loc_detail、bram_addr_begin、bram_addr_end、bram_slice_begin和bram_slice_end等信息,确定Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及Block RAM对应ROM Code的地址空间和起始、结束比特位等信息;
[0016]利用Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及Block RAM对应ROM Code的地址空间和起始、结束比特位,根据mmi文件的语法,生成Boot ROM对应的mmi文件,以便后续更新ROM Code时使用。
[0017]在一个优选例中,所述查找FPGA设计中所有包含RAMB关键字和Boot ROM实例化名的cell的完整路径名的步骤总,使用Vivado设计工具中的get_cells命令实现,通过执行所述get_cells命令获得包含所需信息的所有cell的路径名列表。
[0018]在一个优选例中,所述将Boot ROM Code调整为与mmi描述文件相对应关系的mem文件的步骤,进一步包含以下子步骤:
[0019]根据hex文件格式,从ROM Code hex文件提取出需要写入Boot ROM中的十六进制数据,每行数据对应Boot ROM中一个地址,如第一行对应Boot ROM的地址0,第二行对应Boot ROM的地址1等。
[0020]根据mmi文件描述各个Block RAM的顺序,调整十六进制数据的排列顺序,使其与Block RAM中的数据对应关系正确,以便在更新ROM Code时使用。
[0021]本申请还公开了一种用于更改FPGA原型验证中只读启动程序的系统包括:
[0022]原始Bitfile文件获取单元,用于获取原始的Bitfile文件,所述原始的Bitfile文件中包含FPGA芯片的配置信息;
[0023]mmi文件生成单元,用于获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址等信息,并生成对应的mmi文件;
[0024]mem文件生成单元,用于将Boot ROM Code调整为与mmi描述文件相对应关系的mem文件,以便在更新ROM Code时使用;
[0025]更新单元,用于导入原始的Bitfile文件、mmi文件和mem文件,利用ROM Code数据,直接对FPGA芯片的Block RAM进行重新初始化,实现Boot ROM Code的更新,以生成更新ROM Code的Bitfile,并将更新ROM Code的Bitfile下载到FPGA芯片中进行测试和验证。
[0026]本申请还公开了一种用于更改FPGA原型验证中只读启动程序的系统包括:
[0027]存储器,用于存储计算机可执行指令;以及,
[0028]处理器,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于更改FPGA原型验证中只读启动程序的方法,其特征在于,包括:获取原始的Bitfile文件,所述原始的Bitfile文件中包含FPGA芯片的配置信息;获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址信息,并生成对应的mmi文件;将Boot ROM Code调整为与mmi描述文件相对应关系的mem文件,以便在更新ROM Code时使用;导入原始的Bitfile文件、mmi文件和mem文件,利用ROM Code数据,直接对FPGA芯片的Block RAM进行重新初始化,实现Boot ROM Code的更新,以生成更新ROM Code的Bitfile,并将更新ROM Code的Bitfile下载到FPGA芯片中进行测试和验证。2.如权利权要1所述的方法,其特征在于,所述获取Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及每个Block RAM对应ROM Code的起始和结束比特位及地址信息,并生成对应的mmi文件的步骤,进一步包含以下子步骤:打开Vivado设计工具,使用post_route.dcp文件加载原始FPGA工程,用于获得原始FPGA工程的实际物理位置和所占用空间的大小;查找FPGA设计中所有包含RAMB关键字和Boot ROM实例化名的cell的完整路径名;使用get_property命令获取匹配到的所有cell的loc_detail、bram_addr_begin、bram_addr_end、bram_slice_begin和bram_slice_end信息,确定Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及Block RAM对应ROM Code的地址空间和起始、结束比特位信息;利用Boot ROM在FPGA芯片中所对应的Block RAM的物理位置和所占用的空间大小,以及Block RAM对应ROM Code的地址空间和起始、结束比特位,根据mmi文件的语法,生成Boot ROM对应的mmi文件,以便后续更新ROM Code时使用。3.如权利权要2所述的方法,其特征在于,所述查找FPGA设计中所有包含RAMB...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:灵动微电子苏州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1