基于复位树原型图的代码生成方法、装置、设备及介质与流程

文档序号:34541580发布日期:2023-06-27 17:06阅读:26来源:国知局
基于复位树原型图的代码生成方法、装置、设备及介质与流程

本发明涉及芯片,尤其涉及一种基于复位树原型图的代码生成方法、装置、设备及介质。


背景技术:

1、芯片市场需求和应用场景具有不确定性,使得芯片设计期间,芯片规格不断发生变化,最常见的规格改动:新增ip核(intellectual property core,知识产权核)、新增复位源、修改复位方式等。复位需求的频繁改变导致了芯片设计工程师需要频繁修改verilog代码和复位树原型图以进行迭代,而频繁修改verilog代码和复位树原型图将会产生设计、验证效率低和研发周期变长的问题。


技术实现思路

1、本发明提供了一种基于复位树原型图的代码生成方法、装置、设备及介质,以解决频繁修改verilog代码和复位树原型图产生的设计、验证效率低和研发周期变长问题。

2、第一方面,本发明提供了一种基于复位树原型图的代码生成方法,所述方法包括:

3、获取变更复位树原型图以及原始复位树原型图;

4、获取所述变更复位树原型图中相比于所述原始复位树原型图发生更改的变更模块以及相比于所述原始复位树原型图保持一致的原始模块;

5、获取所述变更复位树原型图中的所述变更模块的连接信息;

6、获取所述变更模块对应的代码模板,根据所述变更模块的连接信息以及所述变更模块的代码模板生成所述变更模块的代码段;

7、获取原始复位树原型图的代码,从所述原始复位树原型图的代码中提取所述原始模块的代码段;

8、基于所述变更模块的代码段以及所述原始模块的代码段生成所述变更复位树原型图的代码。

9、其进一步的技术方案为,所述获取所述变更复位树原型图中相比于所述原始复位树原型图发生更改的变更模块以及相比于所述原始复位树原型图保持一致的原始模块,包括:

10、解析获取所述变更复位树原型图包含的第一模块,以及所述第一模块的输入对象和输出对象;

11、解析获取所述原始复位树原型图包含的第二模块,以及所述第二模块的输入对象和输出对象;

12、判断所述原始复位树原型图中是否存在模块类型、输入对象以及输出对象均与所述第一模块相同的第二模块;

13、若所述原始复位树原型图中存在模块类型、输入对象以及输出对象均与所述第一模块相同的第二模块,判定所述第一模块为所述原始模块;

14、若所述原始复位树原型图中不存在模块类型、输入对象以及输出对象均与所述第一模块相同的第二模块,判定所述第一模块为所述变更模块。

15、其进一步的技术方案为,所述根据所述变更模块的连接信息以及所述变更模块的代码模板生成所述变更模块的代码段,包括:

16、根据所述变更模块的连接信息确定所述变更模块的输入信息以及输出信息;

17、根据所述变更模块的输入信息、输出信息以及代码模板生成所述变更模块的代码段。

18、其进一步的技术方案为,所述根据所述变更模块的输入信息、输出信息以及代码模板生成所述变更模块的代码段,包括:

19、根据所述变更模块的输入信息确定所述变更模块的代码模板的输入属性;

20、根据所述变更模块的输出信息确定所述变更模块的代码模板的输出属性;

21、将所述输入属性以及所述输出属性添加到所述变更模块的代码模板中,得到所述变更模块的代码段。

22、其进一步的技术方案为,所述获取所述变更复位树原型图中的所述变更模块的连接信息,包括:

23、获取所述变更复位树原型图中的所述变更模块的输入对象以及输出对象,得到所述变更模块的连接信息。

24、其进一步的技术方案为,所述根据所述变更模块的连接信息确定所述变更模块的输入信息以及输出信息,包括:

25、获取所述变更模块的输入对象向所述变更模块输出的第一信号信息作为所述变更模块的输入信息;

26、获取所述变更模块向所述变更模块的输出对象输出的第二信号信息作为所述变更模块的输出信息。

27、其进一步的技术方案为,所述获取所述变更模块对应的代码模板,包括:

28、判断预设的代码库中是否存在所述变更模块对应的代码模板;

29、若预设的代码库中存在所述变更模块对应的代码模板,则从所述代码库中获取所述变更模块对应的代码模板;

30、若预设的代码库中不存在所述变更模块对应的代码模板,将所述变更模块的名称发送给预设的目标终端;

31、接收所述目标终端返回的所述变更模块对应的代码模板。

32、第二方面,本发明提供了一种基于复位树原型图的代码生成装置,包括用于执行如第一方面任一项实施例所述的基于复位树原型图的代码生成方法的单元。

33、第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项实施例所述方法。

34、第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的基于复位树原型图的代码生成方法的步骤。

35、本发明实施例提供的上述技术方案与现有技术相比具有如下优点:

36、本发明实施例提供的该方法,预先编写复位树原型图的模块的代码模板,在修改复位树原型图后,获取所述变更复位树原型图中相比于所述原始复位树原型图发生更改的变更模块以及相比于所述原始复位树原型图保持一致的原始模块;获取所述变更复位树原型图中的所述变更模块的连接信息;获取所述变更模块对应的代码模板,根据所述变更模块的连接信息以及所述变更模块的代码模板生成所述变更模块的代码段;获取原始复位树原型图的代码,从所述原始复位树原型图的代码中提取所述原始模块的代码段;基于所述变更模块的代码段以及所述原始模块的代码段生成所述变更复位树原型图的代码。因此,在需求发生变化即复位树原型图需要迭代更新时,工程师只需针对性地设计复位树原型图各个模块的布局,以优化芯片面积和功耗,得到变更复位树原型图。变更复位树原型图的代码可根据本发明的方法自动生成,有效缩短了研发的周期,提高了迭代效率。



技术特征:

1.一种基于复位树原型图的代码生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述获取所述变更复位树原型图中相比于所述原始复位树原型图发生更改的变更模块以及相比于所述原始复位树原型图保持一致的原始模块,包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述变更模块的连接信息以及所述变更模块的代码模板生成所述变更模块的代码段,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述变更模块的输入信息、输出信息以及代码模板生成所述变更模块的代码段,包括:

5.根据权利要求3所述的方法,其特征在于,所述获取所述变更复位树原型图中的所述变更模块的连接信息,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述变更模块的连接信息确定所述变更模块的输入信息以及输出信息,包括:

7.根据权利要求1所述的方法,其特征在于,所述获取所述变更模块对应的代码模板,包括:

8.一种基于复位树原型图的代码生成装置,其特征在于,包括用于执行如权利要求1-7任一项所述方法的单元。

9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法的步骤。


技术总结
本发明涉及一种基于复位树原型图的代码生成方法,涉及芯片技术领域,该方法包括:获取变更复位树原型图以及原始复位树原型图;获取变更复位树原型图中相比于原始复位树原型图发生更改的变更模块以及相比于原始复位树原型图保持一致的原始模块;获取变更复位树原型图中变更模块的连接信息;获取变更模块对应的代码模板,根据变更模块的连接信息以及变更模块的代码模板生成变更模块的代码段;获取原始复位树原型图的代码,从原始复位树原型图的代码中提取原始模块的代码段;基于变更模块的代码段以及原始模块的代码段生成变更复位树原型图的代码。由此,变更复位树原型图的代码可根据本发明的方法自动生成,有效缩短了研发的周期,提高了迭代效率。

技术研发人员:唐海琪,蔡权雄,熊超,牛昕宇
受保护的技术使用者:深圳鲲云信息科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1