System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及电子设计自动化领域,具体的,涉及一种确定电路的方程组的方法和计算装置。
技术介绍
1、电子电路仿真(electronic circuit simulation,ecs)是指对电子电路的物理行为进行数学建模并实施模拟仿真,它是电子设计自动化(electronic design automation,eda)中的一个重要环节。电路设计流程中,设计师可在制造实际的电路之前,使用仿真器对电路的性能进行仿真验证,由此可以大量减少试错成本,提高设计效率。
2、目前,电路仿真技术的演进从未考虑过对仿真器的功能进行增强,使得电路、器件模型的开发难度较大。例如,目前的仿真器在构建电路模型对应的基尔霍夫方程组时,主要支持提前设置好固定的器件参数,对于复杂的电路或器件,这种方式需使用硬件描述语言verilog-ams才能实现定制化的对整个电路的仿真,这种方法具体实现起来比较复杂。因此,对于一些复杂的电路或者器件,如何可以便捷的开发器件模型并实现对整个电路的仿真,成为需要解决的技术问题。
技术实现思路
1、本申请实施例提供一种确定电路的基尔霍夫方程组的方法,对于复杂的电路模型,无须使用硬件描述语言verilog-ams便可以构建出电路的基尔霍夫方程组。既增强了仿真器的功能,也可以更加便捷的实现对整个电路的仿真,降低了工作人员的开发门槛,减少了工作人员的作业时间和学习成本。
2、第一方面,提供了一种确定电路的基尔霍夫方程组的方法,该方法可以由能实现确定电路的基尔霍夫方
3、本申请中该电路被划分多个层级,每个层级包括一个或多个电路,该方法包括:根据所述多个层级中每个层级的前一个层级中第一电路的信息,确定所述每个层级中第二电路对应的电路参数值,所述第一电路的信息包括所述第一电路对应的节点的信号值和所述第一电路对应的电路参数值,所述第二电路为所述第一电路的子电路;根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,其中,所述第二电路不包括子电路,所述第一层级为所述多个层级中的任一个层级。
4、需要说明的是,本申请中,第二电路不包括子电路,可以理解为,该电路已经是一个基本元器件(例如,电阻器、电感器电容器等)。或者,第二电路不包括子电路,也可以理解为,该电路是没有内部变量、没有内部节点,并且没有等效电路的器件。
5、本申请中,针对电路中的每个层级中的第二电路,可以根据其前一个层级中的第一电路对应的节点信号值和电路参数,确定本层级中的第二电路对应的电路参数,如此反复迭代,最终可以根据各个层级中没有子电路的第二电路的电路参数以及节点信号值,构建该电路的基尔霍夫方程组。
6、基于上述技术方案,本申请中,一方面,对电路进行仿真时,可以不需要采用verilog-ams建模语言对该电路进行建模,例如,基于本申请的方法采用julia语言并利用其自动微分功能便可以实现对电路的建模并构建该电路的方程组。在电路设计中,降低了工作人员的开发门槛,并且使得设计人员在实际工作中可以灵活选择构建电路基尔霍夫方程组的方法。另一方面,本申请中电路的每一个层级中的第一电路都是根据上一个层级中的第二电路的信号值和电路参数确定的,使得电路中各个层级的电路对应的电路参数是动态变化的,因此可以快速获得该电路的基尔霍夫方程组关于各个层级中包含的电路对应的电路参数的梯度,在不影响电路仿真的同时,又可以进行基于梯度优化的自动设计。也可以理解为,现有技术中,各个层级的电路对应的电路参数是基于设计师经验给出的,而本申请中,在使用梯度优化法时,电路参数是计算得到的,可以提高电路设计的效率和设计的电路的性能。
7、在一种可能的实现方式中,所述根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,包括:根据所述多个层级中每个层级的前一个层级中第三电路的信息,确定所述每个层级中第四电路对应的电路参数值,所述第三电路的信息包括所述第三电路对应的节点的信号值以及所述第三电路对应的电路参数值,所述第四电路为所述第三电路的子电路;根据第二层级中所述第四电路对应的电路参数值和所述第四电路对应的节点的信号值,以及所述第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值,确定所述电路的基尔霍夫方程组,其中,所述第四电路不包括子电路,所述第二层级为所述多个层级中的任一个层级。
8、基于上述技术方案,本申请中,由于电路可以被划分为多个层级,并且每个层级可以包括一个或者多个电路,因此该电路对应的基尔霍夫方程组可以是由每个层级中没有子电路的电路对应的电路参数值和节点信号值构建的。
9、在一种可能的实现方式中,所述根据所述多个层级中每个层级的前一个层级中第一电路的信息,确定所述每个层级中第二电路对应的电路参数值,包括:根据所述多个层级中的每个层级的前一个层级中第一电路的信息,确定所述多个层级中每个层级的前一个层级中第一电路对应的内部变量;根据所述第一电路对应的内部变量,确定所述每个层级中第二电路对应的电路参数值。
10、基于上述技术方案,本申请中,可以基于第一电路对应的节点信号值和电路参数值,先确定出第一电路对应的内部变量,然后基于该内部变量确定第二电路对应的电路参数值。
11、在一种可能的实现方式中,所述第一电路对应的节点的信号值包括:所述第一电路对应的外部节点的信号值和/或内部节点的信号值,其中,所述外部节点为所述第一电路对应的输入信号的节点和/或输出信号的节点,所述内部节点为所述第一电路对应的改进的节点分析法中的节点或者稀疏表分析法中的节点。
12、在一种可能的实现方式中,该方法还包括:确定所述多个层级中每个层级的前一个层级中第一电路与所述每个层级中第二电路之间的第一连接关系,以及所述每个层级中第二电路内部各个器件之间的第二连接关系;根据所述第一连接关系和所述第二连接关系,确定所述每个层级中第二电路对应的外部节点和/或内部节点;根据所述每个层级中第二电路对应的外部节点和/或内部节点,确定所述每个层级中第二电路对应的外部节点的信号值和/或内部节点的信号值。
13、基于上述技术方案,本申请中,可以通过前一个层级中第一电路与本层级中第二电路之间第一连接关系,以及本层级中第二电路内部各个电路器件之间的第二连接关系,确定第二电路对应的外部节点和/或内部节点。
14、在一种可能的实现方式中,该方法还包括:获取所述电路对应的网表,所述网表用于定义所述电路;根据所述网表,将所述电路划分为所述多个层级。
15、在一种可能的实现方式中,该网表可以是json格式的网表。又例如,该网表还可以直接采用支持字典的编程语言,例如,c语言、c++语言、perl语言、python语言、本文档来自技高网...
【技术保护点】
1.一种确定电路的基尔霍夫方程组的方法,其特征在于,所述电路被划分多个层级,每个层级包括一个或多个电路,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个层级中每个层级的前一个层级中第一电路的信息,确定所述每个层级中第二电路对应的电路参数值,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一电路对应的节点的信号值包括:所述第一电路对应的外部节点的信号值和/或内部节点的信号值,其中,所述外部节点为所述第一电路对应的输入信号的节点和/或输出信号的节点,所述内部节点为所述第一电路对应的改进的节点分析法中的节点或者稀疏表分析法中的节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
7.一种计算装置,其特征在于,用于构建电路的基尔
8.根据权利要求7所述的装置,其特征在于,所述处理模块用于根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,包括:
9.根据权利要求7或8所述的装置,其特征在于,所述确定模块用于根据所述多个层级中每个层级的前一个层级中第一电路的信息,确定所述每个层级中第二电路对应的电路参数值,包括:
10.根据权利要求7至9中任一项所述的装置,其特征在于,所述第一电路对应的节点的信号值包括:所述第一电路对应的外部节点的信号值和/或内部节点的信号值,其中,所述外部节点为所述第一电路对应的输入信号的节点和/或输出信号的节点,所述内部节点为所述第一电路对应的改进的节点分析法中的节点或者稀疏表分析法中的节点。
11.根据权利要求10所述的装置,其特征在于,
12.根据权利要求7至11中任一项所述的装置,其特征在于,所述装置还包括:获取模块,
13.一种计算装置,其特征在于,包括处理器和存储器,所述处理器运行所述存储器中的指令,使得所述处理器执行如权利要求1至6中任一项所述的方法。
14.一种芯片,其特征在于,包括:处理器与数据接口,所述处理器通过该数据接口读取存储器上存储的指令,使得所述芯片执行如权利要求1至6中任一项所述的方法。
15.一种包括指令的计算机程序产品,其特征在于,包括计算机程序指令,当所述指令被所述计算装置运行时,使得所述装置执行如权利要求的1至6中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算装置执行时,使得所述装置执行如权利要求1至6中任一项所述的方法。
...【技术特征摘要】
1.一种确定电路的基尔霍夫方程组的方法,其特征在于,所述电路被划分多个层级,每个层级包括一个或多个电路,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述多个层级中每个层级的前一个层级中第一电路的信息,确定所述每个层级中第二电路对应的电路参数值,包括:
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一电路对应的节点的信号值包括:所述第一电路对应的外部节点的信号值和/或内部节点的信号值,其中,所述外部节点为所述第一电路对应的输入信号的节点和/或输出信号的节点,所述内部节点为所述第一电路对应的改进的节点分析法中的节点或者稀疏表分析法中的节点。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
7.一种计算装置,其特征在于,用于构建电路的基尔霍夫方程组,所述电路被划分多个层级,每个层级包括一个或多个电路,所述装置包括:确定模块、处理模块,
8.根据权利要求7所述的装置,其特征在于,所述处理模块用于根据第一层级中所述第二电路对应的电路参数值和所述第二电路对应的节点的信号值确定所述电路的基尔霍夫方程组,包括:
9.根...
【专利技术属性】
技术研发人员:龙子超,李琳,韩磊,廖恒,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。