【技术实现步骤摘要】
基于C语言的代码生成方法、装置、电子设备及存储介质
[0001]本申请涉及计算机
,尤其涉及一种基于C语言的代码生成方法、装置、电子设备及存储介质。
技术介绍
[0002]随着技术的发展,为了实现多种芯片的工作场景,需要对芯片的多种功能进行性能的验证。
[0003]相关技术中,驱动工程师可以基于验证环境所用的语言环境,人工编辑相关配置参数,并通过设定方式传输给验证工程师,验证工程师基于该配置参数对芯片性能进行验证,人工成本耗费较大,维护成本较高。
技术实现思路
[0004]本申请的目的旨在至少在一定程度上解决上述技术中的技术问题之一。
[0005]本申请提出一种基于C语言的代码生成方法,以人工成本的消耗,有效提升验证效率。
[0006]本申请第一方面提出了一种基于C语言的代码生成方法,包括:生成SV语言数据包,并根据所述SV语言数据包映射生成对应的C语言数据包,其中,所述C语言数据包中包括运行模式和地址信息;在C语言驱动和SV语言驱动的驱动下,根据所述运行模式和所述地址信息,获取 ...
【技术保护点】
【技术特征摘要】
1.一种基于C语言的代码生成方法,其特征在于,包括:生成SV语言数据包,并根据所述SV语言数据包映射生成对应的C语言数据包,其中,所述C语言数据包中包括运行模式和地址信息;在C语言驱动和SV语言驱动的驱动下,根据所述运行模式和所述地址信息,获取待验证代码对应的运行模式的写入数据;将所述运行模式的写入数据,写入所述待验证代码并运行,以获取待验证数据;获取参考代码,根据所述写入数据运行所述参考代码,生成参考数据;根据所述待验证数据和所述参考数据,生成目标代码。2.根据权利要求1所述的方法,其特征在于,所述在C语言驱动和SV语言驱动的驱动下,根据所述运行模式和所述地址信息,获取待验证代码对应的运行模式的写入数据,包括:运行C语言驱动,将所述运行模式和所述地址信息传输至第一模拟数据接口,并运行SV语言驱动,将所述运行模式和所述地址信息写入所述第一模拟数据接口,其中,所述第一模拟数据接口用于将所述运行模式和所述地址信息传输至第一模拟寄存器;从所述第一模拟寄存器中读取所述运行模式和所述地址信息;在所述运行模式下,根据所述地址信息,获取所述运行模式的所述写入数据。3.根据权利要求2所述的方法,其特征在于,所述在所述运行模式下,根据所述地址信息,获取所述运行模式的写入数据,包括:将从所述第一模拟寄存器中读取的所述存储地址,传输至第二模拟寄存器,其中,所述第二模拟寄存器用于将所述存储地址传输至第二模拟数据接口;根据所述存储地址,通过所述第二模拟数据接口获取所述写入数据,回传至所述第二模拟寄存器;从所述第二模拟寄存器中读取所述写入数据。4.根据权利要求2所述的方法,其特征在于,所述生成SV语言数据包,包括:获取所述运行模式和所述写入数据的存储地址之间的固定配置列表;根据所述待验证代码的待验证属性参数,从所述固定配置列表中确定所述运行模式和所述运行模式对应的所述写入数据的所述存储地址;根据所述存储地址生成所述地址信息,并基于所述运行模式和所述地址信息,生成所述SV语言数据包。5.根据权利要求2所述的方法,其特征在于,所述生成SV语言数据包,包括:根据所述待验证代码的所述待验证属性参数,从可用运行模式中,随机选择任一运行模式作为所述运行模式;随机地为所述运行模式匹配对应的所述写入数据的所述存储地址,并根据所述存储地址生成所述地址信息;基于所述运行模式和所述地址信息,生成所述SV语言数据包。6.根据权利要求5所述的方法,其特征在于,所述根据所述待验证数据和所述参考数据,生成目标代码,包括:响应于所述待验证数据和所述参考数据匹配,则将所述待验证代码确定为所述目标代码;响应于所述待验证数据和所述参考数据不匹配,则获取所述待验证代码的故障信息,
对所述故障信息进行修复,并返回运行修复后的所述待验证代码,直至修复后的所述待验证数据和所述参考数据匹配,则生成所述目标代码。7.一种基于C语言的代码生成装置,其特征在于,包括:映射模块,用于生成SV语言数据包,并根据所述SV语言数据包映射生成对应的C语言数据包,其中,所述C语言数据包中包括...
【专利技术属性】
技术研发人员:索健,王正,
申请(专利权)人:北京爱芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。