一种模拟数字混合电路的仿真方法

文档序号:10553137阅读:371来源:国知局
一种模拟数字混合电路的仿真方法【专利摘要】本发明涉及一种模拟数字混合电路的仿真方法,本发明在ngspice仿真软件的基础上增加了数字电路提取模块和数字单元模型库,能够对模拟数字混合电路进行直流分析和时域分析,在对计算精度影响不大的前提下能有效提高仿真的速度。【专利说明】一种模拟数字混合电路的仿真方法
技术领域
[0001]本发明涉及一种模拟数字混合电路的仿真方法,尤其涉及一种基于数字电路提取和数字单元模型库建立的模拟数字混合电路的仿真方法,属于计算机辅助设计领域。【
背景技术
】[0002]随着电子电路技术的不断发展,集成电路得到了非常广泛的应用,工业生产对于电子电路的性能的要求越来越高,集成电路的规模也随之不断变大,集成度也越来越高。同时,在电子设备领域,混合集成产品所占的比例逐年增大,并且混合集成产品的种类不断增加,需求量也不断增长。混合集成产品的发展使得混合电路仿真技术成为当前m)A领域十分活跃和热门的一个课题。[0003]所有的电路在本质上都是模拟的,随着集成电路规模的增大,如果只对电路进行模拟仿真,虽然是仿真精度较高,但分析所需时间过长,导致仿真效率不高。[0004]本发明的研究基于ngspice仿真软件,这是一款开源的软件,能够对电路进行直流分析、时域分析、频域分析等。[0005]中国专利文献CN103366033A公开了一种用于统计电路仿真的方法和系统。在一个实施例中,统计电路仿真方法的计算机实现包括:提供被仿真电路的包括电路统计参数变化的描述信息,根据电路统计参数的变化划分电路为多组网表,使用复数个处理器并行仿真多组网表并产生复数个输出数据文件,将所述复数个输出数据文件存储在存储器中。划分电路为多组网表的方法在单指令多数据环境生成多组网表,以及根据电路统计参数变化的近似形成多组网表。但是,该专利存在以下缺陷:对超大规模的集成电路,仿真用时过长,仿真效率低下。本专利通过在录入网表之后首先提取数字电路部分,并为数字电路提供模型库的方式,尽可能地精简电路,从而大大加快了仿真速度,极大地提高了仿真效率。【
发明内容】[0006]针对现有技术的不足,本发明提供了一种模拟数字混合电路的仿真方法;[0007]本发明在ngspice仿真软件的基础上增加了数字电路提取模块和数字单元模型库,能够对模拟数字混合电路进行直流分析和时域分析,在对计算精度影响不大的前提下能有效提尚仿真的速度。[0008]术语解释[0009]1、散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。[0010]2、N树,是指晶体管级电路中只由N沟道增强型场效应管(NM0S)组成的电路部分;[0011]3、P树,是指晶体管级电路中只由P沟道增强型场效应管(PM0S)组成的电路部分;[0012]4、PN节点:晶体管级的电路中,一个晶体管被称为一个晶体管节点,假设01是与电路中晶体管节点n通过源极或漏极相连(称为沟道相连)的所有晶体管节点的集合,如果CNn*存在至少一个PMOS晶体管和一个NMOS晶体管,那么n又被称作是一个PN节点。[0013]5、电源节点:电源或地。例如VDD和GND就是电源节点,分别接正电压(一般为1.8V)和地。[0014]6、VCVS(VoltageControlledVoltageSource)电压控制电压源。[0015]7、门电路,标准CMOS门电路;[0016]8、CCC(Channel-Connected_Components),是能够被门电路替换的晶体管,每个CCC都包含符合静态CMOS设计的一个P树和一个N树。每个P树或N树都只有一个PN节点,并且共享同一个PN节点的P树和N树构成一个CCC。[0017]本发明的技术方案为:[0018]-种模拟数字混合电路的仿真方法,具体步骤包括:[0019](1)用符合spice标准的网表表示目标电路,所述目标电路为所述模拟数字混合电路的晶体管级电路,读取该网表,通过元件哈希存储元件信息,获得目标电路的元件哈希表;通过节点哈希存储晶体管级节点信息,获得目标电路的晶体管级节点哈希表;[0020](2)从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的门电路和功能级申旲块;[0021](3)将提取出的门电路和功能级模块转换成模拟电路的模型;尽可能地精简电路;[0022](4)对转换后的模拟电路的模型进行直流分析;[0023](5)对转换后的模拟电路的模型进行时域分析。[0024]根据本发明优选的,所述步骤(1)中,通过元件哈希存储元件信息,具体是指:在网表中,以每一个元件名为关键字,采用BKDRHash函数计算出该元件对应的哈希地址,在该元件对应的哈希地址指向的结构体中存放该元件名、与该元件相连的晶体管级节点的哈希地址以及该元件的特性参数,包括元件的类型、大小。例如电阻及对应的电阻值。[0025]通过节点哈希存储晶体管级节点信息,具体是指:在网表中,以每一个晶体管级节点名为关键字,采用BKDRHash函数计算出该晶体管级节点对应的哈希地址,在该晶体管级节点对应的哈希地址指向的结构体中存放该晶体管级节点名、该晶体管级节点ID号以及与该晶体管级节点相连的元件的哈希地址。[0026]通过元件哈希与节点哈希,建立了两个哈希表,分别以元件名和晶体管级节点名为关键字,将通过BKDRHash函数得到的哈希地址指向包含元件和晶体管级节点所有特性的结构体,凡是产生冲突的记录,均以链表的形式挂载在哈希表上,需要时可通过查找链表来进行操作。因此,这两个哈希表能够存放元件的所有特性,并将元件与相连的晶体管级节点联系起来,通过查找晶体管级节点结构体中存放元件名的链表,可以找到所有与该晶体管级节点相连的元件。[0027]根据本发明优选的,所述步骤(2)中,从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的子电路,所述子电路是指一些常见的门电路和功能级模块,例如,与门、非门、或门、或非门、反相器、D触发器;具体步骤包括:[0028]A、识别所有能被门电路替换的晶体管和传输晶体管[0029]a、读入所述元件哈希表及晶体管级节点哈希表,读入按照spice标准格式编写的库文件,所述库文件包括目标电路中待识别的、用户指定的所述子电路的晶体管级网表及所述子电路的逻辑功能、输入输出端个数、扇入扇出特性;对所述子电路的晶体管级网表哈希,得到子电路的元件哈希表及子电路的晶体管级节点哈希表;[0030]b、查找出目标电路和子电路中所有的N树和P树,查找方法为:从每个与GND节点沟道相连的NM0S晶体管开始,查找所有的匪0S晶体管,在另一个GND节点或者PN节点终止,每次查找中所有的晶体管构成一个N树;从每个与VDD节点沟道相连的PM0S晶体管开始,查找所有的PM0S晶体管,在另一个VDD节点或者PN节点终止,每次查找中所有的晶体管构成一个P树;[0031]c、通过并联-串联-查找算法提取出所有的N树和P树的逻辑功能,提取方法为:在树中寻找并联的晶体管(各自的漏极、源极分别相连的晶体管),发现并联的晶体管之后,用一个代表或关系的超级晶体管替换,因为并联的晶体管,只要有一个导通,整体就相当于导通。寻找串联的晶体管(一个晶体管的源极与另一个晶体管的漏极相连),找到所有串联的晶体管,并用代表与关系的超级晶体管替换,因为串联的晶体管必须同时导通,整体才导通;不断交替寻找并联的晶体管及串联的晶体管,直到树中只剩下一个超级晶体管,此时,该树的逻辑功能就是最后剩下的超级晶体管的逻辑功能;[0032]d、根据逻辑功能是否互补对称,将提取出的树组合成CCC或伪门:逻辑功能互补对称的N树和P树构成CCC;逻辑功能不互补对称的树构成伪门;剩下的不能通过步骤b查找到的晶体管是传输晶体管;[0033]B、匹配门级和模块级电路[0034]e、将步骤A中门电路和传输晶体管用节点表示,所述门电路包括CCC和伪门,所述门的特性用节点标签存储,比如门的类型、逻辑功能、输入输出端个数、扇入扇出特性用节点特性标签存储,所述门电路与传输晶体管之间的连接方式用有向边表示,有向边的方向代表信号流通的方向,从而将所述目标电路转换成由节点和有向边组合而成的目标电路有向图,同样,将所述子电路也转换成由节点和有向边组成的子电路有向图;[0035]f、用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分;[0036]g、输出按照标准CMOS逻辑门电路和库中用户定义的模块描述的模拟数字混合电路的网表和数字单元库文件,所述数字单元库文件包含各数字模块的功能、输入端、输出端以及扇入扇出特性,也就是提取了所有能被门电路替换的晶体管和传输晶体管。[0037]根据本发明优选的,用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分,具体步骤包括:[0038]i、找到子电路的任意一个节点,不断回溯其父节点,直到找到一个没有父节点的节点为止,这个节点就被定为该子电路的初始节点K;[0039]ii、从初始节点K开始,通过子电路有向图中的边s-一找到子电路中的其它节点;[0040]iii、如果任何目标电路的节点Ci和初始节点K有相同的节点标签,则初步判定存在子电路,进入步骤iv;[0041]iv、采用宽度优先搜索算法进行核实:比较子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点和目标电路有向图中节点Ci的扇出节点集合F。中的任一扇出节点,如果节点标签相同,得到一个匹配的节点对,不断比较,如果子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点都从目标电路有向图中节点匕的扇出节点集合F。中找到的匹配的节点,则判定存在子电路。[0042]根据本发明优选的,所述步骤(3)中,将提取出的门电路和功能级模块转换成模拟电路的模型,具体步骤如下:[0043]对于标准CMOS与非门,根据与非门的逻辑功能、输入输出端节点号,建立对应的模拟电路简化模型:设定与非门的两个输入端节点名分别为A、B,输出端节点名为Y,此时,用一个VCVS来模拟,所述VCVS-端接地,另一端为节点Y,输入端A、B悬空,在节点Y处接一个电阻R,电阻R表示与非门的输出电阻,R为50-100欧姆,输入输出端的电压关系由公式(I)确定:[0045]公式(I)中,V(Y)是指输出端节点Y的电位,V(A)是指输入端节点A的电位,V(B)是指输入端节点B的电位,VDD是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管Vcs(th)N与PM0S晶体管的开启电压|Vcs(th)p|相等时,输出端节点Y的高电位值;[0046]与非门的逻辑表达式为+蒼在数字电路中,只有当A=B=1时,Y才y为〇,其余情况下Y均为1。[0047]对于反相器电路,设定反相器的两个输入端节点名分别为A1、B1,输出端节点名为Y1,此时,用一个VCVS1来模拟,所述VCVS1-端接地,另一端为节点Y1,输入端A1、B1悬空,在节点Y1处接一个电阻R1,电阻R1表示与非门的输出电阻,R1为50-100欧姆,输入输出端的电压关系由公式(II)确定:[0049]公式(II)中,V(Y1)是指输出端节点Y1的电位,VDD1是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)Nl与PM0S晶体管的开启电压|VGS(th)P|l相等时,输出端节点Y1的高电位值;[0050]对于与门电路,设定反相器的两个输入端节点名分别为A2、B2,输出端节点名为Y2,此时,用一个VCVS2来模拟,所述VCVS2-端接地,另一端为节点Y2,输入端A2、B2悬空,在节点Y2处接一个电阻R2,电阻R2表示与非门的输出电阻,R2为50-100欧姆,输入输出端的电压关系由公式(III)确定:[0052]公式(III)中,V(Y2)是指输出端节点Y2的电位,V(A2)是指输入端节点A2的电位,V(B2)是指输入端节点B2的电位,VDD2是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N2与PM0S晶体管的开启电压|VGS(th)P|2相等时,输出端节点Y2的高电位值;[0053]对于或门电路,设定反相器的两个输入端节点名分别为A3、B3,输出端节点名为Y3,此时,用一个VCVS3来模拟,所述VCVS3-端接地,另一端为节点Y3,输入端A3、B3悬空,在节点Y3处接一个电阻R3,电阻R3表示与非门的输出电阻,R3为50-100欧姆,输入输出端由公式(IV)确定:[0055]公式(IV)中,V(Y3)是指输出端节点Y3的电位,V(A3)是指输入端节点A3的电位,V(B3)是指输入端节点B3的电位,VDD3是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N3与PM0S晶体管的开启电压|VGS(th)P|3相等时,输出端节点Y3的高电位值;[0056]对于或非门电路,设定反相器的两个输入端节点名分别为A4、B4,输出端节点名为Y4,此时,用一个VCVS4来模拟,所述VCVS4-端接地,另一端为节点Y4,输入端A4、B4悬空,在节点Y4处接一个电阻R4,电阻R4表示与非门的输出电阻,R4为50-100欧姆,输入输出端的电压关系由公式(V)确定:[0058]公式(V)中,V(Y4)是指输出端节点Y4的电位,V(A4)是指输入端节点A4的电位,V(B4)是指输入端节点B4的电位,VDD4是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N4与PM0S晶体管的开启电压|VGS(th)P|4相等时,输出端节点Y4的高电位值;[0059]对于上升沿触发的D触发器,设定D触发器的输出端为Q,输入端为D,D触发器的晶体管级电路在经过数字电路部分的提取之后,呈现出来的是功能级模块,D触发器输出Q的次态Q*取决于时钟信号上升沿到达时刻输入信号的状态,D触发器特性方程为(VI):[0060]Q*=D(VI)[0061]由于是边沿触发模式,因此在进行电路分析仿真时,应注意检查时钟信号是否到了有效沿。[0062]当进行瞬态分析时,把[to,T]分为...,tn,...T等离散点,相邻两离散点之间的时间间隔11"=1+1-^,称为步长,对任一离散点^进行分析,检查此刻时钟信号的电压值,与时刻的时钟信号电压值进行比较,若离散点tn的时钟信号电压值大于阈值电压Vth,tn-i时刻的CLK电压值小于阈值电压Vth,说明tn-i到tn之间的时间内时钟信号出现过上升沿,D触发器状态发生一次翻转,即(f=D;[0063]对于D触发器的输入端电压,与数字形式转换如式(VII)所示:[0065]式(VII)中,离散点1的输出端有以下情况:[0066]当VD>Vth时,Q$=D=1,输出端电压为高电平,即Vq=Vdd5;[0067]当VD<VTH时,Q*=D=0,输出端电压为低电平,SPVQ=0;[0068]输入输出端的电压关系由公式(VIII)确定:[0069]V(Y5)=[V(D)>Vth?1:0]?Vdd5(VIII)[0070]式(VIII)中,V(Y5)是指输出端节点Y5的电位,V(D)是指输入端节点D的电位,VDD5是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N5与PM0S晶体管的开启电压|VGS(th)P|5相等时,输出端节点Y5的高电位值。[0071]根据本发明优选的,所述步骤(4)中,对转换后的模拟电路的模型进行直流分析,具体步骤如下:[0072]根据改进节点法,生成电路方程组F(X)=0,若F(X)=0是n阶方程组,则F(X)=[fi(X),f2(X),…,fi(X),…fj(X),…,fn(X)]T,未知向量X是电路中所有晶体管级节点的节点电压和电源支路的支路电流的集合,即电路的直流工作点。[0073]F(X)=0-般是非线性代数方程组,可采用牛顿-拉夫森算法迭代求解,由于方程组的系数矩阵中有大量的非零元,因此矩阵采用列压缩的稀疏矩阵进行存储。[0074]根据本发明优选的,所述步骤(5)中,对转换后的模拟电路的模型进行时域分析,具体步骤如下:[0075]①用瞬态离散化模型代替储能元件:对于储能元件线性电容、线性电感,采用梯形法的数值积分方法,可以得到一个大小为C的电容,在tn+1时刻可等效为一个值为的电导和一个值为f的电流源并联,一个大小为L的电感在tn+i时刻等效为一个值为'''的电导和一个值为;的电流源并联。[0076]②建立和求解电路方程:将时间离散化,把[to,T]分为to,,t2,...,tn,...T离散点,在任意时刻点tk上,采用改进节点法来建立代数方程=0,相邻两点之间的时间间隔hn=tn+1_tn,称为步长,采用预估校正法来确定步长的大小,对于每个离散时间点生成的代数方程,仍为非线性代数方程,采用牛顿-拉夫森方法求解。[0077]本发明的有益效果为:[0078]1、本发明所述方法仍以模拟仿真方法为基础,因此计算精度与精度非常高的全模拟仿真相比,损失很小。[0079]2、由于提取出了数字部分,并用精简的模拟模型代替,因此,本发明所述方法计算速度与全模拟仿真相比有大幅提高,节约了仿真时间,提高了仿真效率。【附图说明】[0080]图1是本发明所述的一种模拟数字混合电路的仿真方法流程框图;[0081]图2是本发明实施例1中所述的一种五级反相器振荡电路的电路图;[0082]图3是本发明实施例1所述的一种五级反相器振荡电路的仿真效果图;[0083]图4是本发明实施例2所述的一种四位同步计数器电路图;[0084]图5是本发明实施例2所述的一种四位同步计数器电路的仿真效果图。【具体实施方式】[0085]下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。[0086]实施例1[0087]-种模拟数字混合电路的仿真方法,本发明所述的一种模拟数字混合电路的仿真方法流程框图如图1所述,模拟数字混合电路是指一种五级反相器振荡电路,能够自行起振,每一个反相器均由一个PM0S晶体管和NM0S晶体管漏极相连构成,如图2所示,具体步骤包括:[0088](1)用符合spice标准的网表表示目标电路,所述目标电路为所述模拟数字混合电路的晶体管级电路,读取该网表,通过元件哈希存储元件信息,获得目标电路的元件哈希表;通过节点哈希存储晶体管级节点信息,获得目标电路的晶体管级节点哈希表;具体是指:通过元件哈希存储元件信息,具体是指:在网表中,以每一个元件名为关键字,采用BKDRHash函数计算出该元件对应的哈希地址,在该元件对应的哈希地址指向的结构体中存放该元件名、与该元件相连的晶体管级节点的哈希地址以及该元件的特性参数,包括元件的类型、大小。例如电阻及对应的电阻值。[0089]通过节点哈希存储晶体管级节点信息,具体是指:在网表中,以每一个晶体管级节点名为关键字,采用BKDRHash函数计算出该晶体管级节点对应的哈希地址,在该晶体管级节点对应的哈希地址指向的结构体中存放该晶体管级节点名、该晶体管级节点ID号以及与该晶体管级节点相连的元件的哈希地址。[0090]通过元件哈希与节点哈希,建立了两个哈希表,分别以元件名和晶体管级节点名为关键字,将通过BKDRHash函数得到的哈希地址指向包含元件和晶体管级节点所有特性的结构体,凡是产生冲突的记录,均以链表的形式挂载在哈希表上,需要时可通过查找链表来进行操作。因此,这两个哈希表能够存放元件的所有特性,并将元件与相连的晶体管级节点联系起来,通过查找晶体管级节点结构体中存放元件名的链表,可以找到所有与该晶体管级节点相连的元件。[0091](2)从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的门电路和功能级t吴块;具体步骤包括:[0092]A、识别所有能被门电路替换的晶体管和传输晶体管[0093]a、读入所述元件哈希表及晶体管级节点哈希表,读入按照spice标准格式编写的库文件,所述库文件包括目标电路中待识别的、用户指定的所述子电路的晶体管级网表及所述子电路的逻辑功能、输入输出端个数、扇入扇出特性;对所述子电路的晶体管级网表哈希,得到子电路的元件哈希表及子电路的晶体管级节点哈希表;[0094]b、查找出目标电路和子电路中所有的N树和P树,查找方法为:从每个与GND节点沟道相连的NM0S晶体管开始,查找所有的匪0S晶体管,在另一个GND节点或者PN节点终止,每次查找中所有的晶体管构成一个N树;从每个与VDD节点沟道相连的PM0S晶体管开始,查找所有的PM0S晶体管,在另一个VDD节点或者PN节点终止,每次查找中所有的晶体管构成一个P树;[0095]c、通过并联-串联-查找算法提取出所有的N树和P树的逻辑功能,提取方法为:在树中寻找并联的晶体管(各自的漏极、源极分别相连的晶体管),发现并联的晶体管之后,用一个代表或关系的超级晶体管替换,因为并联的晶体管,只要有一个导通,整体就相当于导通。寻找串联的晶体管(一个晶体管的源极与另一个晶体管的漏极相连),找到所有串联的晶体管,并用代表与关系的超级晶体管替换,因为串联的晶体管必须同时导通,整体才导通;不断交替寻找并联的晶体管及串联的晶体管,直到树中只剩下一个超级晶体管,此时,该树的逻辑功能就是最后剩下的超级晶体管的逻辑功能;[0096]d、根据逻辑功能是否互补对称,将提取出的树组合成CCC或伪门:逻辑功能互补对称的N树和P树构成CCC;逻辑功能不互补对称的树构成伪门;剩下的不能通过步骤b查找到的晶体管是传输晶体管;[0097]B、匹配门级和模块级电路[0098]e、将步骤A中门电路和传输晶体管用节点表示,所述门电路包括CCC和伪门,所述门的特性用节点标签存储,比如门的类型、逻辑功能、输入输出端个数、扇入扇出特性用节点特性标签存储,所述门电路与传输晶体管之间的连接方式用有向边表示,有向边的方向代表信号流通的方向,从而将所述目标电路转换成由节点和有向边组合而成的目标电路有向图,同样,将所述子电路也转换成由节点和有向边组成的子电路有向图;[0099]f、用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分;具体步骤包括:[0100]i、找到子电路的任意一个节点,不断回溯其父节点,直到找到一个没有父节点的节点为止,这个节点就被定为该子电路的初始节点K;[0101]ii、从初始节点K开始,通过子电路有向图中的边s-一找到子电路中的其它节点;[0102]iii、如果任何目标电路的节点Ci和初始节点K有相同的节点标签,则初步判定存在子电路,进入步骤iv;[0103]iv、采用宽度优先搜索算法进行核实:比较子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点和目标电路有向图中节点Ci的扇出节点集合F。中的任一扇出节点,如果节点标签相同,得到一个匹配的节点对,不断比较,如果子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点都从目标电路有向图中节点匕的扇出节点集合F。中找到的匹配的节点,则判定存在子电路。[0104]g、输出按照标准CMOS逻辑门电路和库中用户定义的模块描述的模拟数字混合电路的网表和数字单元库文件,所述数字单元库文件包含各数字模块的功能、输入端、输出端以及扇入扇出特性,也就是提取了所有能被门电路替换的晶体管和传输晶体管。[0105](3)将提取出的门电路和功能级模块转换成模拟电路的模型;尽可能地精简电路;[0106]对于反相器电路,设定反相器的两个输入端节点名分别为A1、B1,输出端节点名为Y1,此时,用一个VCVS1来模拟,所述VCVS1-端接地,另一端为节点Y1,输入端A1、B1悬空,在节点Y1处接一个电阻R1,电阻R1表示与非门的输出电阻,R1为50-100欧姆,输入输出端的电压关系由公式(II)确定:[0108]公式(II)中,V(Y1)是指输出端节点Y1的电位,VDD1是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)Nl与PM0S晶体管的开启电压|VGS(th)P|l相等时,输出端节点Y1的高电位值;[0109](4)对转换后的模拟电路的模型进行直流分析;具体步骤如下:[0110]根据改进节点法,生成电路方程组F(X)=0,若F(X)=0是n阶方程组,则F(X)=[f\(X),f2(X),…,fi(X),…fj(X),…,fn(X)]T,未知向量X是电路中所有晶体管级节点的节点电压和电源支路的支路电流的集合,即电路的直流工作点。[0111]F(X)=0-般是非线性代数方程组,可采用牛顿-拉夫森算法迭代求解,由于方程组的系数矩阵中有大量的非零元,因此矩阵采用列压缩的稀疏矩阵进行存储。[0112](5)对转换后的模拟电路的模型进行时域分析。具体步骤如下:[0113]①用瞬态离散化模型代替储能元件:对于储能元件线性电容、线性电感,采用梯形法的数值积分方法,可以得到一个大小为C的电容,在tn+1时刻可等效为一个值为的电导和一个值为丨的电流源并联,一个大小为L的电感在tn+1时刻等效为一个值为的电导和一个值为:的电流源并联。[0114]②建立和求解电路方程:将时间离散化,把[t0,T]分为t0,tl,t2,...,tn,...T离散点,在任意时刻点tk上,采用改进节点法来建立代数方程=e,相邻两点之间的时间间隔hn=tn+1-tn,称为步长,采用预估校正法来确定步长的大小,对于每个离散时间点生成的代数方程,仍为非线性代数方程,采用牛顿-拉夫森方法求解。[0115]将5个反相器各用一个电压控制电压源和一个电阻组成的模型去替换,从而使模拟数字混合电路转换成精简的模拟电路,然后对精简后的电路进行时域仿真,所得波形如图3中虚线所示,振荡频率为2.937GHz,仿真用时为278.561ms。对该电路进行全模拟仿真,所得波形如图3中实线所示,振荡频率为2.925GHz,仿真用时为975.851ms。[0116]通过实施例1可见,使用本发明中的混合电路仿真算法对五级反相器振荡电路进行仿真,能够很好地验证电路的功能,保证仿真的准确度,且由于两个波形与频率十分接近,由此可知本发明中仿真方法的计算精度与全模拟仿真相差不大。同时采用本发明中算法的仿真用时,与直接对晶体管级电路进行仿真的用时相比,前者是后者的28.55%,有效地节省了仿真所需的时间,提高了仿真速度。[0117]实施例2[0118]-种模拟数字混合电路的仿真方法,所述模拟数字混合电路为一个四位同步计数器电路,如图4所示,具有同步复位和同步预置数功能,可以对时钟脉冲计数,其中复位端低电平有效,置数端高电平有效。具体步骤包括:[0119](1)用符合spice标准的网表表示目标电路,所述目标电路为所述模拟数字混合电路的晶体管级电路,读取该网表,通过元件哈希存储元件信息,获得目标电路的元件哈希表;通过节点哈希存储晶体管级节点信息,获得目标电路的晶体管级节点哈希表;[0120]通过元件哈希存储元件信息,具体是指:在网表中,以每一个元件名为关键字,采用BKDRHash函数计算出该元件对应的哈希地址,在该元件对应的哈希地址指向的结构体中存放该元件名、与该元件相连的晶体管级节点的哈希地址以及该元件的特性参数,包括元件的类型、大小。例如电阻及对应的电阻值。[0121]通过节点哈希存储晶体管级节点信息,具体是指:在网表中,以每一个晶体管级节点名为关键字,采用BKDRHash函数计算出该晶体管级节点对应的哈希地址,在该晶体管级节点对应的哈希地址指向的结构体中存放该晶体管级节点名、该晶体管级节点ID号以及与该晶体管级节点相连的元件的哈希地址。[0122]通过元件哈希与节点哈希,建立了两个哈希表,分别以元件名和晶体管级节点名为关键字,将通过BKDRHash函数得到的哈希地址指向包含元件和晶体管级节点所有特性的结构体,凡是产生冲突的记录,均以链表的形式挂载在哈希表上,需要时可通过查找链表来进行操作。因此,这两个哈希表能够存放元件的所有特性,并将元件与相连的晶体管级节点联系起来,通过查找晶体管级节点结构体中存放元件名的链表,可以找到所有与该晶体管级节点相连的元件。[0123](2)从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的门电路和功能级t吴块;具体步骤包括:[0124]A、识别所有能被门电路替换的晶体管和传输晶体管[0125]a、读入所述元件哈希表及晶体管级节点哈希表,读入按照spice标准格式编写的库文件,所述库文件包括目标电路中待识别的、用户指定的所述子电路的晶体管级网表及所述子电路的逻辑功能、输入输出端个数、扇入扇出特性;对所述子电路的晶体管级网表哈希,得到子电路的元件哈希表及子电路的晶体管级节点哈希表;[0126]b、查找出目标电路和子电路中所有的N树和P树,查找方法为:从每个与GND节点沟道相连的NM0S晶体管开始,查找所有的匪0S晶体管,在另一个GND节点或者PN节点终止,每次查找中所有的晶体管构成一个N树;从每个与VDD节点沟道相连的PM0S晶体管开始,查找所有的PM0S晶体管,在另一个VDD节点或者PN节点终止,每次查找中所有的晶体管构成一个P树;[0127]c、通过并联-串联-查找算法提取出所有的N树和P树的逻辑功能,提取方法为:在树中寻找并联的晶体管(各自的漏极、源极分别相连的晶体管),发现并联的晶体管之后,用一个代表或关系的超级晶体管替换,因为并联的晶体管,只要有一个导通,整体就相当于导通。寻找串联的晶体管(一个晶体管的源极与另一个晶体管的漏极相连),找到所有串联的晶体管,并用代表与关系的超级晶体管替换,因为串联的晶体管必须同时导通,整体才导通;不断交替寻找并联的晶体管及串联的晶体管,直到树中只剩下一个超级晶体管,此时,该树的逻辑功能就是最后剩下的超级晶体管的逻辑功能;[0128]d、根据逻辑功能是否互补对称,将提取出的树组合成CCC或伪门:逻辑功能互补对称的N树和P树构成CCC;逻辑功能不互补对称的树构成伪门;剩下的不能通过步骤b查找到的晶体管是传输晶体管;[0129]B、匹配门级和模块级电路[0130]e、将步骤A中门电路和传输晶体管用节点表示,所述门电路包括CCC和伪门,所述门的特性用节点标签存储,比如门的类型、逻辑功能、输入输出端个数、扇入扇出特性用节点特性标签存储,所述门电路与传输晶体管之间的连接方式用有向边表示,有向边的方向代表信号流通的方向,从而将所述目标电路转换成由节点和有向边组合而成的目标电路有向图,同样,将所述子电路也转换成由节点和有向边组成的子电路有向图;[0131]f、用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分;具体步骤包括:[0132]i、找到子电路的任意一个节点,不断回溯其父节点,直到找到一个没有父节点的节点为止,这个节点就被定为该子电路的初始节点K;[0133]ii、从初始节点K开始,通过子电路有向图中的边s-一找到子电路中的其它节点;[0134]iii、如果任何目标电路的节点Ci和初始节点K有相同的节点标签,则初步判定存在子电路,进入步骤iv;[0135]iv、采用宽度优先搜索算法进行核实:比较子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点和目标电路有向图中节点Ci的扇出节点集合F。中的任一扇出节点,如果节点标签相同,得到一个匹配的节点对,不断比较,如果子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点都从目标电路有向图中节点匕的扇出节点集合F。中找到的匹配的节点,则判定存在子电路。[0136]g、输出按照标准CMOS逻辑门电路和库中用户定义的模块描述的模拟数字混合电路的网表和数字单元库文件,所述数字单元库文件包含各数字模块的功能、输入端、输出端以及扇入扇出特性,也就是提取了所有能被门电路替换的晶体管和传输晶体管。[0137](3)将提取出的门电路和功能级模块转换成模拟电路的模型;尽可能地精简电路;具体步骤如下:[0138]对于标准CMOS与非门,根据与非门的逻辑功能、输入输出端节点号,建立对应的模拟电路简化模型:设定与非门的两个输入端节点名分别为A、B,输出端节点名为Y,此时,用一个VCVS来模拟,所述VCVS-端接地,另一端为节点Y,输入端A、B悬空,在节点Y处接一个电阻R,电阻R表示与非门的输出电阻,R为50-100欧姆,输入输出端的电压关系由公式(I)确定:[0140]公式(I)中,V(Y)是指输出端节点Y的电位,V(A)是指输入端节点A的电位,V(B)是指输入端节点B的电位,VDD是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管Vcs(th)N与PM0S晶体管的开启电压|Vcs(th)p|相等时,输出端节点Y的高电位值;[0141]与非门的逻辑表达式为F=II=2在数字电路中,只有当A=B=1时,Y才9为〇,其余情况下Y均为1。[0142]对于反相器电路,设定反相器的两个输入端节点名分别为A1、B1,输出端节点名为Y1,此时,用一个VCVS1来模拟,所述VCVS1-端接地,另一端为节点Y1,输入端A1、B1悬空,在节点Y1处接一个电阻R1,电阻R1表示与非门的输出电阻,R1为50-100欧姆,输入输出端的电压关系由公式(II)确定:[0144]公式(II)中,V(Y1)是指输出端节点Y1的电位,VDD1是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)Nl与PM0S晶体管的开启电压|VGS(th)P|l相等时,输出端节点Y1的高电位值;[0145]对于与门电路,设定反相器的两个输入端节点名分别为A2、B2,输出端节点名为Y2,此时,用一个VCVS2来模拟,所述VCVS2-端接地,另一端为节点Y2,输入端A2、B2悬空,在节点Y2处接一个电阻R2,电阻R2表示与非门的输出电阻,R2为50-100欧姆,输入输出端的电压关系由公式(III)确定:[0147]公式(III)中,V(Y2)是指输出端节点Y2的电位,V(A2)是指输入端节点A2的电位,V(B2)是指输入端节点B2的电位,VDD2是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N2与PM0S晶体管的开启电压|VGS(th)P|2相等时,输出端节点Y2的高电位值;[0148]对于或门电路,设定反相器的两个输入端节点名分别为A3、B3,输出端节点名为Y3,此时,用一个VCVS3来模拟,所述VCVS3-端接地,另一端为节点Y3,输入端A3、B3悬空,在节点Y3处接一个电阻R3,电阻R3表示与非门的输出电阻,R3为50-100欧姆,输入输出端由公式(IV)确定:[0150]公式(IV)中,V(Y3)是指输出端节点Y3的电位,V(A3)是指输入端节点A3的电位,V(B3)是指输入端节点B3的电位,VDD3是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N3与PM0S晶体管的开启电压|VGS(th)P|3相等时,输出端节点Y3的高电位值;[0151]对于或非门电路,设定反相器的两个输入端节点名分别为A4、B4,输出端节点名为Y4,此时,用一个VCVS4来模拟,所述VCVS4-端接地,另一端为节点Y4,输入端A4、B4悬空,在节点Y4处接一个电阻R4,电阻R4表示与非门的输出电阻,R4为50-100欧姆,输入输出端的电压关系由公式(V)确定:[0153]公式(V)中,V(Y4)是指输出端节点Y4的电位,V(A4)是指输入端节点A4的电位,V(B4)是指输入端节点B4的电位,VDD4是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N4与PM0S晶体管的开启电压|VGS(th)P|4相等时,输出端节点Y4的高电位值;[0154]对于上升沿触发的D触发器,设定D触发器的输出端为Q,输入端为D,D触发器的晶体管级电路在经过数字电路部分的提取之后,呈现出来的是功能级模块,D触发器输出Q的次态Q*取决于时钟信号上升沿到达时刻输入信号的状态,D触发器特性方程为(VI):[0155]Q*=D(VI)[0156]由于是边沿触发模式,因此在进行电路分析仿真时,应注意检查时钟信号是否到了有效沿。[0157]当进行瞬态分析时,把[to,T]分为...,tn,...T等离散点,相邻两离散点之间的时间间隔11"=1+1-^,称为步长,对任一离散点^进行分析,检查此刻时钟信号的电压值,与时刻的时钟信号电压值进行比较,若离散点tn的时钟信号电压值大于阈值电压Vth?,tn-1日寸亥ij的CLK电压值小于阈值电压Vth,说明tn-1至ljtn之间的日寸间内日寸钟信号出现过上升沿,D触发器状态发生一次翻转,即(f=D;[0158]对于D触发器的输入端电压,与数字形式转换如式(VII)所示:[0160]式(VII)中,离散点1的输出端有以下情况:[0161]当VD>VTH时,=D=1,输出端电压为高电平,即VQ=VDD5;[0162]当VD<VTH时,Q$=D=0,输出端电压为低电平,SPVQ=0;[0163]输入输出端的电压关系由公式(VIII)确定:[0164]V(Y5)=[V(D)>Vth?1:0]?Vdd5(VIII)[0165]式(VIII)中,V(Y5)是指输出端节点Y5的电位,V(D)是指输入端节点D的电位,VDD5是指:当晶体管具有相同的导通内阻和截止内阻,且NM0S晶体管VGS(th)N5与PM0S晶体管的开启电压|VGS(th)P|5相等时,输出端节点Y5的高电位值。[0166](4)对转换后的模拟电路的模型进行直流分析;具体步骤如下:[0167]根据改进节点法,生成电路方程组F(X)=0,若F(X)=0是n阶方程组,则F(X)=[f\(X),f2(X),…,fi(X),…fj(X),…,fn(X)]T,未知向量X是电路中所有晶体管级节点的节点电压和电源支路的支路电流的集合,即电路的直流工作点。[0168]F(X)=0-般是非线性代数方程组,可采用牛顿-拉夫森算法迭代求解,由于方程组的系数矩阵中有大量的非零元,因此矩阵采用列压缩的稀疏矩阵进行存储。[0169](5)对转换后的模拟电路的模型进行时域分析。具体步骤如下:[0170]①用瞬态离散化模型代替储能元件:对于储能元件线性电容、线性电感,采用梯形法的数值积分方法,可以得到一个大小为C的电容,在tn+1时刻可等效为一个值为:的电导和一个值为丨的电流源并联,一个大小为L的电感在tn+i时刻等效为一个值为:的电导和一个值为I的电流源并联。[0171]②建立和求解电路方程:将时间离散化,把[to,T]分为to,t,t2,...,tn,...T离散点,在任意时刻点tk上,采用改进节点法来建立代数方程,相邻两点之间的时间间隔hn=tn+1-tn,称为步长,采用预估校正法来确定步长的大小,对于每个离散时间点生成的代数方程,仍为非线性代数方程,采用牛顿-拉夫森方法求解。[0172]使用本发明中的混合电路仿真方法对该电路进行仿真,首先从该晶体管级电路中识别出4个D触发器以及标准CMOS与非门、反相器等门电路,这是该电路的数字部分,然后将D触发器与门电路用各自对应的模型去替换,从而使模拟数字混合电路转换成精简的模拟电路,然后对精简后的电路进行时域仿真,所得波形如图5中虚线所示。对该电路进行全模拟仿真,所得波形如图5中实线所示。图5中虚线之前是未定态,虚线处在时钟信号到来时复位信号(低电平)使计数器复位,0抑20说()=0000,从波形图中可以看出,复位后,计数器输出Q3Q2Q1QQ从0000计数到0111,之后同步预置数信号(高电平)使计数器置1011,然后Q3Q2Q1Q0从1011计数到1111,之后从〇〇〇〇重新开始计数,两种方式所得的仿真波形相近,都能够准确地描述四位计数器的工作过程。二者的仿真用时分别是234.82s和125.03s。[0173]通过实施例2可见,使用本发明中的混合电路仿真算法对四位同步计数器进行仿真,能够很好地验证电路的功能,保证仿真的准确度,且由于两个波形十分相近,由此可知本发明中仿真方法的计算精度与全模拟仿真相差不大。同时采用本发明中算法的仿真用时,与直接对晶体管级电路进行仿真的用时相比,前者是后者的53.24%,有效地节省了仿真所需的时间,提高了仿真速度。【主权项】1.一种模拟数字混合电路的仿真方法,其特征在于,具体步骤包括:(1)用符合spice标准的网表表示目标电路,所述目标电路为所述模拟数字混合电路的晶体管级电路,读取该网表,通过元件哈希存储元件信息,获得目标电路的元件哈希表;通过节点哈希存储晶体管级节点信息,获得目标电路的晶体管级节点哈希表;(2)从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的n电路和功能级板块;(3)将提取出的口电路和功能级模块转换成模拟电路的模型;(4)对转换后的模拟电路的模型进行直流分析;(5)对转换后的模拟电路的模型进行时域分析。2.根据权利要求1所述的一种模拟数字混合电路的仿真方法,其特征在于,所述步骤(1)中,通过元件哈希存储元件信息,具体是指:在网表中,W每一个元件名为关键字,采用BKDRHash函数计算出该元件对应的哈希地址,在该元件对应的哈希地址指向的结构体中存放该元件名、与该元件相连的晶体管级节点的哈希地址W及该元件的特性参数,包括元件的类型、大小;通过节点哈希存储晶体管级节点信息,具体是指:在网表中,W每一个晶体管级节点名为关键字,采用BKD畑ash函数计算出该晶体管级节点对应的哈希地址,在该晶体管级节点对应的哈希地址指向的结构体中存放该晶体管级节点名、该晶体管级节点ID号W及与该晶体管级节点相连的元件的哈希地址。3.根据权利要求1所述的一种模拟数字混合电路的仿真方法,其特征在于,所述步骤(2)中,从所述元件哈希表及晶体管级节点哈希表中,识别并提取出具有数字电路功能的子电路,具体步骤包括:A、识别所有能被口电路替换的晶体管和传输晶体管a、读入所述元件哈希表及晶体管级节点哈希表,读入按照spice标准格式编写的库文件,所述库文件包括目标电路中待识别的、用户指定的所述子电路的晶体管级网表及所述子电路的逻辑功能、输入输出端个数、扇入扇出特性;对所述子电路的晶体管级网表哈希,得到子电路的元件哈希表及子电路的晶体管级节点哈希表;b、查找出目标电路和子电路中所有的州对和P树,查找方法为:从每个与GND节点沟道相连的醒OS晶体管开始,查找所有的醒OS晶体管,在另一个GND节点或者PN节点终止,每次查找中所有的晶体管构成一个饰对;从每个与VDD节点沟道相连的PMOS晶体管开始,查找所有的PMOS晶体管,在另一个VDD节点或者PN节点终止,每次查找中所有的晶体管构成一个P树;C、通过并联-串联-查找算法提取出所有的饰对和P树的逻辑功能,提取方法为:在树中寻找并联的晶体管,发现并联的晶体管之后,用一个代表或关系的超级晶体管替换,寻找串联的晶体管,找到所有串联的晶体管,并用代表与关系的超级晶体管替换,不断交替寻找并联的晶体管及串联的晶体管,直到树中只剩下一个超级晶体管,此时,该树的逻辑功能就是最后剩下的超级晶体管的逻辑功能;d、根据逻辑功能是否互补对称,将提取出的树组合成CCC或伪口:逻辑功能互补对称的N树和P树构成CCC;逻辑功能不互补对称的树构成伪口;剩下的不能通过步骤b查找到的晶体管是传输晶体管;B、匹配口级和模块级电路e、将步骤A中口电路和传输晶体管用节点表示,所述口电路包括CCC和伪口,所述口的特性用节点标签存储,所述口电路与传输晶体管之间的连接方式用有向边表示,有向边的方向代表信号流通的方向,从而将所述目标电路转换成由节点和有向边组合而成的目标电路有向图,同样,将所述子电路也转换成由节点和有向边组成的子电路有向图;f、用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分;g、输出按照标准CMOS逻辑口电路和库中用户定义的模块描述的模拟数字混合电路的网表和数字单元库文件,所述数字单元库文件包含各数字模块的功能、输入端、输出端W及扇入扇出特性,也就是提取了所有能被口电路替换的晶体管和传输晶体管。4.根据权利要求3所述的一种模拟数字混合电路的仿真方法,其特征在于,用逐步匹配算法识别目标电路有向图中的所有与子电路有向图中相匹配的部分,即数字电路部分,具体步骤包括:i、找到子电路的任意一个节点,不断回溯其父节点,直到找到一个没有父节点的节点为止,运个节点就被定为该子电路的初始节点K;ii、从初始节点K开始,通过子电路有向图中的边S-一找到子电路中的其它节点;iii、如果任何目标电路的节点Ci和初始节点K有相同的节点标签,则初步判定存在子电路,进入步骤iV;iv、采用宽度优先捜索算法进行核实:比较子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点和目标电路有向图中节点Cl的扇出节点集合F。中的任一扇出节点,如果节点标签相同,得到一个匹配的节点对,不断比较,如果子电路有向图中初始节点K的扇出节点集合Fk中的任一扇出节点都从目标电路有向图中节点Cl的扇出节点集合Fc中找到的匹配的节点,则判定存在子电路。5.根据权利要求1所述的一种模拟数字混合电路的仿真方法,其特征在于,所述步骤(3)中,将提取出的口电路和功能级模块转换成模拟电路的模型,具体步骤如下:对于标准CMOS与非口,根据与非口的逻辑功能、输入输出端节点号,建立对应的模拟电路简化模型:设定与非口的两个输入端节点名分别为A、B,输出端节点名为Y,此时,用一个VCVS来模拟,所述VCVS-端接地,另一端为节点Y,输入端A、B悬空,在节点Y处接一个电阻R,电阻R表示-故給山由阳P屯疏細給、給山趙故由圧玄由/入才/^1、石角定.公式(I)中,V(Y)是指输出端节点Y的电位,V(A)是指输入端节点A的电位,V(B)是指输入端节点B的电位,Vdd是指:当晶体管具有相同的导通内阻和截止内阻,且NMOS晶体管Vcs(th)N与PMOS晶体管的开启电压IVcs(th)pI相等时,输出端节点Y的高电位值;对于反相器电路,设定反相器的两个输入端节点名分别为A1、B1,输出端节点名为Yl,此时,用一个VCVS1来模拟,所述VCVS1-端接地,另一端为节点Y1,输入端Al、B1悬空,在节点Yl处接一个电阻Rl,电阻Rl表示与非口的输出电阻,Rl为50-100欧姆,输入输出端的电压关系由公式(II)确定:公式(II)中,V(Yl)是指输出端节点Yl的电位,VddI是指:当晶体管具有相同的导通内阻和截止内阻,且NMOS晶体管Vcs(th)Nl与PMOS晶体管的开启电压|Vcs(th)p|l相等时,输出端节点Yl的高电位值;对于与口电路,设定反相器的两个输入端节点名分别为A2、B2,输出端节点名为Y2,此时,用一个VCVS2来模拟,所述VCVS2-端接地,另一端为节点Y2,输入端A2、B2悬空,在节点Y2处接一个电阻R2,电阻R2表示与非口的输出电阻,R2为50-100欧姆,输入输出端的电压关系由公式(III)确定:公式(III)中,V(Y2)是指输出端节点Y2的电位,V(A2)是指输入端节点A2的电位,V(B2)是指输入端节点B2的电位,Vdd2是指:当晶体管具有相同的导通内阻和截止内阻,且NMOS晶体管Vgs仙)n2与PMOS晶体管的开启电压IVgs仙)PI2相等时,输出端节点Y2的高电位值;对于或口电路,设定反相器的两个输入端节点名分别为A3、B3,输出端节点名为Y3,此时,用一个VCVS3来模拟,所述VCVS3-端接地,另一端为节点Y3,输入端A3、B3悬空,在节点Y3处接一个电阻R3,电阻R3表示与非口的输出电阻,R3为50-100欧姆,输入输出端由公式(IV)确定:公式(IV)中,V(Y3)是指输出端节点Y3的电位,V(A3)是指输入端节点A3的电位,V(B3)是指输入端节点B3的电位,Vdd3是指:当晶体管具有相同的导通内阻和截止内阻,且NMOS晶体管Vgs仙)n3与PMOS晶体管的开启电压IVgs仙)PI3相等时,输出端节点Y3的高电位值;对于或非口电路,设定反相器的两个输入端节点名分别为A4、B4,输出端节点名为Y4,此时,用一个VCVS4来模拟,所述VCVS4-端接地,另一端为节点Y4,输入端A4、B4悬空,在节点Y4处接一个电阻R4,电阻R4表示与非口的输出电阻,R4为50-100欧姆,输入输出端的电压关系^公立(V)疏巧.公式(V)中,V(Y4)是指输出端节点Y4的电位,V(A4)是指输入端节点A4的电位,V(B4)是指输入端节点B4的电位,Vdd4是指:当晶体管具有相同的导通内阻和截止内阻,且NMOS晶体管Ves(th)N4与PMOS晶体管的开启电压IVcs(th)pI4相等时,输出端节点Y4的高电位值;对于上升沿触发的D触发器,设定D触发器的输出端为Q,输入端为D,D触发器输出Q的次态Q*取决于时钟信号上升沿到达时刻输入信号的状态,D触发器特性方程为(VI):Q*=D(VI)当进行瞬态分析时,把[t〇,T]分为t〇,tl,t2,...,tn,...T等离散点,相邻两离散点之间的时间间隔hn=tn+l-tn,称为步长,对任一离散点tn进行分析,检查此刻时钟信号的电压值,与tn-1时刻的时钟信号电压值进行比较,若离散点tn的时钟信号电压值大于阔值电压Vth,鮮时刻的化K电压值小于阔值电压Vth,说明tn-1到tn之间的时间内时钟信号出现过上升沿,D触发器状态发生一次翻转,即护=D;对于D触发器的输入端电压,与数字形式转换如式(VII)所示:式(VII)中,离散点tn的输出乂而巧Wr情饥^:当Vd>Vth时,Gf=D=I,输出端电压为高电平,即Vq=VddS;当Vd<Vth时,GT=D=O,输出端电压为低电平,即Vq=O;输入输出端的电压关系由公式(VIII)确定:V(Y5)=[WD)>Vth?1:0]?VddS(VIII)式(VIII)中,V(Y5)是指输出端节点Y5的电位,V(D)是指输入端节点D的电位,Vm5是指:当晶体管具有相同的导通内阻和截止内阻,且醒OS晶体管VGs(th)巧与PMOS晶体管的开启电压IVcs(th)pI5相等时,输出端节点Y5的高电位值。6.根据权利要求1所述的一种模拟数字混合电路的仿真方法,其特征在于,所述步骤(4)中,对转换后的模拟电路的模型进行直流分析,具体步骤如下:根据改进节点法,生成电路方程组F(X)=O,若F(X)=O是n阶方程组,则F(X)=Wi(X),f2(X),…,fi(X),??中(X),…,fn(X)]T,未知向量X是电路中所有晶体管级节点的节点电压和电源支路的支路电流的集合,即电路的直流工作点。7.根据权利要求1所述的一种模拟数字混合电路的仿真方法,其特征在于,所述步骤(5)中,对转换后的模拟电路的模型进行时域分析,具体步骤如下:①用瞬态离散化模型代替储能元件:②建立和求解电路方程:将时间离散化,把[t〇,T]分为t〇,ti,t2,...,tn,...T离散点,在任意时刻点tk上,采用改进节点法来建立代数方程,相邻两点之间的时间间隔hn=tn+l-tn,称为步长,采用预估校正法来确定步长的大小,对于每个离散时间点生成的代数方程,仍为非线性代数方程,采用牛顿-拉夫森方法求解。【文档编号】G06F17/50GK105912811SQ201610285696【公开日】2016年8月31日【申请日】2016年5月3日【发明人】王永,张航,王晓鲲,倪暹,任传阳【申请人】山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1