【技术实现步骤摘要】
集成电路装置设计仿真方法、装置、设备和可读存储介质
[0001]本公开的实施例涉及集成电路
,更具体地涉及一种集成电路装置设计仿真方法、装置、设备和可读存储介质。
技术介绍
[0002]随着集成电路的复杂度不断增加,电路设计的复杂度也不断提高。例如,当前对计算设备的计算能力的需求急剧增长,通用图形处理器(General
‑
purpose computing on graphics processing units,GPGPU)因其并行计算的设计而具有极为广泛的应用,此外,对集成电路快速迭代的要求也越来越高,其中,集成电路的模型的好坏对整个电路设计有着极其重要的作用。
[0003]因为集成电路设计的特性,模型通常是基于接口、模块、寄存器和时钟而服务于处理事务,故而开发者大多抽象出这些通用的部件构建出统一的模型框架,在模型框架的基础上填充模型的功能,以利于后续的仿真验证、物理设计等设计步骤。对于GPGPU这种大型集成电路而言,存在模块多、接口多、数据交互多等特点,即使在模型框架的层面进行GPGPU ...
【技术保护点】
【技术特征摘要】
1.一种用于集成电路装置的设计仿真方法,包括:获取基于所述集成电路装置的多个模块构建的运行队列,其中,所述运行队列包括选自所述多个模块的至少一个模块,并且在所述运行队列中,所述至少一个模块是基于所述至少一个模块的执行层级来顺序排列的;确定可用的处理器;以及使用所述可用的处理器来运行所述运行队列内的模块的仿真函数,用于对所述集成电路装置进行仿真验证。2.根据权利要求1所述的方法,其中,所述运行队列是按照以下步骤基于所述集成电路装置的多个模块构建的:获取所述集成电路装置的多个模块之间的层级结构;基于所述层级结构,生成对应于所述至少一个模块的多叉树结构,其中,所述多叉树结构以不同的节点表征不同的模块,每个子节点表征的模块被包括在与所述子节点对应的父节点表征的模块中,以具有节点深度的子节点和父节点之间的连接顺序表征所述至少一个模块的执行层级;以及基于节点深度对所述多叉树结构中的节点进行遍历,以构建所述运行队列。3.根据权利要求2所述的方法,其中,在所述运行队列中按照所述连接顺序来排列节点并且其中包括与该节点相关联的节点信息,所述节点信息包括:节点名称、运行指示符、父节点信息和子节点信息,所述运行指示符用于指示该节点的仿真函数是否可运行,所述父节点信息包括与该节点直接相连的父节点的节点名称,所述子节点信息包括与该节点直接相连的子节点的节点名称。4.根据权利要求3所述的方法,其中,所述基于节点深度对所述多叉树结构中的节点进行遍历,以构建所述运行队列包括:按照深度优先的原则,从具有最大节点深度的叶子节点开始,在所述多叉树中以节点深度从大到小的顺序的依次访问至具有节点深度为1的根节点,以构建所述运行队列,其中,所述叶子节点表示不具有子节点的节点,所述根节点表示不具有父节点的节点。5.根据权利要求4所述的方法,其中,所述按照深度优先的原则,从具有最大节点深度的叶子节点开始,在所述多叉树中以节点深度从大到小的顺序的依次访问至具有节点深度为1的根节点,包括:按照节点的节点深度将节点的节点信息顺序地存储在所述运行队列中,其中,对于具有相同节点深度的节点,确定该节点是叶子节点还是父节点,在所述运行队列中将所述叶子节点的节点信息存储在所述父节点的节点信息之前,并将所述叶子节点的运行指示符设置为标记1,将所述父节点的运行指示符设置为标记2,其中,所述运行指示符为标记1指示该节点的仿真函数可运行,所述运行指示符为标记2指示该节点的仿真函数不可运行。6.根据权利要求5所述的方法,其中,所述按照深度优先的原则,从具有最大节点深度的叶子节点开始,在所述多叉树中以节点深度从大到小的顺序的依次访问至具有节点深度为1的根节点,还包括:对于所述多叉树结构中的节点,确定存在数据信息的活跃节点,并将所述活跃节点以
及与所述活跃节点直接相连的父节点和子节点标记为激活状态。7.根据权利要求6所述的方法,其中,所述按照节点的节点深度将该节点的节点信息存储在所述运行队列中,包括:在一个仿真时钟周期中,仅对于当前所述多叉树结构中标记为所述激活状态的节点,按照节点的节点深度将该节点的节点信息存储在所述运行队列中,而不存储当前所述多叉树结构中未被标记为所述激活状态的节点。8.根据权利要求5所述的方法,其中,所述按照节点的节点深度将节点的节点信息顺序地存储在所述运行队列中包括:对于最大节点深度N:确定节点深度为N的节点,并将所述节点深度为N的节点的节点信息存储在所述运行队列中,其中,将所述节点深度为N的节点的运行指示符设置为标记1,将与所述节点深度为N的节点直接相连的父节点的节点名称作为所述节点深度为N的节点的父节点信息;以及对于深度小于N的节点深度M:确定节点深度为M的叶子节点,并将所述节点深度为M的叶子节点的节点信息存储在所述运行队列中,其中,将所述节点深度为M的叶子节点的运行指示符设置为标记1,将与所述节点深度为M的叶子节点直接相连的父节点的节点名称作为所述节点深度为M的叶子节点的父节点信息;确定节点深度为M的父节点,并将所述节点深度为M的父节点的节点信息存储在所述运行队列中,其中,将所述节点深度为M的父节点的运行指示符设置为标记2,将与所述节点深度为M的父节点直接相连的父节点的节点名称作为所述节点深度为M的父节点的父节点信息,以及将与所述节点深度为M的父节点直接相连的子节点的节点名称作为所述节点深度为M的父节点的子节点信息,其中,N为大于1的整数,M为小于N大于1的整数。9.根据权利要求5所述的方法,其中,所述可用的处理器的数目为多个,所述使用所述可用的处理器来运行所述运行队列内的模块的仿真函数包括:使用多个所述可用的处理器来并行地运行所述运行队列内的多个模块的仿真函数。10.根据权利...
【专利技术属性】
技术研发人员:王斌,潘于,陈俊,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。