硬件知识产权块的代码转换装置和方法制造方法及图纸

技术编号:38819598 阅读:12 留言:0更新日期:2023-09-15 19:58
本申请涉及知识产权块设计领域,公开了一种硬件知识产权块的代码转换装置和方法,方法包括:基于提取知识产权块的硬件描述语言代码得到的模块信息,确定逻辑节点信息,所述逻辑节点信息表征硬件描述语言代码被抽象为逻辑节点对应的信息;基于所述逻辑节点信息,构建树型数据结构;基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,以得到所述知识产权块的硬件结构标记语言代码。本申请实施例能够将知识产权块的硬件描述语言代码转换为硬件结构标记语言代码,有助于提高开发效率。有助于提高开发效率。有助于提高开发效率。

【技术实现步骤摘要】
硬件知识产权块的代码转换装置和方法


[0001]本申请涉及知识产权块设计领域,尤其涉及一种知识产权块的代码转换装置和方法。

技术介绍

[0002]在芯片设计开发过程中,硬件描述语言(Hardware Description Language,简称HDL)是常用的语言,例如VHDL(Verilog Hardware Description Language)。
[0003]应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

技术实现思路

[0004]申请人发现,硬件描述语言不便于开发者的阅读,开发者难以快速了解硬件描述语言代码所描述的硬件的硬件结构,难以快速找到硬件的“性能瓶颈”,影响开发效率。
[0005]针对上述问题中的至少之一或类似的问题,本申请实施例提供一种知识产权块的代码转换装置和方法,将硬件描述语言代码转换为硬件结构的标记语言代码,提高硬件IP代码的可读性,提高开发效率。
[0006]本申请实施例提供一种知识产权块的代码转换方法,代码转换方法包括:基于提取知识产权块的硬件描述语言代码得到的模块信息,确定逻辑节点信息,所述逻辑节点信息表征硬件描述语言代码被抽象为逻辑节点对应的信息;基于所述逻辑节点信息,构建树型数据结构,其中,树型数据结构的节点与逻辑节点一一对应;基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,以得到所述知识产权块的硬件结构标记语言代码。
[0007]在一种可能的实现方式中,基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,包括:以深度优先方式遍历所述树型数据结构,根据所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码;或者,响应于目标节点的全部子节点对应逻辑节点的硬件结构标记语言代码均已生成或者所述目标节点为叶子节点,根据所述逻辑节点信息,确定所述目标节点对应逻辑节点的硬件结构标记语言代码,其中,所述目标节点为所述树型数据结构的任意节点。
[0008]在一种可能的实现方式中,其中,确定每个逻辑节点的硬件结构标记语言代码,包括:响应于逻辑节点的类型为子模块逻辑节点,确定所述逻辑节点的输入信号;抓取每个输入信号对应的输入逻辑节点;基于所述逻辑节点的全部输入逻辑节点以及全部子逻辑节点,确定所述逻辑节点
的硬件结构标记语言代码,其中,子模块逻辑节点为包括子逻辑节点的逻辑节点。
[0009]在一种可能的实现方式中,所述逻辑节点的输入信号是基于目标模块的输入、目标模块的输出、目标模块的寄存器级信号、目标模块的子模块的输入以及目标模块的子模块的输出中的至少一者确定的,其中,在所述逻辑节点为顶层逻辑节点的情况下,所述目标模块为知识产权块的顶层模块,在所述逻辑节点为非顶层逻辑节点的情况下,所述目标模块为所述逻辑节点的父逻辑节点对应的模块。
[0010]在一种可能的实现方式中,其中,确定每个逻辑节点的硬件结构标记语言代码,包括:响应于逻辑节点的类型为非子模块逻辑节点,确定所述逻辑节点的输出信号,抓取输出信号对应的非子模块逻辑节点,以确定所述逻辑节点的硬件结构标记语言代码,其中,非子模块逻辑节点为不包括子逻辑节点的逻辑节点。
[0011]在一种可能的实现方式中,所述输出信号包括所述逻辑节点的父逻辑节点对应模块的输出或寄存器级信号,所述非子模块逻辑节点包括基于输出确定的非子模块输出逻辑节点和/或基于寄存器级信号确定的非子模块寄存器逻辑节点。
[0012]在一种可能的实现方式中,其中,抓取得到的目标逻辑节点包括生成目标信号的组合逻辑以及参与所述组合逻辑的全部信号,其中,在所述目标逻辑节点为输入逻辑节点的情况下,所述目标信号为逻辑节点的输入信号,在所述目标逻辑节点为非子模块逻辑节点的情况下,所述目标信号为逻辑节点的输出信号。
[0013]在一种可能的实现方式中,其中,以代码引用或者直接调用方式将目标逻辑节点添加到包括所述目标逻辑节点的逻辑节点的硬件结构标记语言代码中。
[0014]在一种可能的实现方式中,所述逻辑节点信息包括每个逻辑节点对应的代码块,其中,所述基于所述逻辑节点信息,构建树型数据结构,包括:基于逻辑节点信息,确定不同逻辑节点对应的代码块之间的层级信息;基于所述层级信息,构建树型数据结构。
[0015]在一种可能的实现方式中,所述树型数据结构包括顶层节点,其中,所述知识产权块的硬件结构标记语言代码是基于顶层节点对应逻辑节点的硬件结构标记语言代码确定的。
[0016]在一种可能的实现方式中,所述硬件描述语言代码是基于所述知识产权块的高级编程语言代码生成的。
[0017]本申请实施例还提供一种知识产权块的代码转换装置,所述代码转换装置包括:提取模块,用于基于提取知识产权块的硬件描述语言代码得到的模块信息,确定逻辑节点信息,所述逻辑节点信息表征硬件描述语言代码被抽象为逻辑节点对应的信息;第一确定模块,用于基于所述逻辑节点信息,构建树型数据结构,其中,树型数据结构的节点与逻辑节点一一对应;第二确定模块,用于基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,以得到所述知识产权块的硬件结构标记语言代码。
[0018]在一种可能的实现方式中,所述第二确定模块用于:以深度优先方式遍历所述树型数据结构,根据所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码;或者,响应于目标节点的全部子节点对应逻辑节点的硬件结构标记语言代码均已生成或者所述目标节点为叶子节点,根据所述逻辑节点信息,确定所述目标节点对应逻辑节点的硬件结构标记语言代码,其中,所述目标节点为所述树型数据结构的任意节点。
[0019]在一种可能的实现方式中,其中,所述第二确定模块用于:响应于逻辑节点的类型为子模块逻辑节点,确定所述逻辑节点的输入信号;抓取每个输入信号对应的输入逻辑节点;基于所述逻辑节点的全部输入逻辑节点以及全部子逻辑节点,确定所述逻辑节点的硬件结构标记语言代码,其中,子模块逻辑节点为包括子逻辑节点的逻辑节点。
[0020]在一种可能的实现方式中,所述逻辑节点的输入信号是基于目标模块的输入、目标模块的输出、目标模块的寄存器级信号、目标模块的子模块的输入以及目标模块的子模块的输出中的至少一者确定的,其中,在所述逻辑节点为顶层逻辑节点的情况下,所述目标模块为知识产权块的顶层模块,在所述逻辑节点为非顶层逻辑节点的情况下,所述目标模块为所述逻辑节点的父逻辑节点对应的模块。
[0021]在一种可能的实现方式中,其中,所述第二确定模块用于:响应于逻辑节点的类型为非子模块逻辑节点,确定所述逻辑节点的输出信号,抓取输出信号对应的非子模块逻辑节点,以确定所述逻辑节点的硬件结构标记语言代码,其中,非子模块逻辑节点为不包括子逻辑节点的逻辑节点。
[0022]在一种可能本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种知识产权块的代码转换方法,其特征在于,所述方法包括:基于提取知识产权块的硬件描述语言代码得到的模块信息,确定逻辑节点信息,所述逻辑节点信息表征硬件描述语言代码被抽象为逻辑节点对应的信息;基于所述逻辑节点信息,构建树型数据结构,其中,树型数据结构的节点与逻辑节点一一对应;基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,以得到所述知识产权块的硬件结构标记语言代码。2.根据权利要求1所述的方法,其特征在于,基于所述树型数据结构以及所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码,包括:以深度优先方式遍历所述树型数据结构,根据所述逻辑节点信息,确定每个逻辑节点的硬件结构标记语言代码;或者,响应于目标节点的全部子节点对应逻辑节点的硬件结构标记语言代码均已生成或者所述目标节点为叶子节点,根据所述逻辑节点信息,确定所述目标节点对应逻辑节点的硬件结构标记语言代码,其中,所述目标节点为所述树型数据结构的任意节点。3.根据权利要求1所述的方法,其特征在于,其中,确定每个逻辑节点的硬件结构标记语言代码,包括:响应于逻辑节点的类型为子模块逻辑节点,确定所述逻辑节点的输入信号;抓取每个输入信号对应的输入逻辑节点;基于所述逻辑节点的全部输入逻辑节点以及全部子逻辑节点,确定所述逻辑节点的硬件结构标记语言代码,其中,子模块逻辑节点为包括子逻辑节点的逻辑节点。4.根据权利要求3所述的方法,其特征在于,所述逻辑节点的输入信号是基于目标模块的输入、目标模块的输出、目标模块的寄存器级信号、目标模块的子模块的输入以及目标模块的子模块的输出中的至少一者确定的,其中,在所述逻辑节点为顶层逻辑节点的情况下,所述目标模块为知识产权块的顶层模块,在所述逻辑节点为非顶层逻辑节点的情况下,所述目标模块为所述逻辑节点的父逻辑节点对应的模块。5.根据权利要求1所述的方法,其特征在于,其中,确定每个逻辑节点的硬件结构标记语言代码,包括:响应于逻辑节点的类型为非子模块逻辑节点,确定所述逻辑节点的输出信号,抓取输出信号对应的非子模块逻辑节点,以确定所述逻辑节点的硬件结构标记语言代码,其中,非子模块逻辑节点为不包括子逻辑节点的逻辑节点。6.根据权利要求5所述的方法,其特征在于,所述输出信号包括所述逻辑节点的父逻辑节点对应模块的输出或寄存器级信号,所述非子模...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:摩尔线程智能科技北京有限责任公司
类型:发明
国别省市:

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

1