CN116227402B - 模拟电路的建模方法、装置及电子设备 - Google Patents
模拟电路的建模方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116227402B CN116227402B CN202310515975.7A CN202310515975A CN116227402B CN 116227402 B CN116227402 B CN 116227402B CN 202310515975 A CN202310515975 A CN 202310515975A CN 116227402 B CN116227402 B CN 116227402B
- Authority
- CN
- China
- Prior art keywords
- module
- circuit
- signal
- output
- analog
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000006870 function Effects 0.000 claims abstract description 81
- 238000005457 optimization Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000012986 modification Methods 0.000 claims abstract description 9
- 230000004048 modification Effects 0.000 claims abstract description 9
- 238000009825 accumulation Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 abstract description 30
- 230000000694 effects Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000012795 verification Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 102100024607 DNA topoisomerase 1 Human genes 0.000 description 7
- 102100033587 DNA topoisomerase 2-alpha Human genes 0.000 description 7
- 101000830681 Homo sapiens DNA topoisomerase 1 Proteins 0.000 description 7
- 101000801505 Homo sapiens DNA topoisomerase 2-alpha Proteins 0.000 description 7
- 238000009795 derivation Methods 0.000 description 7
- 101100112673 Rattus norvegicus Ccnd2 gene Proteins 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100115778 Caenorhabditis elegans dac-1 gene Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 101150102866 adc1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
本申请公开了一种模拟电路的建模方法、装置及电子设备。其中,该方法包括:获取待建模电路,对模拟电路中的基本功能模块或基本功能单元进行提取,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;基于添加过优化模块的待建模电路导出数字化模型,优化了不同电路之间的衔接。本申请解决了相关技术中在模拟电路数字化建模时,缺乏对模拟电路数字化建模产生的衔接问题考虑,导致的仿真效果不理想,仿真精度不高的技术问题。
Description
技术领域
本申请涉及电路建模领域,具体而言,涉及一种模拟电路的建模方法、装置及电子设备。
背景技术
相关技术中,仿真验证是将模拟电路(AG)和数字电路(SC)分开进行验证的,模拟电路采用模拟电路的验证方式,数字电路则采用数字电路的验证方式,但如果芯片中既有模拟电路又有数字电路,采用这种分开验证的方式很难完全覆盖通信及反馈嵌套控制的全部情况;另一仿真验证方式则是是将数字电路当作模拟电路进行处理,全部采用模拟电路的验证方式进行仿真验证,该方式虽然能保证验证覆盖率,但需要耗费大量的时间与处理资源,同时加大了验证人员编写验证参考模型的难度;进一步地又提出对模拟电路的模拟特性参数数字逻辑化进行仿真验证,设计人员与验证人员可以根据需求说明书提取出待设计IC芯片的特性列表,随后根据特性列表通过Verilog、System verilog或System C来实现模拟电路功能。
而在模拟电路数字化建模时,相关技术缺乏对模拟电路数字化建模时所产生的衔接问题的考虑,导致仿真结果不理想,仿真精度不高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种模拟电路的建模方法、装置及电子设备,以至少解决相关技术中在模拟电路数字化建模时,缺乏对模拟电路数字化建模产生的衔接问题考虑,导致的仿真效果不理想,仿真精度不高的技术问题。
根据本申请实施例的一个方面,提供了一种模拟电路的建模方法,包括:获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;基于添加过优化模块的待建模电路导出数字化模型。
可选地,对于建模后的基本功能模块或基本功能单元的信号属性进行配置,包括:根据多种不同方式对信号属性进行配置,该多种不同方式包括:在电路中针对信号添加属性或参数、在电路模块的System verilog硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。
可选地,优化模块,包括:累加模块、选择模块、输入数字信号输出模拟信号DAC模块和输入模拟信号输出数字信号ADC模块。
可选地,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,包括:在识别到待建模电路中多个电流信号的输出连接在同一节点的情况下,自动添加一个累加模块,其中,累加模块的输入分别连接至多个电流信号的输出,输出连接至同一节点;或者在识别到待建模电路中多个电压信号的输出连接在同一节点的情况下,自动添加一个选择模块,其中,选择模块的输入分别连接至多个电压信号的输出,输出连接至同一节点。
可选地,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,包括:在识别到待建模电路中数字信号与模拟信号相接时,当数字信号流向至模拟信号所在电路方向时,自动添加一个DAC模块,其中,DAC模块的输入用于接收数字信号,DAC模块的输出用于连接至模拟信号所在电路方向的电路;当模拟信号流向至数字信号所在电路方向时,自动添加一个ADC模块,其中,ADC模块的输入用于接收模拟信号,ADC模块的输出用于连接至数字信号所在电路方向的电路。
可选地,DAC模块设置有电源端口及地端口,该电源端口用于引入电源信号,该地端口用于引入地信号,其中,在DAC模块的输入为1的情况下,输出电源电压;在DAC模块的输入为0的情况下,输出地电压;ADC模块设置有电源端口,该电源端口用于引入电源信号以及阈值参数,其中,ADC模块的输入大于预设阈值的情况下,ADC模块的输出为1;ADC模块的输入小于预设阈值的情况下,ADC模块的输出为0。
根据本申请实施例的另一方面,提供了一种模拟电路的建模装置,包括:获取模块,用于获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;提取模块,用于对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;配置模块,用于对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;导出模块,用于基于添加过优化模块的待建模电路导出数字化模型。
可选地,配置模块,包括:配置单元,用于根据多种不同方式对信号属性进行配置,该多种不同方式包括:在电路中针对信号添加属性或参数、在电路模块的System verilog硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行任意一种模拟电路的建模方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现任意一种模拟电路的建模方法。
在本申请实施例中,采用根据实际情况添加优化模块的方式,通过获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;对模拟电路中的基本功能模块或基本功能单元进行提取;然后,对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,基于添加过优化模块的待建模电路导出数字化模型,达到了提高仿真精度,快速高效的实现数模混合仿真的技术效果,进而解决了相关技术中在模拟电路数字化建模时,缺乏对模拟电路数字化建模产生的衔接问题考虑,导致的仿真效果不理想,仿真精度不高的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的模拟电路的建模方法的流程示意图;
图2是本申请实施例中TOP1电路示意图;
图3是本申请实施例中TOP2电路示意图;
图4是本申请实施例中对电路中出现数字信号与模拟信号相连时进行优化导出的电路示意图;
图5是本申请实施例中不同优化模块结合使用的电路示意图;
图6是根据本申请是实施例的一种可选的模拟电路的建模装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为便于本领域技术人员更好地理解本申请相关实施例,现将本申请可能涉及的技术术语、部分名词或者原理等解释如下:
System verilog简称为SV语言,是一种相当新的语言,它建立在Verilog语言的基础上,是IEEE 1364 Verilog-2001标准的扩展增强,兼容Verilog 2001,将硬件描述语言(HDL)与现代的高层级验证语言(HVL)结合了起来,并新近成为下一代硬件设计和验证的语言。System verilog结合了来自Verilog、VHDL、C++的概念,还有验证平台语言和断言语言,也就是说,它将硬件描述语言(HDL)与现代的高层级验证语言(HVL)结合了起来。Systemverilog(SV)拥有芯片设计及验证工程师所需的全部结构,它集成了面向对象编程、动态线程和线程间通信等特性,作为一种工业标准语言,SV全面综合了RTL设计、测试平台、断言和覆盖率,为系统级的设计及验证提供强大的支持作用。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种模拟电路的建模方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种模拟电路的建模方法,如图1所示,该建模方法包括如下步骤:
S102,获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;
S104,对模拟电路中的基本功能模块或基本功能单元进行提取,其中,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;
且还需要说明的是,基本功能模块或基本功能单元定义为边界合理的最小功能模块单元,例如比较器、放大器、电流源、电流沉、电压源、振荡器、多路选择器等。
S106,对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展,例如,可以根据信号节点上的连接数量自动添加不同端口数量的优化模块。
S108,基于添加过优化模块的待建模电路导出数字化模型。
在上述模拟电路的建模方法,采用根据实际情况添加优化模块的方式,通过获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;对模拟电路中的基本功能模块或基本功能单元进行提取,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;然后,对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,基于添加过优化模块的待建模电路导出数字化模型,达到了提高仿真精度,快速高效的实现数模混合仿真的技术效果,进而解决了相关技术中在模拟电路数字化建模时,缺乏对模拟电路数字化建模产生的衔接问题考虑,导致的仿真效果不理想,仿真精度不高的技术问题。
为了提高仿真精度以及衔接处理的准确性,对于建模后的基本功能模块或基本功能单元的信号属性可进行配置,具体的,配置方式可以通过如下方式实现:根据多种不同方式对信号属性进行配置,该多种不同方式包括但不限于:在电路中针对信号添加属性或参数、在电路模块的System verilog硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。需要说明的是,在具体电路中,上述信号可以是端口或线网的形式。
举例而言,例如,为信号添加属性,将数字电路的信号类型设置为bit,具体根据其类型按照verilog撰写规范区分为wire、reg、logic。模拟电路的信号类型设置为real,具体根据其所属电流或电压信号区分为current和voltage。在进行信号属性配置时,可以在电路中将信号配置为real的分类小项current或voltage,但导出时均导出为real。导出system verilog时,软件根据连接在一起的信号类型自动对导出的system verilog进行优化,同时模拟信号类型也均导出为real类型。
可选地,上述优化模块,包括:累加模块、选择模块、输入数字信号输出模拟信号DAC模块和输入模拟信号输出数字信号ADC模块。
为了提高仿真的准确度,避免由于忽略对不同模块之间的衔接,导致最终的仿真结果与实际情况存在较大偏差,在本申请相关实施例中,提供了两大类不同情况下的优化方式(可以细分为三类),第一种,当电路中的信号出现多电流驱动时优化导出以及当电路中的信号出现多电压驱动时优化导出,第二种,当电路中出现数字信号与模拟信号相连时优化导出。
对于上述第一种情况,作为一种可选的实施方式,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,可以为在识别到待建模电路中多个电流信号的输出连接在同一节点的情况下,自动添加一个累加模块,其中,累加模块的输入分别连接至多个电流信号的输出,输出连接至同一节点;或者在识别到待建模电路中多个电压信号的输出连接在同一节点的情况下,自动添加一个选择模块,其中,选择模块的输入分别连接至多个电压信号的输出,输出连接至同一节点。
例如,当电路为多个设置为current且方向为output的信号接一起,在导出systemverilog时,可自动添加一个名为isum的优化模块,再将优化模块的输出信号接到原有的节点,其中,优化模块isum用于将多路电流进行相加。
例如,当电路为多个设置为voltage且方向为output的信号接一起,在导出systemverilog时,可自动添加一个名为vmux的优化模块,再将优化模块的输出信号接到原有的节点,其中,优化模块vmux用于将不为0的电压输出。
对于上述第二种情况,作为一种可选的实施方式,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,可以为在识别到待建模电路中数字信号与模拟信号相接时,当数字信号流向至模拟信号所在电路方向时,自动添加一个DAC模块,其中,DAC模块的输入用于接收数字信号,DAC模块的输出用于连接至模拟信号所在电路方向的电路;当模拟信号流向至数字信号所在电路方向时,自动添加一个ADC模块,其中,ADC模块的输入用于接收模拟信号,ADC模块的输出用于连接至数字信号所在电路方向的电路。
可选地,DAC模块设置有电源端口及地端口,该电源端口用于引入电源信号,该地端口用于引入地信号,其中,在DAC模块的输入为1的情况下,输出电源电压;在DAC模块的输入为0的情况下,输出地电压;ADC模块设置有电源端口,该电源端口用于引入电源信号以及阈值参数,其中,ADC模块的输入大于预设阈值的情况下,ADC模块的输出为1;ADC模块的输入小于预设阈值的情况下,ADC模块的输出为0,其中,预设阈值通常表现为一定百分比的电源信号,即电源与阈值参数的乘积。
例如,当电路中出现数字信号与模拟信号相接时,添加一个参数化的优化模块,ADC或者DAC,再将优化模块的输出信号接到原有的节点,其中,该参数化优化模块可根据其添加位置的信号(如驱动电压等)进行计算。
现结合具体实施例,对上述技术方案涉及的第一种,当电路中的信号出现多电流驱动时优化导出以及当电路中的信号出现多电压驱动时优化导出,以及第二种,当电路中出现数字信号与模拟信号相连时优化导出;信号属性配置以在电路中对信号添加属性或参数为例进行说明:
1.对于电路中的信号出现多电流驱动时的优化导出。
电流的流进和流出有正负之分,当两个电流产生单元的输出连接在一起,则实现电流累加的功能,此时若分别对两个电路单元建模,则仿真时信号会因有多驱动而出现异常,所以对此特例提供一种自动累加的功能。
图2是该实施例中的TOP1电路连接示意图,如图2所示,左半部分为两个电流产生模块的电路连接,右半部分为优化后的示意图,即其实际的工作原理。
现有相关技术导出该TOP1电路时,软件会分别导出current_src1、current_src2和表示TOP1内连接关系的system verilog。具体如下:
module current_src1(
output real iout);
…
iout = 0.1;
endmodule
module current_src2(
output real iout);
…
iout = 0.2;
endmodule
module TOP1(
output real n1);
current_src1 X1 ( .iout(n1));
current_src2 X2 ( .iout(n1));
endmodule
基于本申请的实施方式,可首先对current_src1和current_src2的输出端口属性进行设置,具体的,可均设置为输出电流current类型,在导出电路TOP1的system verilog时,软件在识别到上述设置后,除了会分别导出current_src1和current_src2以外,还会在两个单元的输出端口和n1线网之间自动添加电流累加优化模块isum。具体system verilog如下:
module current_src1(
output real iout);
…
iout = 0.1;
endmodule
module current_src2(
output real iout);
…
iout = 0.2;
endmodule
module isum(
input real iin1,
input real iin2,
output real iout);
assign iout = iin1 + iin2;
endmodule
module TOP1(
output real n1);
current_src1 X1 ( .iout(isum1_i1));
current_src2 X2 ( .iout(isum1_i2));
isum isum1 ( .iin1(isum1_i1), .iin2(isum1_i2), .iout(n1));
endmodule
其中isum的iin1连接到 current_src1的iout,iin2连接到current_src2的iout,容易注意到的是,通过isum模块实现了两个电流的累加。
2.对于电路中的信号出现多电压驱动时的优化导出。
当两个电压产生单元的输出接在一起时,两个电压会受到控制信号影响,不会同时作为驱动电压使用,因此,可以优化为选择的形式避免多驱动导致的异常。
图3是该实施例中TOP2电路示意图,如图3所示,图3左部分为两个电压产生模块的电路连接示意图,图3右半部分为优化后的示意图,即其实际的工作原理。
现有相关技术导出TOP2电路时,软件会分别导出voltage_src1、voltage_src2和表示TOP2内连接关系的system verilog。具体如下:
module voltage_src1(
output real vout);
always @(*) begin
if (active condition1)
vout= 0.1;
else
vout= 0;
end
endmodule
module voltage_src2(
output real vout);
always @(*) begin
if (active condition2)
vout= 0.2;
else
vout= 0;
end
endmodule
module TOP2(
output real n2);
voltage_src1 X1 ( .vout(n2));
voltage_src2 X2 ( .vout(n2));
endmodule
根据本申请的实施方式,首先可对voltage_src1和voltage_src2的输出端口属性进行设置,均设置为输出电压voltage类型,在导出电路TOP2的system verilog时,软件识别到上述设置后,除了会分别导出voltage_src1和voltage_src2以外,还会在两个单元的输出端口和n2线网之间自动添加电压选择优化模块vmux。具体system verilog如下:
module voltage_src1(
output real vout);
always @(*) begin
if (active condition1)
vout= 0.1;
else
vout= 0;
end
endmodule
module voltage_src2(
output real vout);
always @(*) begin
if (active condition2)
vout= 0.2;
else
vout= 0;
end
endmodule
module vmux(
input real vin1,
input real vin2,
output real vout);
always @(*) begin
if ((vin1 == 0) & (vin2 == 0))
vout= 0;
else if (vin1 == 0)
vout= vin2;
else if (vin2 == 0)
vout= vin1;
else
$display("err...");
end
endmodule
module TOP2(
output real n2);
voltage_src1 X1 ( .vout(vmux1_v1));
voltage_src2 X2 ( .vout(vmux1_v2));
vmux vmux1 ( .vin1(vmux1_v1), .vin2(vmux1_v2), .vout(n2));
endmodule
其中vmux的vin1连接到voltage_src1的vout,vin2连接到voltage_src2的vout,容易注意到的是,通过vmux模块实现了在两个电压之间选择某一电压作为输出。
3.对电路中出现数字信号与模拟信号相连时的优化导出。需要说明的是,该优化处理过程中,可以处理的信号类型可以为电压信号,也可以为电流信号,本申请相关技术中,对可优化的信号类型不作具体限制,所以仅在下方展示了导出时需要添加的优化模块。
在为信号添加属性时,将数字电路的信号类型设置为bit,模拟电路的信号类型设置为real。因real端口与bit端口无法直接相连,所以在模拟电路与数字电路相接的位置,需要根据信号类型及流向在线网节点添加ADC或DAC模块,对信号进行转换。
由于电路中通常是一个线网连接多个端口。如果是bit输出端口接real信号,插入DAC模块;如果是real输出端口接bit信号,插入ADC模块;如果是bit输入端口接real信号,插入ADC模块;如果是real输入端口接bit信号,插入DAC模块。
需要说明的是,ADC一般的功能为当输入大于预设阈值,输出1;当输入小于预设阈值,输出0。上述预设阈值通常表现为一定百分比的电源信号,即电源与阈值参数的乘积。因此,ADC除了输入输出端口外,还需要一个电源端口,并引入电源信号(例如supply=VDD)和阈值参数(例如VTHH和VTHL)。
module adc(
input real ain,
input real vs,
output reg dout);
parameter real VTHL = 0.49;
parameter real VTHH = 0.51;
always @(*) begin
if (ain> VTHH * vs)
dout = 1'b1;
else if (ain< VTHL * vs)
dout = 1'b0;
end
endmodule
上层电路描述语句:
adc #(VTHL=0.49, VTHH=0.51) adc1 ( .ain(n1), .dout(n2), .vs(VDD));
其中ain连接到real信号或端口,dout连接到bit信号或端口。
需要说明的是,DAC一般的功能为当输入为1时,输出电源电压;当输入为0时,输出地电压。因此,DAC除了输入输出端口外,还需要一个电源端口和一个地端口,并引入电源信号(例如supply=VDD)和地信号(例如ground=GND)。
module dac(
input din,
input real vs,
input real gs,
output real vout);
assign vout= din ? vs : gs;
endmodule
上层电路描述语句:
dac dac1 ( .din(n1), .vout(n2), .vs(VDD), .gs(GND));
其中din连接到bit信号或端口,vout连接到real信号或端口。
图4是上述实施例中对电路中出现数字信号与模拟信号相连时进行优化导出的电路示意图,如图4所示,图4上半部分为在real端口需要接入bit端口时插入ADC模块,以用于将来自real端口的模拟信号转换为数字信号,图4下半部分为在bit端口需要接入real端口时插入DAC模块,以用于将来自bit端口的数字信号转换为模拟信号。
可以理解的,上述优化模块(即累加模块、选择模块、DAC模块以及ADC模块)可以根据实际需要优化的场景结合使用(混合使用),图5是本申请实施例中不同优化模块结合使用的电路示意图,如图5所示,可通过在n1、n2、n3线网之间添加vmux模块(即电压的选择模块)从n1、n2、n3选择任意一个线网的电压作为输出电压,另外当bit端口接入real端口时,可添加DAC模块,以用于将来自bit端口的数字信号转换为模拟信号。
通过上述实施例中可知,通过本申请的技术方案,可在数模混仿中,在模拟电路中提取基本功能单元并建立数字化的system verilog模型,既能保证较高的仿真精度,又能简单高效、高覆盖率的实现数模混仿,另外对于各种特定的场景提出了具体的优化方式(即上述的当电路中的信号出现多电流驱动时优化导出或者当电路中的信号出现多电压驱动时优化导出;以及电路中出现数字与模拟信号相连时优化导出),避免了不同模块之间可能存在的衔接问题对最终仿真结果的影响。
图6是根据本申请实施例的一种模拟电路的建模装置的结构示意图,如图6所示,该装置包括:
获取模块40,用于获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;
提取模块42,用于对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对所述基本功能模块或者基本功能单元进行建模,得到数字化模型;
配置模块44,用于对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;
导出模块46,用于基于添加过优化模块的待建模电路导出数字化模型。
该建模装置中,获取模块40,用于获取待建模电路,其中,待建模电路为由模拟电路与数字电路组成的混合电路;提取模块42,用于对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于Systemverilog硬件描述语言对所述基本功能模块或者基本功能单元进行建模,得到数字化模型;配置模块44,用于对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;导出模块46,用于基于添加过优化模块的待建模电路导出数字化模型,达到了提高仿真精度,快速高效的实现数模混合仿真的技术效果,进而解决了相关技术中在模拟电路数字化建模时,缺乏对模拟电路数字化建模产生的衔接问题考虑,导致的仿真效果不理想,仿真精度不高的技术问题。
可选地,配置模块包括:配置单元,用于根据多种不同方式对信号属性进行配置,该多种不同方式包括:在电路中针对信号添加属性或参数、在电路模块的第一类型硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行任意一种模拟电路的建模方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现任意一种的模拟电路的建模方法。
具体地,上述存储介质用于存储以下功能的程序指令,实现以下功能:
获取待建模电路,待建模电路为由模拟电路与数字电路组成的混合电路;对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;基于添加过优化模块的待建模电路导出数字化模型。
可选地,在本实施例中,上述存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。上述存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
在本申请一示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任一项的模拟电路的建模方法。
可选地,该计算机程序在被处理器执行时可实现如下步骤:
获取待建模电路,待建模电路为由模拟电路与数字电路组成的混合电路;对模拟电路中的基本功能模块或基本功能单元进行提取,基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对基本功能模块或者基本功能单元进行建模,得到数字化模型;对于建模后的基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,优化模块可根据实际电路需要进行内容修改和扩展;基于添加过优化模块的待建模电路导出数字化模型。
根据本申请的实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项的模拟电路的建模方法。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入设备输出设备和上述处理器连接。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种模拟电路的建模方法,其特征在于,包括:
获取待建模电路,所述待建模电路为由模拟电路与数字电路组成的混合电路;
对所述模拟电路中的基本功能模块或基本功能单元进行提取,所述基本功能模块或基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对所述基本功能模块或者基本功能单元进行建模,得到数字化模型;
对于建模后的所述基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,所述优化模块可根据实际电路需要进行内容修改和扩展;
基于添加过优化模块的待建模电路导出所述数字化模型,其中,所述优化模块,包括:累加模块、选择模块、输入数字信号输出模拟信号DAC模块和输入模拟信号输出数字信号ADC模块;
所述通过软件识别算法识别信号属性,在信号节点之间添加优化模块,包括:
在识别到所述待建模电路中多个电流信号的输出连接在同一节点的情况下,自动添加一个所述累加模块,其中,所述累加模块的输入分别连接至所述多个电流信号的输出,输出连接至所述同一节点;或者
在识别到所述待建模电路中多个电压信号的输出连接在同一节点的情况下,自动添加一个所述选择模块,其中,所述选择模块的输入分别连接至所述多个电压信号的输出,输出连接至所述同一节点。
2.根据权利要求1所述的建模方法,其特征在于,所述对于建模后的所述基本功能模块或基本功能单元的信号属性进行配置,包括:
根据多种不同方式对信号属性进行配置,该多种不同方式包括:
在电路中针对信号添加属性或参数、在电路模块的System verilog硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。
3.根据权利要求1所述的建模方法,其特征在于,所述通过软件识别算法识别信号属性,在信号节点之间添加优化模块,包括:
在识别到所述待建模电路中数字信号与模拟信号相接时,当所述数字信号流向至所述模拟信号所在电路方向时,自动添加一个DAC模块,其中,所述DAC模块的输入用于接收所述数字信号,所述DAC模块的输出用于连接至所述模拟信号所在电路方向的电路;
当所述模拟信号流向至所述数字信号所在电路方向时,自动添加一个ADC模块,其中,所述ADC模块的输入用于接收所述模拟信号,所述ADC模块的输出用于连接至所述数字信号所在电路方向的电路。
4.根据权利要求1所述的建模方法,其特征在于,
所述DAC模块设置有电源端口及地端口,该电源端口用于引入电源信号,该地端口用于引入地信号,其中,在所述DAC模块的输入为1的情况下,输出电源电压;在所述DAC模块的输入为0的情况下,输出地电压;
所述ADC模块设置有电源端口,该电源端口用于引入电源信号以及阈值参数,其中,所述ADC模块的输入大于预设阈值的情况下,所述ADC模块的输出为1;所述ADC模块的输入小于所述预设阈值的情况下,所述ADC模块的输出为0。
5.一种模拟电路的建模装置,其特征在于,包括:
获取模块,用于获取待建模电路,所述待建模电路为由模拟电路与数字电路组成的混合电路;
提取模块,用于对所述模拟电路中的基本功能模块或基本功能单元进行提取,所述基本功能模块或者基本功能单元为实现预定功能的电路,基于System verilog硬件描述语言对所述基本功能模块或者基本功能单元进行建模,得到数字化模型;
配置模块,用于对于建模后的所述基本功能模块或基本功能单元的信号属性进行配置,通过软件识别算法识别信号属性,在信号节点之间添加优化模块,其中,所述优化模块可根据实际电路需要进行内容修改和扩展;
导出模块,用于基于添加过优化模块的待建模电路导出所述数字化模型;其中,所述优化模块,包括:累加模块、选择模块、输入数字信号输出模拟信号DAC模块和输入模拟信号输出数字信号ADC模块;
所述配置模块,还用于在识别到所述待建模电路中多个电流信号的输出连接在同一节点的情况下,自动添加一个所述累加模块,其中,所述累加模块的输入分别连接至所述多个电流信号的输出,输出连接至所述同一节点;或者
在识别到所述待建模电路中多个电压信号的输出连接在同一节点的情况下,自动添加一个所述选择模块,其中,所述选择模块的输入分别连接至所述多个电压信号的输出,输出连接至所述同一节点。
6.根据权利要求5所述的建模装置,其特征在于,所述配置模块,包括:
配置单元,用于根据多种不同方式对信号属性进行配置,该多种不同方式包括:在电路中针对信号添加属性或参数、在电路模块的System verilog硬件描述语言描述中对信号进行描述以及电路分析时将信号根据其类型进行规范化命名。
7.一种非易失性存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述模拟电路的建模方法。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的模拟电路的建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310515975.7A CN116227402B (zh) | 2023-05-09 | 2023-05-09 | 模拟电路的建模方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310515975.7A CN116227402B (zh) | 2023-05-09 | 2023-05-09 | 模拟电路的建模方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116227402A CN116227402A (zh) | 2023-06-06 |
CN116227402B true CN116227402B (zh) | 2023-11-28 |
Family
ID=86569971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310515975.7A Active CN116227402B (zh) | 2023-05-09 | 2023-05-09 | 模拟电路的建模方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116227402B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117150990A (zh) * | 2023-09-06 | 2023-12-01 | 江苏芯海技术开发有限公司 | 一种增强的可视化集成电路设计平台 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5394346A (en) * | 1992-02-19 | 1995-02-28 | U.S. Philips Corporation | Simulation of an electronic system including analog and digital circuitry using high level macro models |
CN1470060A (zh) * | 2000-09-29 | 2004-01-21 | 摩托罗拉公司 | 采用磁阻存储技术的模拟功能模块 |
CN104702283A (zh) * | 2013-12-03 | 2015-06-10 | 美国亚德诺半导体公司 | 随机编码非模拟到数字的转换 |
CN105404733A (zh) * | 2015-11-09 | 2016-03-16 | 成都航空职业技术学院 | 一种基于“元件”的数字逻辑电路cai构建和仿真运行的实现方法 |
CN112883672A (zh) * | 2021-03-05 | 2021-06-01 | 清华大学 | 混合信号电路的数字化建模方法和装置 |
CN114971583A (zh) * | 2022-06-22 | 2022-08-30 | 国网湖南省电力有限公司 | 电网复杂调控规则的数字化建模系统 |
CN115270679A (zh) * | 2022-09-28 | 2022-11-01 | 电子科技大学 | 一种基于Angelov模型的GaN晶体管的建模方法 |
CN115952760A (zh) * | 2023-03-15 | 2023-04-11 | 北京芯愿景软件技术股份有限公司 | 一种数模电路仿真方法、装置、设备及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780259A (zh) * | 2012-10-23 | 2014-05-07 | 飞思卡尔半导体公司 | 用于验证数模转换器设计的方法 |
-
2023
- 2023-05-09 CN CN202310515975.7A patent/CN116227402B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5394346A (en) * | 1992-02-19 | 1995-02-28 | U.S. Philips Corporation | Simulation of an electronic system including analog and digital circuitry using high level macro models |
CN1470060A (zh) * | 2000-09-29 | 2004-01-21 | 摩托罗拉公司 | 采用磁阻存储技术的模拟功能模块 |
CN104702283A (zh) * | 2013-12-03 | 2015-06-10 | 美国亚德诺半导体公司 | 随机编码非模拟到数字的转换 |
CN105404733A (zh) * | 2015-11-09 | 2016-03-16 | 成都航空职业技术学院 | 一种基于“元件”的数字逻辑电路cai构建和仿真运行的实现方法 |
CN112883672A (zh) * | 2021-03-05 | 2021-06-01 | 清华大学 | 混合信号电路的数字化建模方法和装置 |
CN114971583A (zh) * | 2022-06-22 | 2022-08-30 | 国网湖南省电力有限公司 | 电网复杂调控规则的数字化建模系统 |
CN115270679A (zh) * | 2022-09-28 | 2022-11-01 | 电子科技大学 | 一种基于Angelov模型的GaN晶体管的建模方法 |
CN115952760A (zh) * | 2023-03-15 | 2023-04-11 | 北京芯愿景软件技术股份有限公司 | 一种数模电路仿真方法、装置、设备及计算机存储介质 |
Non-Patent Citations (4)
Title |
---|
《用于大型数字集成电路的层次化设计的研究》;陈琳;《中国优秀硕士学位论文全文数据库 信息科技辑》(第第06期期) * |
半导体激光器驱动源功率器件的建模与仿真;辛德胜;张剑家;张萌萌;张宏臣;;兵工学报(第11期);全文 * |
基于Hammerstein模型的模拟电路结构级行为模型建模方法研究;马华;马建国;喻明艳;叶以正;;电子学报(第02期) * |
马华 ; 马建国 ; 喻明艳 ; 叶以正 ; .基于Hammerstein模型的模拟电路结构级行为模型建模方法研究.电子学报.2009,(第02期), * |
Also Published As
Publication number | Publication date |
---|---|
CN116227402A (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116227402B (zh) | 模拟电路的建模方法、装置及电子设备 | |
CN102156760B (zh) | 基于Saber的电路故障仿真分析方法 | |
CN102543226B (zh) | 优先级逻辑模块 | |
US8806413B2 (en) | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models | |
US10551807B2 (en) | Method for connecting an input/output interface of a tester equipped for control unit development | |
US7281223B2 (en) | System and method for modeling an integrated circuit system | |
US20120259611A1 (en) | System and method for generation of cim-based power system circuit models | |
CN105468797A (zh) | 一种信息处理方法及装置 | |
CN102508977B (zh) | 用于模拟电路移植的电路优化方法和装置 | |
US20230076636A1 (en) | Automated verification of integrated circuits | |
EP3989395A1 (en) | Method, device, and computer program for configuring an intelligent electronic device | |
US8448122B1 (en) | Implementing sub-circuits with predictable behavior within a circuit design | |
US7512922B1 (en) | Methods of structured placement of a circuit design | |
CN103714201A (zh) | 基于promis·e设计环境的变电站二次接线协同设计方法 | |
CN116997901A (zh) | 一种电路设计方法以及相关设备 | |
US20100332932A1 (en) | Test method, test control program and semiconductor device | |
US7559042B2 (en) | Layout evaluating apparatus | |
CN109240872B (zh) | 一种芯片验证关键信号覆盖率统计分析方法和存储介质 | |
Sapienza et al. | Modelling for hardware and software partitioning based on multiple properties | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN109614519A (zh) | 数据导入方法和数据导入装置 | |
Joeres et al. | Event driven analog modeling of rf frontends | |
Ma et al. | A case study: automatic topology synthesis for analog circuit from an ASDeX specification | |
KR101547848B1 (ko) | Qvt 기반 통합모델 변환방법 | |
US6912473B2 (en) | Method for verifying cross-sections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |