一种Verilog-A模型的优化方法、电子设备及计算机可读存储介质技术

技术编号:28870821 阅读:18 留言:0更新日期:2021-06-15 23:03
一种Verilog‑A模型的优化方法、电子设备及计算机可读存储介质,所述方法,包括以下步骤:收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码;对所述变量进行独立编码,建立全局编码到独立编码的映射表;对变量依赖关系进行优化;输出优化后经过独立编码的代码。本发明专利技术的Verilog‑A模型的优化方法,通过对模块中的编码优化来减少模型修改时产生的大量改动,在电路仿真器中对Verilog‑A模型的计算进行优化加速的同时,改善模型的可复用性和可维护性。

【技术实现步骤摘要】
一种Verilog-A模型的优化方法、电子设备及计算机可读存储介质
本专利技术涉及集成电路计算机辅助设计
,特别是涉及一种电路仿真器的优化方法。
技术介绍
Verilog-A语言是一种高级语言,它使用模块来描述模拟系统及其组件的结构和行为。要指定各个模块的行为,需要定义它们的输入和输出信号之间的数学关系。定义了系统的结构和行为之后,电路仿真器从模块派生出一组描述性的方程式,求解方程组,获得系统响应。从器件模块到建立方程组的过程中,需要将Verilog-A构建的电路模块转换成电路仿真器可以调用的C++代码接口。随着先进工艺的快速迭代,器件模型复杂度快速增长,同时也带来了模型计算过程中计算量的大幅提升。因此,需要使用一系列的优化算法对计算过程进行优化,从而降低时间复杂度,加快仿真过程。通常,优化算法会收集模块中所有的变量,然后优化变量间的依赖关系,从而去除冗余的计算。这样一来,在Verilog-A模型进行更新和迭代时,就算只是少有的几处改动,都会对整体C++模型代码产生巨大的影响。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种Verilog-A模型的优化方法、电子设备及计算机可读存储介质,通过在电路仿真器中对Verilog-A模型的计算进行优化加速的同时,改善模型的可复用性和可维护性。为实现上述目的,本专利技术提供的一种Verilog-A模型的优化方法,包括以下步骤:收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码;对所述变量进行独立编码,建立全局编码到独立编码的映射表;对变量依赖关系进行优化;输出优化后经过独立编码的代码。进一步地,所述收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码的步骤,还包括,遍历电路模块中所有对雅各比矩阵有贡献的变量,保存变量被赋值时的导数依赖关系,按照变量在电路模块中被赋值的顺序进行编码并标记。进一步地,所述对所述变量进行独立编码,建立全局编码到独立编码的映射表的步骤,还包括,根据电路模块中同名变量被赋值的顺序,对同名变量进行单独编码并标记,建立从全局编码的变量到独立编码的变量的映射表。进一步地,所述对变量依赖关系进行优化的步骤,还包括,通过导数优化算法对变量导数的依赖关系进行优化。进一步地,所述输出优化后经过独立编码的代码的步骤,还包括,将电路模块转换成电路仿真器调用的代码接口,根据所述映射表,将通过全局编码的变量转换为独立编码的变量,并输出对应的导数计算表达式。为实现上述目的,本专利技术还提供一种电子设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行如上文所述的Verilog-A模型的优化方法的步骤。为实现上述目的,本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行如上文所述的Verilog-A模型的优化方法的步骤。本专利技术的Verilog-A模型的优化方法,具有以下有益效果:1)对同名变量独立编码,并建立全局编码变量到独立编码变量的映射关系,在进行计算优化时按照全局编码变量来进行优化,保证变量被复制的顺序和模块中完全一致。同时,在最后输出导数计算表达式时,通过映射表,将输出的表达式中全局编码变量转换为独立编码变量。如此,即使对Verilog-A模块进行了小幅改动,转换出来的C++代码也只会产生轻微的变化,大幅改善模型的可复用性和可维护性。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,并与本专利技术的实施例一起,用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为根据本专利技术的Verilog-A模型的优化方法流程图。具体实施方式以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。实施例1图1为根据本专利技术的Verilog-A模型的优化方法流程图,下面将参考图1,对本专利技术的Verilog-A模型的优化方法进行详细描述。首先,在步骤101,收集对雅可比矩阵有贡献的变量,对变量进行全局编码。本专利技术实施例中,对雅可比矩阵有贡献的变量,是指Verilog-A模型中与端口电压或者端口电流有联系的变量,会对雅克比矩阵有贡献。有贡献的变量关系指这些变量之间赋值与被赋值的一种层级关系。本专利技术实施例中,遍历模块中所有对雅各比矩阵有贡献的变量,将其保存并按照其在Verilog-A模型的模块中被赋值的顺序对其编码(称为全局编码),并在其尾部加上该编码。本专利技术实施例中,保证每一个变量都是独一无二的,同时也可以明确变量出现的先后顺序。Verilog-A模块中所有变量都会通过编码被视为不同的变量,这样处理的目的是方便计算优化。并保存变量被赋值时的导数依赖关系。在步骤102中,对变量进行独立编码,建立全局编码到独立编码的映射表。优选地,根据模块中同名变量在模块中被赋值的顺序,对同名变量按这个变量出现的次数单独编码(称为独立编码),并在其尾部加上该编码,同时建立从全局编码的变量到独立编码的变量的映射表,以供查询转换。在步骤103中,对变量依赖关系进行优化。优选地,通过导数优化算法,对变量导数的依赖关系进行优化,大幅减少冗余的导数计算过程。本专利技术实施例中,导数优化算法,通过将变量从局部和整体上进行逐次展开,使变量导数的依赖关系最简化,从而大幅减少冗余的导数计算过程。在步骤104中,输出优化后经过独立编码的代码。优选地,导数优化完成后,将Verilog-A构建的电路模块转换成电路仿真器可以调用的C++代码接口,在输出对雅各比矩阵有贡献的变量的导数计算表达式时,通过建立的映射表,将通过全局编码的变量转换为独立编码的变量,并输出对应的导数计算表达式。实施例2下面结合一具体实施例对本专利技术的Verilog-A模型的优化方法做进一步的说明。遍历模块中所有对雅各比矩阵有贡献的变量,将其保存并按照其在模块中被赋值的顺序对其编码(称为全局编码),并在其尾部加上该编码,保证每一个变量都是独一无二的,同时也可以明确变量出现的先后顺序。比如,(A,B,C,A,C,D,E,C)为一个简单模块中变量赋值顺序的简单抽象表示,其中(A,B,C,D,E)为五个不同的变量,根据全局编码的方式对其进行编码,则可以表示为(A1,B2,C3,A4,C5,D6,E7,C8)。若此时该模块需要进行迭代升级,对其中的部分语句进行调整,比如现在需要将B2变量删除,则模块可以表示为(A1,C2,A3,C4,D5,E6,C7)。从该例子可以看出,当对模块局部进行细微调整时,也会对整体代码产生巨大的改动,不利于维护更新。本实施例中,改善电路仿真器中Verilog-A模型的可复用性本文档来自技高网...

【技术保护点】
1.一种Verilog-A模型的优化方法,其特征在于,包括以下步骤:/n收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码;/n对所述变量进行独立编码,建立全局编码到独立编码的映射表;/n对变量依赖关系进行优化;/n输出优化后经过独立编码的代码。/n

【技术特征摘要】
1.一种Verilog-A模型的优化方法,其特征在于,包括以下步骤:
收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码;
对所述变量进行独立编码,建立全局编码到独立编码的映射表;
对变量依赖关系进行优化;
输出优化后经过独立编码的代码。


2.根据权利要求1所述的Verilog-A模型的优化方法,其特征在于,所述收集对雅可比矩阵有贡献的变量,对所述变量进行全局编码的步骤,还包括,遍历电路模块中所有对雅各比矩阵有贡献的变量,保存变量被赋值时的导数依赖关系,按照变量在电路模块中被赋值的顺序进行编码并标记。


3.根据权利要求1所述的Verilog-A模型的优化方法,其特征在于,所述对所述变量进行独立编码,建立全局编码到独立编码的映射表的步骤,还包括,根据电路模块中同名变量被赋值的顺序,对同名变量进行单独编码并标记,建立从全局编码的变量到独立编码的变量的映射表。
...

【专利技术属性】
技术研发人员:段思齐阳杰刘强邵雪程明厚
申请(专利权)人:深圳华大九天科技有限公司
类型:发明
国别省市:广东;44

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

1