技术新讯 > 计算推算,计数设备的制造及其应用技术 > 基于层次化的时钟树建模方法、装置、设备及存储介质与流程  >  正文

基于层次化的时钟树建模方法、装置、设备及存储介质与流程

  • 国知局
  • 2024-12-06 12:25:07

本申请实施例涉及网表文件领域,特别涉及一种基于层次化的时钟树建模方法、装置、设备及存储介质。

背景技术:

1、近年来集成电路规模越来越大,几十亿、乃至百亿门的大规模数字电路的应用将会越来越多,相应的辅助验证需求也将日益普遍。随着用户的dut复杂度越来越大,软件仿真耗时激增,硬件在线插入探针对信号进行采样的需求越来越明显。探针需要插入到采样信号的net,同时需要连接采样时钟来触发已采到的采样信号的输出。所以用户想要采样自己感兴趣的信号,还需要找到驱动采样信号输出的时钟节点。为了找到这些时钟节点,就需要对时钟树进行建模。

2、在相关技术中,时钟树建模是基于打平的结构进行建模,打平结构不关注层级结构,忽略掉自定义模块,只关注fpga原语,将fpga原语放在同一层,通常放在顶层模块下。这样丢失层次结构会带来3个问题,1是采样信号net(节点)的位置会发生变化;2是自定义模块中的net被删除;3是不同模块下同名net冲突。这3个问题带来了时钟树结构和网表结构差异,这些差异让查找采样信号和采样时钟变的非常困难,繁琐耗时。

3、打平结构变化带来的问题,可以通过保留层次结构的时钟建模来解决。这样建模出来的时钟树,时钟信号的层次结构和连接关系会和网表中的保持一致,查找采样信号和采样时钟就很快捷方便了。

技术实现思路

1、本申请实施例提供一种基于层次化的时钟树建模方法、装置、设备及存储介质,解决相关技术打平结构的时钟树建模带来的查找采样信号和采样时钟困难的问题。

2、一方面,本申请提供一种基于层次化的时钟树建模方法,所述方法包括:

3、获取网表文件,将顶层模块设置为待处理模块,遍历待处理模块下的所有实例,根据遍历的实例类型确定自定义模块,并将自定义模块设置为待处理模块;依次遍历设置的待处理模块下的所有实例,逐层确定所有自定义模块和设置待处理模块;

4、将顶层模块设置的树形节点treenode作为待处理节点,遍历待处理节点下的所有树形接线treenet和树形端口treeport,标记关联关系,并将当前待处理treenode的所有子节点设置为待处理节点;依次遍历所有设置的待处理节点,依次遍历其中所有的treenet和treeport,逐层确定其中所有子节点,将其确定待处理节点;

5、基于识别确定的待处理节点以及treenet和treenet的关联关系,创建出树形节点treenode表、树形接线treenet表、树形端口treeport表,以及根据网表结构的信号路径建立接线链路netchain表;

6、读取建立的treenode表、treenet表、treeport表,以及netchain表,沿着时钟顶层入口,根据层次化结构进行时钟建模。

7、具体的,所述根据遍历的实例类型确定自定义模块,包括:

8、依次遍历待处理模块下的所有实例,当遍历的实例是fpga原语时,结束遍历;当遍历的实例是自定义模块时,将自定义模块设置为待处理模块。

9、具体的,构建所述treenode表包括:

10、将所述顶层模块设置为层次结构的根节点,自定义模块为中间节点,fpga原语为叶子节点;

11、将每个实例对应为一个treenode,不同treenode使用同名或不同名标注,每个treenode记录对应的父节点和子节点;

12、对每个treenode记录所属的pin/port,将其以treeport结构记录和存储在端口信息存储器中;每个treenode记录所属的接线net,将其以 treenet 结构记录和存储在接线信息存储器中。

13、另一方面,本申请提供一种基于层次化的时钟树建模装置,所述装置包括:

14、第一设置模块,用于获取网表文件,将顶层模块设置为待处理模块,遍历待处理模块下的所有实例,根据遍历的实例类型确定自定义模块,并将自定义模块设置为待处理模块;依次遍历设置的待处理模块下的所有实例,逐层确定所有自定义模块和设置待处理模块;

15、第二设置模块,用于将顶层模块设置的树形节点treenode作为待处理节点,遍历待处理节点下的所有树形接线treenet和树形端口treeport,标记关联关系,并将当前待处理treenode的所有子节点设置为待处理节点;依次遍历所有设置的待处理节点,依次遍历其中所有的treenet和treeport,逐层确定其中所有子节点,将其确定待处理节点;

16、建表模块,用于基于识别确定的待处理节点以及treenet和treenet的关联关系,创建出树形节点treenode表、树形接线treenet表、树形端口treeport表,以及根据网表结构的信号路径建立接线链路netchain表;

17、时钟建模模块,用于读取建立的treenode表、treenet表、treeport表,以及netchain表,沿着时钟顶层入口,根据层次化结构进行时钟建模。

18、又一方面,本申请提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的基于层次化的时钟树建模方法。

19、又一方面,本申请提供一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述方面所述的基于层次化的时钟树建模方法。

20、本申请实施例提供的技术方案带来的有益效果至少包括:本申请通过遍历整个网表结构,从顶层模块为切入点,逐层遍历识别其中的自定义模块类型,并将所有探测到的自定义模块的树形节点作为后续的待处理节点,向内遍历树形端口和内部的子节点,根据各节点、接线、端口和引脚的关系建立数据表格,并以此作为后续时钟建模的依据,这种方法保留了时钟信号的层次结构和连接关系,便于用户快速的将探针插入到感兴趣的采样信号和采样时钟上。

技术特征:

1.一种基于层次化的时钟树建模方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据遍历的实例类型确定自定义模块,包括:

3.根据权利要求2所述的方法,其特征在于,构建所述treenode表包括:

4.根据权利要求3所述的方法,其特征在于,构建所述treenet表包括:

5.根据权利要求4所述的方法,其特征在于,构建所述treeport表包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括建立netchain的层次结构,包括:

7.根据权利要求6所述的方法,其特征在于,所述沿着时钟顶层入口,根据层次化结构进行时钟建模,包括:

8.一种基于层次化的时钟树建模装置,其特征在于,所述装置包括:

9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的基于层次化的时钟树建模方法。

10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的基于层次化的时钟树建模方法。

技术总结本申请公开基于层次化的时钟树建模方法、装置、设备及存储介质,涉及网表文件领域。获取网表文件,从顶层模块开始逐层向内遍历所有实例,确定所有自定义模块和设置待处理模块;将顶层模块设置的树形节点作为待处理节点,遍历其下所有树形接线和树形端口;依次遍历所有设置的待处理节点,遍历所有树形接线和树形端口,逐层确定所有子节点;基于确定的待处理节点创建出树形节点表、接线表、端口表,根据信号路径建立接线链路表;基于建立的表,沿时钟顶层入口,根据层次化结构进行时钟建模。利用该设计方法采样时钟,采样信号保留了原网表的层次结构,调试时插入探针可以快速的找到采样时钟和采样信号,减少查找的时间,提高工作效率。技术研发人员:熊风,周斌,闫宇暾,沈坚,李云江受保护的技术使用者:无锡亚科鸿禹电子有限公司技术研发日:技术公布日:2024/12/2

本文地址:https://www.jishuxx.com/zhuanli/20241204/341279.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。