一种芯片FPGA原型验证方法及系统技术方案

技术编号:33134977 阅读:46 留言:0更新日期:2022-04-17 00:58
本发明专利技术提供一种芯片FPGA原型验证方法及系统,涉及芯片FPGA原型验证领域,首先读取目标RTL设计代码,在所述RTL设计代码头部,设定宏定义数据,其次根据宏定义数据,生成第一模块文件列表,根据目标验证模块,在第一模块文件列表删除不是目标验证模块的模块,生成第二模块文件列表,然后只对第二模块文件列表中的模块进行功能和性能的验证,从而提高验证针对性,减少验证时间,增加验证灵活性,简化验证程序,提高芯片的FPGA原型验证阶段的效率,缩短芯片的研发周期。芯片的研发周期。芯片的研发周期。

【技术实现步骤摘要】
一种芯片FPGA原型验证方法及系统


[0001]本专利技术涉及FPGA原型验证
,具体涉及一种芯片FPGA原型验证方法及系统。

技术介绍

[0002]随着芯片设计规模的与日俱增,其功能日趋复杂,芯片的验证阶段占据了整个芯片开发的大部分时间。为了缩短验证时间,在传统的仿真验证的基础上涌现了许多新的验证手段,如SDV(Software Driven verification)、BFM(Bus Function Model)等,以及基于FPGA的原型验证技术。由于FPGA的优势,大多芯片的开发采用FPGA原型验证技术。
[0003]FPGA原型验证验证过程中,现有技术对RTL设计代码进行全部编译和验证,花费时间较长,验证速度较慢,灵活性较低,有的采取了子系统验证,但是需要手动划分子系统,程序较为繁琐,因此,验证时间较长,亟待一种解决FPGA原型验证时间较长、验证速度较慢、灵活性较低、程序繁琐的验证方法。

技术实现思路

[0004]因此,本专利技术要解决的技术问题在于克服现有技术中的FPGA原型验证时间较长、验证速度较慢、灵活性较低、程序繁琐的缺陷。
[0005]本专利技术提供一种芯片FPGA原型验证方法及系统,可以提高验证针对性,增加验证灵活性,简化验证程序,减少验证时间,提高芯片的FPGA原型验证阶段的效率,缩短芯片的研发周期。
[0006]根据本专利技术的一个方面,采用如下技术方案:
[0007]一种芯片FPGA原型验证方法,包括:
[0008]步骤101,读取目标RTL设计代码,在所述RTL设计代码头部,设定宏定义数据,其中所述设定宏定义,可以根据RTL代码里的模块名称,模块开关、模块节点来设定宏定义,所述宏定义数据,包括但不限于获取的模块容量、模块面积、模块之间的连接关系和模块之间的时钟关系;
[0009]步骤102,根据所述宏定义数据,生成第一模块文件列表;
[0010]步骤103,根据目标验证模块,生成目标验证模块列表;
[0011]步骤104,将所述第一模块文件列表,与所述目标验证模块列表比较,在所述第一模块文件列表中删除不在所述目标验证模块列表的模块,生成第二模块文件列表;
[0012]步骤105,对所述第二模块文件列表中的模块,根据多FPGA的约束条件,以不超过多FPGA最大工作容量和使用面积为前提,依次考虑最优化多FPGA的最少连接以及最优化多FPGA的时钟关系,将所述第二模块文件列表的模块分配到相应FPGA进行功能和性能的验证;
[0013]步骤106,判断是否验证成功;如果验证成功,则结束验证工作;如果不成功,则返回错误用于修改,修改错误之后执行步骤105。
[0014]进一步地,包括:步骤1041,在所述步骤105之前,根据寄存器生成Excel表格,利用脚本转换成system verilog或C程序可用的头文件,用于寄存器验证。
[0015]进一步地,包括:所述Excel表格和所述程序可用的头文件,包含所述寄存器的地址定义和默认值。
[0016]进一步地,还包括:步骤107,将验证成功后的模块进行综合处理,所述综合处理指将RTL代码转换为门级网表文件或程序,包括编译、转换、调度、分配、控制器综合和结果的生成;所述资源指综合处理的结果,即综合处理生成的网表文件;步骤108,将所述综合处理后的资源下载到FPGA,进行门级验证;步骤109,判断所述门级验证是否成功,如果成功,则结束门级验证,如果不成功,则返回错误用于修改。
[0017]进一步地,包括:所述综合处理指将RTL代码转换为门级网表文件或程序,包括编译步骤、转换步骤、调度步骤、分配步骤、控制器综合步骤和结果生成步骤;所述资源指综合处理的结果,即综合处理生成的网表文件;
[0018]编译步骤中,将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式,包括控制流图、数据流图以及控制数据流图;
[0019]转换步骤中,对设计的行为描述进行优化;包括编译优化、增加操作并行度、将复杂的多周期操作转换为简单操作、减少控制数据流图中关键路径和指定路径上的操作个数;
[0020]调度步骤中,将操作赋给控制步;控制步是一个时序单位,对应若干个时钟周期;调度的目的是在满足约束条件下使得器件完成所有功能所需时间最少,即确定每个操作发生的时刻;
[0021]分配步骤中,定义系统中部件和部件之间互连的过程;包括分配寄存器或RAM存储器来存放数据值,分配功能部件来执行特定的操作,分配互连路径在部件之间传输数据;建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;
[0022]控制器综合步骤中,按调度要求驱动数据通路的控制器;
[0023]结果生成步骤中,将设计转换为硬件结构的物理实现。
[0024]根据本专利技术的又一个方面,采用如下技术方案:
[0025]一种芯片FPGA原型验证系统,包括:
[0026]设定单元,用以读取目标RTL设计代码,在所述RTL设计代码头部,设定宏定义数据,其中所述设定宏定义,可以根据RTL代码里的模块名称,模块开关、模块节点来设定宏定义,所述宏定义数据,包括但不限于获取的模块容量、模块面积、模块之间的连接关系和模块之间的时钟关系;
[0027]第一生成单元,用以根据所述宏定义数据,生成第一模块文件列表;
[0028]第二生产单元,用以根据目标验证模块,生成目标验证模块列表;
[0029]第三生成单元,用以将所述第一模块文件列表,与所述目标验证模块列表比较,删除所述第一模块文件列表中不在所述目标验证模块列表的模块,生成第二模块文件列表;
[0030]第一验证单元,用以对所述第二模块文件列表中的模块,根据多FPGA的约束条件,以不超过多FPGA最大工作容量和使用面积为前提,依次考虑最优化多FPGA的最少连接以及最优化多FPGA的时钟关系,将所述第二模块文件列表的模块分配到相应FPGA进行功能和性能的验证;
[0031]第一判断单元,用以判断是否验证成功;如果验证成功,则结束验证工作;如果不成功,则返回错误用于修改,修改错误之后执行第一验证单元。
[0032]进一步地,包括:转换单元,用以在执行所述第一验证单元之前,根据寄存器生成Excel表格,利用脚本转换成system verilog或C程序可用的头文件,用于寄存器验证。
[0033]进一步地,包括:所述Excel表格和所述程序可用的头文件,包含所述寄存器的地址定义和默认值。
[0034]进一步地,还包括:综合单元,用以将验证成功后的模块进行综合处理,所述综合处理指将RTL代码转换为门级网表文件或程序,包括编译、转换、调度、分配、控制器综合和结果的生成;所述资源指综合处理的结果,即综合处理生成的网表文件;
[0035]第二验证单元,用以将所述综合处理后的资源下载到FPGA,进行门级验证;
[0036]第二判断单元,用以判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种芯片FPGA原型验证方法,其特征在于,包括:步骤101,读取目标RTL设计代码,在所述RTL设计代码头部,设定宏定义数据,其中所述设定宏定义,可以根据RTL代码里的模块名称,模块开关、模块节点来设定宏定义,所述宏定义数据,包括但不限于获取的模块容量、模块面积、模块之间的连接关系和模块之间的时钟关系;步骤102,根据所述宏定义数据,生成第一模块文件列表;步骤103,根据目标验证模块,生成目标验证模块列表;步骤104,将所述第一模块文件列表,与所述目标验证模块列表比较,在所述第一模块文件列表中删除不在所述目标验证模块列表的模块,生成第二模块文件列表;步骤105,对所述第二模块文件列表中的模块,根据多FPGA的约束条件,以不超过多FPGA最大工作容量和使用面积为前提,依次考虑最优化多FPGA的最少连接以及最优化多FPGA的时钟关系,将所述第二模块文件列表的模块分配到相应FPGA进行功能和性能的验证;步骤106,判断是否验证成功;如果验证成功,则结束验证工作;如果不成功,则返回错误用于修改,修改错误之后执行步骤105。2.根据权利要求1所述的芯片FPGA原型验证方法,其特征在于,包括:步骤1041,在所述步骤105之前,根据寄存器生成Excel表格,利用脚本转换成system verilog或C程序可用的头文件,用于寄存器验证。3.根据权利要求2所述的芯片FPGA原型验证方法,其特征在于,包括:所述Excel表格和所述程序可用的头文件,包含所述寄存器的地址定义和默认值。4.根据权利要求1~3任一所述的芯片FPGA原型验证方法,其特征在于,还包括:步骤107,将验证成功后的模块进行综合处理,所述综合处理指将RTL代码转换为门级网表文件或程序,包括编译、转换、调度、分配、控制器综合和结果的生成;所述资源指综合处理的结果,即综合处理生成的网表文件;步骤108,将所述综合处理后的资源下载到FPGA,进行门级验证;步骤109,判断所述门级验证是否成功,如果成功,则结束门级验证,如果不成功,则返回错误用于修改,修改错误之后执行步骤105。5.根据权利要求4所述的芯片FPGA原型验证方法,其特征在于,包括:所述综合处理指将RTL代码转换为门级网表文件或程序,包括编译步骤、转换步骤、调度步骤、分配步骤、控制器综合步骤和结果生成步骤;所述资源指综合处理的结果,即综合处理生成的网表文件;编译步骤中,将由硬件描述语言编写的行为特性描述经过编译生成为一个适合自动综合的中间表示格式,包括控制流图、数据流图以及控制数据流图;转换步骤中,对设计的行为描述进行优化;包括编译优化、增加操作并行度、将复杂的多周期操作转换为简单操作、减少控制数据流图中关键路径和指定路径上的操作个数;调度步骤中,将操作赋给控制步;控制步是一个时序单位,对应若干个时钟周期;调度的目的是在满足约束条件下使得器件完成所有功能所需时间最少,即确定每个操作发生的时刻;分配步骤中,定义系统中部件和部件之间互连的过程;包括分配寄存器或RAM存储器来
存放数据值,分配功能部件来执行特定的操作,分配互连路径在部件之间传输数据;建立一个功能块级模块组成的数据通路,使所占用的硬件资源花费最少,尽量共享;控制器综合步骤中,按调度要求驱动数据通路的控制器;结果生成步骤中,将设计转换为硬件结构的物理实现。6.一种芯片FPGA原型验证系统,其特征在于,包括:...

【专利技术属性】
技术研发人员:刘兴茂刘丹张桂琴暴宇马婧宋太洙张佩文徐国超
申请(专利权)人:江苏汤谷智能科技有限公司
类型:发明
国别省市:

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

1