一种ASIC代码转换为FPGA代码自动更新方法技术

技术编号:28225847 阅读:41 留言:0更新日期:2021-04-28 10:00
本发明专利技术公开了一种ASIC代码转换为FPGA代码自动更新方法,包括:创建代码移植环境;筛选出当前版本下ASIC代码文件中需要修改的设计代码文件,保存需修改设计代码文件信息;对上述筛选出来的设计代码文件进行本地修改;备份当前版本下所述设计代码文件的本地修改版本;更新当前版本下ASIC代码文件至最新版本或指定版本;对更新后的ASIC代码文件进行移植。本发明专利技术能有效减少ASIC设计代码更新后代码移植的重复操作量,大大提高了FPGA原型验证系统的更新效率。更新效率。更新效率。

【技术实现步骤摘要】
一种ASIC代码转换为FPGA代码自动更新方法


[0001]本专利技术涉及集成电路
,尤其涉及一种ASIC代码转换为FPGA代码自动更新方法。

技术介绍

[0002]FPGA原型验证系统技术是普遍采用的一种大规模ASIC(Application Specific Integrated Circuit,专用集成电路)验证方法,具有运行速度快、可实现大规模软硬件协同验证的优点。由于FPGA芯片的固有特性,需要对部分ASIC代码文件进行必要修改后才能够烧写到FPGA芯片,这一过程称为FPGA原型验证系统的代码移植。为了减少代码移植时间,在编写ASIC设计代码时,设计师可以通过增加宏开关的方式在ASIC设计代码中直接加入适用于FPGA的版本,但这种方法无法满足全部的代码移植需求,还是有大量的代码需要由FPGA原型验证技术人员依据FPGA平台的具体情况对ASIC代码进行修改。
[0003]当前存在的主要技术问题在于,在芯片的研发过程中,每当ASIC设计代码更新时,FPGA原型验证技术人员需要在更新后的ASIC设计代码上,再一次地进行代码移植工作,这一过程消耗了大量的时间和人力,严重地影响了FPGA原型验证系统的更新效率。

技术实现思路

[0004]本专利技术实施例提供一种ASIC代码转换为FPGA代码自动更新方法,能有效减少ASIC设计代码更新后代码移植的重复操作量,大大提高了FPGA原型验证系统的更新效率。
[0005]本专利技术一实施例提供一种ASIC代码转换为FPGA代码自动更新方法,包括:
[0006]创建代码移植环境;
[0007]筛选出当前版本下ASIC代码文件中需要修改的设计代码文件,保存需修改设计代码文件信息;
[0008]对上述筛选出来的设计代码文件进行本地修改;
[0009]备份当前版本下所述设计代码文件的本地修改版本;
[0010]更新当前版本下ASIC代码文件至最新版本或指定版本;
[0011]对更新后的ASIC代码文件进行移植。
[0012]作为上述方案的改进,所述对更新后的ASIC代码文件进行移植,包括以下步骤:
[0013]根据所述需修改设计代码文件信息,将需要修改的设计代码文件与更新后的ASIC代码文件中对应文件进行比较;
[0014]如果比较结果为不相同,则根据更新后的ASIC代码文件对本地修改的设计代码文件进行进一步修改;
[0015]完成全部本地修改后,用本地修改的设计代码文件替换更新后的ASIC代码文件中对应文件。
[0016]作为上述方案的改进,所述创建代码移植环境包括:
[0017]根据所述当前版本下ASIC代码文件,获取编译FPGA原型系统所需的相关文件,所
述相关文件为更新ASIC代码文件的脚本文件、代码移植脚本文件、FPGA设计约束文件、FPGA原型系统移植过程相关的设计代码文件和FPGA原型验证系统所需的IP核文件。
[0018]作为上述方案的改进,所述获取编译FPGA原型系统所需的相关文件,包括以下步骤:
[0019]创建工程目录,在工程目录下创建design目录和fpga_proto目录,其中design目录用于存放ASIC设计代码,fpga_proto目录用于存放FPGA原型系统相关文件。
[0020]作为上述方案的改进,还包括以下步骤:
[0021]在fpga_proto目录下创建env子目录、rev_backup子目录和script子目录,其中env子目录用于存放编译FPGA原型系统所需的相关文件,rev_mgt子目录用于存放更新ASIC设计代码的脚本以及各版本ASIC设计代码的备份,script子目录用于存放代码移植相关脚本;
[0022]在env子目录下创建constraint子目录、hdl子目录和ip子目录,其中constraint子目录存放FPGA的设计约束文件,hdl子目录用于存放与FPGA原型系统移植过程相关的设计代码文件,IP子目录用于存放实现FPGA原型验证系统所需的IP核;
[0023]在hdl子目录下创建addition子目录和modification子目录,其中addition子目录用于存放搭建FPGA原型验证系统所需要增加的设计代码文件,modification子目录用于存放为移植到FPGA平台而需要修改的设计代码文件;
[0024]在rev_mgt子目录下执行脚本文件,下载最新版本或指定版本的ASIC设计代码到design目录下,并设置ASIC设计代码的版本号为rev_n,下载时的服务器时间为rev_n_time;
[0025]将搭建FPGA原型系统所需的IP核添加到IP子目录下;
[0026]将搭建FPGA原型系统所需的约束文件添加到步骤constraint子目录下;
[0027]将搭建FPGA原型系统所需增加的设计代码文件添加到addition子目录下。
[0028]作为上述方案的改进,筛选出需要修改的设计代码文件,并进行本地修改包括以下步骤:
[0029]筛选出需要修改的设计代码文件,并保存需修改设计代码文件信息,所述需修改设计代码文件信息包括需要修改的设计代码文件的绝对路径和文件名;
[0030]根据所述需修改设计代码文件信息,对相关文件进行修改;
[0031]将修改后的设计代码文件保存到本地,作为后续可复用的文件。
[0032]作为上述方案的改进,包括以下步骤:
[0033]在所述modification子目录下,创建文件mod.list;
[0034]筛选出design目录下需要修改的设计代码文件,并将所有需要修改的设计代码文件的绝对路径和文件名,记录在文件mod.list中;
[0035]对mod.list中所列的需要修改的设计代码文件,在design目录下进行修改;
[0036]根据mod.list中记录的需要修改的设计代码文件的绝对路径和文件名,将所有design目录下完成了修改的设计代码文件拷贝到所述modification子目录下,作为后续可复用的文件。
[0037]作为上述方案的改进,所述备份当前版本下所述设计代码文件的本地修改版本,包括以下步骤:
[0038]检查design目录下的ASIC代码文件,如果相对于服务器端的版本已发生了修改,用修改文件的绝对路径和文件名为内容,覆盖modification子目录下的mod.list文件的原有内容;
[0039]根据mod.list中所列的设计代码文件的绝对路径和文件名,将当前design目录下的对应文件拷贝到所述modification子目录下,完成代码更新前对所述设计代码文件的本地修改版本的备份;
[0040]比较mod.list中记录的当前design目录下的ASIC代码文件与服务器端已更新文件之间的差异,并将差异的内容保存。
[0041]作为上述方案的改进,所述更新当前版本下AS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ASIC代码转换为FPGA代码自动更新方法,其特征在于,包括:创建代码移植环境;筛选出当前版本下ASIC代码文件中需要修改的设计代码文件,保存需修改设计代码文件信息;对上述筛选出来的设计代码文件进行本地修改;备份当前版本下所述设计代码文件的本地修改版本;更新当前版本下ASIC代码文件至最新版本或指定版本;对更新后的ASIC代码文件进行移植。2.如权利要求1所述的ASIC代码转换为FPGA代码自动更新方法,其特征在于,所述对更新后的ASIC代码文件进行移植,包括以下步骤:根据所述需修改设计代码文件信息,将需要修改的设计代码文件与更新后的ASIC代码文件中对应文件进行比较;如果比较结果为不相同,则根据更新后的ASIC代码文件对本地修改的设计代码文件进行进一步修改;完成全部本地修改后,用本地修改的设计代码文件替换更新后的ASIC代码文件中对应文件。3.如权利要求1所述的ASIC代码转换为FPGA代码自动更新方法,其特征在于,所述创建代码移植环境包括:根据所述当前版本下ASIC代码文件,获取编译FPGA原型系统所需的相关文件,所述相关文件为更新ASIC代码文件的脚本文件、代码移植脚本文件、FPGA设计约束文件、FPGA原型系统移植过程相关的设计代码文件和FPGA原型验证系统所需的IP核文件。4.如权利要求3所述的ASIC代码转换为FPGA代码自动更新方法,其特征在于,所述获取编译FPGA原型系统所需的相关文件,包括以下步骤:创建工程目录,在工程目录下创建design目录和fpga_proto目录,其中design目录用于存放ASIC设计代码,fpga_proto目录用于存放FPGA原型系统相关文件。5.如权利要求4所述的ASIC代码转换为FPGA代码自动更新方法,其特征在于,还包括以下步骤:在fpga_proto目录下创建env子目录、rev_backup子目录和script子目录,其中env子目录用于存放编译FPGA原型系统所需的相关文件,rev_mgt子目录用于存放更新ASIC设计代码的脚本以及各版本ASIC设计代码的备份,script子目录用于存放代码移植相关脚本;在env子目录下创建constraint子目录、hdl子目录和ip子目录,其中constraint子目录存放FPGA的设计约束文件,hdl子目录用于存放与FPGA原型系统移植过程相关的设计代码文件,IP子目录用于存放实现FPGA原型验证系统所需的IP核;在hdl子目录下创建addition子目录和modification子目录,其中addition子目录用于存放搭建FPGA原型验证系统所需要增加的设计代码文件,modification子目录用于存放为移植到FPGA平台而需要修改的设计代码文件;在rev_mgt子目录下执行脚本文件,下载最新版本或指定版本的ASIC设计代码到design目录下,并设置ASIC设计代码的版本号为rev_n,下载时的服务器时间为rev_n_time;
将搭建FPGA原型系统所需的IP核添加到IP子目录下;将搭建FPGA原型系统所需的约束文件添加到步骤constraint子目录下;将搭建FPGA原型系统所需增加的设计代码文件添加到addition子目录下。6.如权利要求1所述的ASIC代码转换为FPGA代码自动更新方法,其特征在于,筛选出需要修改的设计代码文件,并进行本地修改包括以下步骤:筛选出需要修改的设计代码文件,并保存需修改设计代码文件信息,所述需修改设计代码文件信息包括需要修改的设计代码文件的绝对路径和文件名...

【专利技术属性】
技术研发人员:马鑫王忠弈夏永乐吴沙
申请(专利权)人:天津飞腾信息技术有限公司
类型:发明
国别省市:

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

1