[发明专利]基于管理进程的集成电路仿真粗颗粒并行方法及装置有效
申请号: | 202110459708.3 | 申请日: | 2021-04-27 |
公开(公告)号: | CN112988404B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 唐章宏;邹军;汲亚飞;王芬;黄承清 | 申请(专利权)人: | 北京智芯仿真科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F30/23;G06F115/12 |
代理公司: | 北京星通盈泰知识产权代理有限公司 11952 | 代理人: | 李筱 |
地址: | 100085 北京市海淀区信*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 管理 进程 集成电路 仿真 颗粒 并行 方法 装置 | ||
1.基于管理进程的集成电路仿真粗颗粒并行方法,其特征在于,包括:
将整个集成电路模型的电磁仿真分割成多个计算颗粒,获取各计算颗粒的加权CPU时间和总CPU时间,依据所述加权CPU时间和所述总CPU时间的占比确定出计算粗颗粒;所述计算颗粒为需要多次重复执行的计算单元;
建立管理进程,所述管理进程读取所有需要仿真的集成电路模型,定义对象存储所述集成电路模型的模型信息、计算条件、计算状态以及管理进程与计算进程的消息内容存储;
通过所述管理进程并行发起多个独立的计算进程,所述管理进程与各计算进程进行通信实现对计算进程的管理,各计算进程之间不进行任何通信;每个被发起的计算进程根据收到的管理进程的应答信息,执行完成分配的一个计算粗颗粒或结束该计算进程;
当所有并行粗颗粒的计算任务都完成时,所述管理进程收集计算结果并将所有计算任务的计算结果整理生成最终计算结果;
其中,所述定义对象存储所述集成电路模型的模型信息、计算条件、计算状态以及管理进程与计算进程的消息内容存储,具体包括:
针对所有的集成电路模型,定义对象M,所述对象M包括集成电路模型存储字段、集成电路模型类型存储字段、集成电路模型文件路径存储字段及所述集成电路模型对应的剖分的网格数据文件路径存储字段、集成电路模型计算条件存储字段、集成电路模型计算状态存储字段和进程的消息内容存储字段;
所述集成电路模型存储字段记为Data,该字段存储集成电路模型的所有信息,包括定义集成电路模型的层信息、集成电路各层的版图信息、集成电路各层的介质信息、集成电路各层的连接关系以及集成电路的外部电路;
所述集成电路模型类型存储字段记为Type,该字段存储所述集成电路模型的仿真类型和集成电路模型的规模;所述集成电路模型的仿真类型包括:多层PCB版图模型、IC封装模型、多层厘米级至纳米级尺度范围的多尺度结构芯片设计模型,以及多个集成电路模型的联合仿真;所述集成电路模型的规模包括:层数在4层以下的小规模集成电路模型、层数在4层以上20层以下的中等规模集成电路模型以及层数在20层以上的大规模集成电路模型;
所述集成电路模型文件路径存储字段及所述集成电路模型对应的剖分的网格数据文件路径存储字段记为Path;
所述集成电路模型计算条件存储字段记为Net,该字段存储不同集成电路模型的计算参数,包括:集成电路的直流压降分析和集成电路的电热耦合分析的端口与端口初始温度信息、集成电路电源完整性分析初始条件与仿真频率信息、集成电路信号完整性分析初始条件与仿真频率信息、集成电路电源完整性与信号完整性优化指标与仿真频率信息、集成电路的电磁干扰和电磁兼容分析的仿真频率与仿真端口信息、集成电路的等效电路参数提取的待分析端口信息与集成电路的IBIS模型提取的待分析端口信息;
所述集成电路模型计算状态存储字段记为State,该字段存储集成电路模型计算状态,包括以下5种计算状态:未计算且未生成网格,用C0_M0表示;未计算且正在生成网格,用C0_M1表示;未计算且生成网格完毕,用C0_M表示;正在计算且生成网格完毕,用C1_M表示;完成计算,用C_M表示;
所述进程的消息内容存储字段记为Message,该字段存储管理进程与计算进程之间发送的消息,发送的消息包括:查询指令,用Inquire表示;结果更新指令,用Update表示;进入网格生成指令,用P_Y表示;不生成网格而是直接读取网格进行计算指令,用P_N表示;关闭进程指令,用P_NN表示;
所述针对所有的集成电路模型定义的对象M用M[Data][Type][Path][Net][State][Message]完整表示,所述对象M泛指存储介质中的内存区,对象M是连续的或者非连续的,或者是远程数据库记录或者是一个字符串,或者是json,xml,ini文件;
并且,其中,所述通过管理进程并行发起多个独立的计算进程,所述管理进程与各计算进程进行通信实现对计算进程的管理,各计算进程之间不进行任何通信,具体包括:
S101:建立一个管理进程MK,如果建立成功,进入步骤S102,如果建立失败,进入步骤S109;
S102:定义对象M[Data][Type][Path][Net][State][Message],定义对象M的元素Mi为与并行粗颗粒对应的对象M字段Data、Type、Path、Net、State、Message的具体实例;将集成电路模型存入对象M的[Data];归类集成电路模型的类型,将其存入对象M的[Type];将集成电路模型的路径以及所述集成电路模型对应的生产剖分的网格数据文件路径存入对象M的[Path]中;将集成电路模型的计算条件存入对象M中的[Net];初始化对象M的字段State=C0_M0;初始化对象M的Message为空;初始化进程号Ki=1;
S103:管理进程MK建立第Ki个计算进程,如果第Ki个计算进程建立失败,暂停时间
S104:管理进程MK进入HTTP网络服务应答状态,查询所有计算进程的工作状态及进程池中的计算进程数,所述工作状态包括挂起、就绪、退出,如果进程池中的计算进程数小于允许创建的最大计算进程数,进入步骤S103,否则激活所有挂起状态的计算进程进入就绪状态并进入步骤S105;
S105:如果管理进程MK收到任意计算进程
S106:管理进程MK查询对象M的所有元素的计算状态,如果对象M的所有元素的字段State=C_M,说明所有计算任务都计算完毕,进入步骤S109;否则进入步骤S107;
S107:如果对象M的某个元素Mi的字段State= C0_M0,更新该元素Mi的字段State= C0_M1,管理进程MK回复计算进程
S108:进入步骤S104;
S109:向所有计算进程发送P_NN指令,关闭所有计算进程,结束管理进程MK。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯仿真科技有限公司,未经北京智芯仿真科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110459708.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有降温、除湿和防尘结构的配电箱
- 下一篇:电机过载保护电路