基于统计采样的晶体管级运放电路设计方法及电子设备

    专利查询2022-07-09  140



    1.本发明涉及电子电路技术领域,特别是涉及基于统计采样的晶体管级运放电路设计技术领域。


    背景技术:

    2.在当下的后摩尔时代,芯片设计行业面临着巨大挑战。一方面是随着晶体管元件尺寸的缩小,非理想特性显著增加,设计难点增多;另一方面来源于电路规模扩大,电路结构复杂化,对设计者而言,调试难度提高,相应的设计周期也随之增长。伴随着电路设计的种种难题,如何实现更好的设计自动化一直是业界关注的焦点。在数字和模拟两大类电路中,模拟集成电路的设计自动化程度仍然较低。即使针对同一结构的电路,在不同工艺、不同应用场景下,常常都有重新设计和定制的成本。在众多的模拟电路种类中,cmos运算放大器是其中应用最广泛的类型之一,是各种各样的滤波器和模数/数模转换电路中的关键电路组件。
    3.运算放大器类电路的设计难点主要在于对于多级结构引入补偿的必要性。补偿电路是调节电路频率响应的最重要手段。经典补偿方案有采用米勒电容,调零电阻,电压缓存(voltage buffer,vb),电流缓存(current buffer,cb),以及前馈补偿(feedforward,ff)等。实际设计中,通常可组合使用上述补偿方案,目的是建立合理的零极点抵消,将工作带宽推到尽可能高的频率,以适应高速应用。在现如今工程实践中,晶体管级运放电路的设计仍以手工设计为主。图1展示了手工设计中几个重要环节。
    4.由于电路定制过程中涉及高维参数,手工设计中往往很难直接对晶体管级电路下手,也不知道对众多参数的计算次序如何。设计过程中关联众多设计参数的通常是设计方程。设计方程可以手工推导出来,也可以使用一些自动化程序获得。但是获得设计方程之后设计者仍然不知道如何按照某种计算程序把所有设计参数计算出来。此时就遇到了两难境地:要么通过发生随机数探索,但由于问题维数太高,计算效率很低。要么定制某种计算顺序,但是由于电路中各设计参数的地位均等,将任何参数先算,任何参数候选都可能产生不合理的冲突。这时采样是一种“最公平”的方案,它将所有设计参数平等对待,通过设计方程“自平衡”这些采样数据。
    5.电路设计方程是从小信号简化模型推导出来的,它们是关于电路工作行为的近似但不是准确性的数学描述。它们是一种设计知识,原则上电路中各种设计参数的选取应该遵循尽可能满足这些设计方程的原则。但是设计方程集合是不完备的,即无法通过有限数目的设计方程求得定制电路的答案。它们只能提供对设计空间的部分约束,降低设计空间的维数。再加上gm/id数据的“有限区间”特性,进一步限制了设计空间,使得基于采样和统计平衡的计算策略成为可能。
    6.由宏模型推导得到的设计方程通常已带入增益、带宽、相位裕度和压摆率等电路设计指标。一般来说,有许多设计参数值的组合可满足这些设计方程和设计指标确定的设计值区间。多数设计中使用的设计表达式通常适当的“占优项”简化之后仅包含少数几个电
    路参数,这是设计直觉的来源,也是设计指标相互平衡的约束条件。关于设计方程的使用顺序问题一般是设计者的个人口味,文献中没有一致的建议或规则。为了回避这种不一致性,人们提出尝试在高维空间进行基于仿真数据的优化探索,但实践表明这种方法的电路定制效率并不高。
    7.图2展示了基于优化探索方法的设计流程。设计者要基于对晶体管级电路结构的理解构造出一个目标优化函数/问题。通常是以电路的某组性能指标作为优化目标,通过构造一种合理的优化器使得电路的性能与设定目标值的某种几何距离最小。一些电路指标常常相互冲突,因此有时构造合理的优化目标函数就不是一件容易的事情。构造多目标帕累托边界也是一种手段,但是优化探索的求解方法(如进化计算)还是需要很高的计算代价。常见的优化算法构造方法有粒子群优化算法(particle swarm optimizer,pso),模拟退火算法(simulated annealing,sa),以及遗传算法(genetic algorithm,ga)等。大多数情况下,直接利用优化器求解方法除了计算代价高昂之外,设计直观性不佳,也不一定能找到满意的定制答案。启发式优化器考虑的是“暗箱探索”场景,很少有研究工作把设计方程植入在优化探索方法之中。而且大多数优化器的运行需要预设一组工作参数,而这些工作参数的设置常常有不确定因素,而且由于算法中的随机因素,设计算法工作参数常常成了算法探索成败的关键。优化器的计算代价来自于每次优化迭代都需要一次或多次仿真代价。经过成千上万次迭代之后才能获得具有一定程度的定制结果。但是这种结果的优化程度到底如何常常又是未知数。为此优化器方法虽然学术研究很多,能实际应用的很少。


    技术实现要素:

    8.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于统计采样的晶体管级运放电路设计方法及电子设备,用于弥补传统手工设计方法或基于数据的优化方法中直观性不足和难以同时获得多款电路设计的不足。
    9.为实现上述目的及其他相关目的,本发明提供一种基于统计采样的晶体管级运放电路设计方法,所述方法包括:对晶体管级电路的结构进行拓扑分析,确定所述晶体管级电路的设计变量集合;为每个设计变量分配采样区间,并生成随机数矩阵;进行采样循环,搜索所述随机数矩阵中与设计变量所对应的拉丁方子区间,并根据所述拉丁方子区间生成采样矩阵;根据所述采样矩阵计算出宏模型电路中的相应元件值,并形成性能评估矩阵;基于所述性能评估矩阵确定满足设计指标的晶体管级运放电路设计。
    10.于本发明的一实施例中,所述设计变量集合包括:各晶体管的gm/id值,按各级增益阶段电路单元划分的偏置电流值,偏置电压节点的偏置电压值以及补偿结构中的电容电阻值。
    11.于本发明的一实施例中,所述为每个设计变量分配采样区间,并生成随机数矩阵包括:对每个设计变量分配采样区间,并将所有采样区间均切分为个子区间;生成多个1到m的随机向量,分别填入随机数矩阵[r]的各行中。
    [0012]
    于本发明的一实施例中,所述进行采样循环,搜索所述随机数矩阵中与设计变量所对应的拉丁方子区间包括:进行m轮采样循环,第j轮采样中,根据随机数矩阵[r]中所有值为j的位置找到设计变量所对应的拉丁方子区间。
    [0013]
    于本发明的一实施例中,所述根据所述拉丁方子区间生成采样矩阵包括:于拉丁
    方子区间内随机采样p次,填入到临时矩阵[s
    tmp
    ]中;每一轮结束时将临时矩阵[s
    tmp
    ]内的数据更新到采样矩阵[s]内,清空[s
    tmp
    ]为下一轮采样做准备。
    [0014]
    于本发明的一实施例中,每轮采样中,对于每个设计变量,有且仅有一个子区间被采样,所选取的子区间位置关于各行相互独立。
    [0015]
    于本发明的一实施例中,在当前一轮的采样中,如果某个子区间完成了采样操作,则关闭该子区间,不再在该子区间采样。
    [0016]
    于本发明的一实施例中,所述根据所述采样矩阵计算出宏模型电路中的相应元件值,并形成性能评估矩阵包括:将采样矩阵[s]每一列数据取出,作为样本数据;利用样本数据中所含各晶体管运放电路的设计变量进行表检索;基于所述表检索的检索结果计算宏模型电路中的相应元件值;将所述相应元件值代入预设设计方程内进行数值计算,获得该样本数据对应的电路性能指标,并将所述电路性能指标依次填入性能评估矩阵[p]中。
    [0017]
    于本发明的一实施例中,所述基于所述性能评估矩阵确定满足设计指标的晶体管级运放电路设计包括:对每个性能指标设置区间上下界值;筛选出性能评估矩阵[p]中符合所述区间上下界值的电路性能指标,并将该符合所述区间上下界值的电路性能指标确定晶体管级运放电路设计。
    [0018]
    为实现上述目的及其他相关目的,本发明还提供一种电子设备,包括存储器,用于存储计算机程序;处理器,用于运行所述计算机程序以实现如上所述的基于统计采样的晶体管级运放电路设计方法的步骤。
    [0019]
    如上所述,本发明的基于统计采样的晶体管级运放电路设计方法及电子设备具有以下有益效果:
    [0020]
    1、本发明在晶体管级运放电路设计中,可快速为指定电路结构一次性提供多款尺寸定制方案,解决了手工与优化器设计方法中面临的种种技术困难。
    [0021]
    2.本发明使用多参数拉丁方采样法,以较少的采样次数覆盖电路的设计空间,样本评估过程无需运行电路仿真器,相比基于数据的优化探索方法,较大程度上降低了设计成本。
    [0022]
    3.本发明结合了gm/id数据做查找表、电路宏模型、设计方程等诸多设计技术,有效保证了初始设计的可靠性。
    [0023]
    4.本发明的设计流程适用各种结构的晶体管级运放电路和其他可类似方法设计的模拟集成电路,可同时考虑不同类型的设计指标。本发明基于采样数据经设计方程代入进行数值化电路性能评估,属于一种“软性”设计方程强化(enforcement)方案,能更好平衡多个电路设计指标。
    附图说明
    [0024]
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    [0025]
    图1显示为现有技术中运算放大器电路的手工设计流程示意图;
    [0026]
    图2显示为现有技术中的基于优化探索方法的运放设计自动化流程示意图;
    [0027]
    图3显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法的流程示意图;
    [0028]
    图4显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法的自动化流程示意图;
    [0029]
    图5显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中基于gm/id拉丁方采样的完整设计流程图;
    [0030]
    图6显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中多变量拉丁方采样流程示意图;
    [0031]
    图7显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中运放设计中三个重要的设计节点(以二级带米勒补偿和调零电阻结构为例);
    [0032]
    图8a和图8b显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中用作gm/id查找表数据收集的单个晶体管扫描电路;
    [0033]
    图9a显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中cgg/id类型的二维查找表数据图表;
    [0034]
    图9b显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中gds/id类型的三维查找表数据图表;
    [0035]
    图10a至图10c显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中蒙特卡洛采样分布和采样次数q的关系图;
    [0036]
    图11a至图11c显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中拉丁方采样分布和采样次数q的关系图;
    [0037]
    图12显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中运放电路频率响应曲线的示意图
    [0038]
    图13显示为本技术一实施例中的基于统计采样的晶体管级运放电路设计方法中某一电路性能指标的统计直方图。
    [0039]
    图14显示为本技术一实施例中的电子设备的原理框图。
    [0040]
    元件标号说明
    [0041]
    101
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    电子设备
    [0042]
    1001
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    处理器
    [0043]
    1002
    ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
    存储器
    [0044]
    s100~s500
    ꢀꢀꢀꢀ
    步骤
    具体实施方式
    [0045]
    以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
    [0046]
    本实施例的目的在于提供一种基于统计采样的晶体管级运放电路设计方法及电子设备,用于弥补传统手工设计方法或基于数据的优化方法中直观性不足和难以同时获得
    多款电路设计的不足。
    [0047]
    具体地,本实施例提供一种结合gm/id、采样、设计方程的模拟集成电路尺寸定制方法。本实施例详细描述了如何确定电路的设计变量,怎样做基于gm/id有限区间的拉丁方采样,以及怎样利用设计方程构建性能指标的统计直方图并基于此进行定制求解筛选,由此得到多种尺寸定制方案。本发明可解决手工设计以及基于优化器探索设计中存在的局限性。
    [0048]
    以下将详细阐述本发明的基于统计采样的晶体管级运放电路设计方法及电子设备的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的基于统计采样的晶体管级运放电路设计方法及电子设备。
    [0049]
    实施例1
    [0050]
    如图3所示,本实施例提供一种基于统计采样的晶体管级运放电路设计方法,所述方法包括:
    [0051]
    步骤s100,对晶体管级电路的结构进行拓扑分析,确定所述晶体管级电路的设计变量集合;
    [0052]
    步骤s200,为每个设计变量分配采样区间,并生成随机数矩阵;
    [0053]
    步骤s300,进行采样循环,搜索所述随机数矩阵中与设计变量所对应的拉丁方子区间,并根据所述拉丁方子区间生成采样矩阵;
    [0054]
    步骤s400,根据所述采样矩阵计算出宏模型电路中的相应元件值,并形成性能评估矩阵;
    [0055]
    步骤s500,基于所述性能评估矩阵确定满足设计指标的晶体管级运放电路设计。
    [0056]
    以下结合图4和图5对本实施例的基于统计采样的晶体管级运放电路设计方法的步骤s100至步骤5500进行详细说明。
    [0057]
    本实施例中,部分变量定义如下:电路设计变量总数n,总采样次数q,拉丁方采样中划分子区间数m,各子区间内采样次数p,循环计数变量{i,j,h},随机数矩阵[r],采样矩阵[s],临时采样矩阵[s
    tmp
    ]以及性能评估矩阵[p]。
    [0058]
    步骤s100,对晶体管级电路的结构进行拓扑分析,确定所述晶体管级电路的设计变量集合。
    [0059]
    于本实施例中,所述设计变量集合包括:各晶体管的gm/id值,按各级增益阶段电路单元划分的偏置电流值,偏置电压节点的偏置电压值以及补偿结构中的电容电阻值。
    [0060]
    即对晶体管级电路结构做拓扑分析,确定该电路关于gm/id,id,r,c以及节点电压v的设计变量集合。
    [0061]
    步骤s200,为每个设计变量分配采样区间,并生成随机数矩阵。
    [0062]
    于本实施例中,所述为每个设计变量分配采样区间,并生成随机数矩阵包括:对每个设计变量分配采样区间,并将所有采样区间均切分为个子区间;生成多个1到m的随机向量,分别填入随机数矩阵[r]的各行中。
    [0063]
    即本实施例中,对每个设计变量分配采样区间,所有区间均切分为m个子区间,生成多个1到m的随机向量,分别填入随机数矩阵[r]的各行中。
    [0064]
    步骤s300,进行采样循环,搜索所述随机数矩阵中与设计变量所对应的拉丁方子区间,并根据所述拉丁方子区间生成采样矩阵。
    [0065]
    于本实施例中,所述进行采样循环,搜索所述随机数矩阵中与设计变量所对应的拉丁方子区间包括:进行m轮采样循环,第j轮采样中,根据随机数矩阵[r]中所有值为j的位置找到设计变量所对应的拉丁方子区间。
    [0066]
    于本实施例中,所述根据所述拉丁方子区间生成采样矩阵包括:于拉丁方子区间内随机采样p次,填入到临时矩阵[s
    tmp
    ]中;每一轮结束时将临时矩阵[s
    tmp
    ]内的数据更新到采样矩阵[s]内,清空[s
    tmp
    ]为下一轮采样做准备。
    [0067]
    于本实施例中,每轮采样中,对于每个设计变量,有且仅有一个子区间被采样,所选取的子区间位置关于各行相互独立。
    [0068]
    于本实施例中,在当前一轮的采样中,如果某个子区间完成了采样操作,则关闭该子区间,不再在该子区间采样。
    [0069]
    本实施例基于高维拉丁方采样原理,应用于电路定制中的高维参数。如图6所示,其中同一行的小方块表示一个设计变量的子区间长度,同一列(j列)方块表示所有变量的第j个采样子区间。在每个子区间内做p次采样,采样操作在图6中用阴影块表示。每轮采样中,对于每个设计变量(即同一行方块),有且仅有一个子区间被采样,所选取的子区间位置关于各行相互独立。在当前一轮的采样中,如果某个子区间完成了采样操作,那么就关闭该子区间(不再在该子区间采样),对应图6中打叉方块。依次递归,经过m轮采样即可遍历所有子区间并获得完整的采样集。
    [0070]
    总共进行m轮采样循环,第j轮采样中,根据矩阵[r]中所有值为j的(行,列)位置找到设计变量所对应的拉丁方子区间,在这个子区间内随机采样p次,填入到临时矩阵[s
    tmp
    ]中。每一轮结束时将[s
    tmp
    ]内的数据更新到采样矩阵[s]内,清空[s
    tmp
    ]为下一轮采样做准备。
    [0071]
    步骤s400,根据所述采样矩阵计算出宏模型电路中的相应元件值,并形成性能评估矩阵。
    [0072]
    于本实施例中,所述根据所述采样矩阵计算出宏模型电路中的相应元件值,并形成性能评估矩阵包括:将采样矩阵[s]每一列数据取出,作为样本数据;利用样本数据中所含各晶体管运放电路的设计变量进行表检索;基于所述表检索的检索结果计算宏模型电路中的相应元件值;将所述相应元件值代入预设设计方程内进行数值计算,获得该样本数据对应的电路性能指标,并将所述电路性能指标依次填入性能评估矩阵[p]中。
    [0073]
    即于本实施例中,构建完采样矩阵[s]后,将每一列数据取出,利用样本中所含各晶体管的gm/id,id等信息进行gm/id查找表检索,然后计算出宏模型电路中的相应元件值。紧接着代入设计方程内进行数值计算,获得该样本对应的电路性能指标,依次填入性能评估矩阵[p]中。
    [0074]
    步骤s500,基于所述性能评估矩阵确定满足设计指标的晶体管级运放电路设计。
    [0075]
    于本实施例中,所述基于所述性能评估矩阵确定满足设计指标的晶体管级运放电路设计包括:对每个性能指标设置区间上下界值;筛选出性能评估矩阵[p]中符合所述区间上下界值的电路性能指标,并将该符合所述区间上下界值的电路性能指标确定晶体管级运放电路设计。
    [0076]
    即本实施例中,对每个性能指标设置“允许”区间,筛选出[p]中所有指标均在“允许”区间内的样本,即为初始尺寸定制方案。
    [0077]
    本实施例方法可以如图7所示的二级带米勒补偿与调零电阻的运放电路为辅助电路进行说明,所述原理性内容不局限于该特定电路,可根据设计需要用于其他各类运算放大器电路和通用模拟集成电路。
    [0078]
    图7给出了运放设计中三个比较重要的设计节点,我们在前面对手工分析流程的说明中也有提到,这里相当于针对这个二级电路做了更具体的展示。晶体管到宏模型的箭头中主要做的事情是电路拓扑简化和两者的参数映射。例如小信号模型里,这个二级电路里的第一级可以简化成一个gm加一对输出电容电阻负载的结构,而第一级的输出电阻ro1映射到晶体管级电路中就是m2和m4两个输出电路的并联。基于宏模型可以推导一系列设计方程,图7中给出了一些如传输函数,零极点表达式,压摆率这些性能指标的表示形式。然后利用这些设计方程做尺寸方案的定制,结合仿真器调节和验证,最终回到晶体管电路完成整个设计周期。
    [0079]
    运算放大器晶体管级电路中的设计变量可以分为四种类型:1)各晶体管的gm/id值,2)按各级增益阶段电路单元划分的偏置电流值,3)一些偏置电压节点的偏置电压值,4)补偿结构中的电容电阻值。
    [0080]
    首先,对某一工艺的单个晶体管(p型或n型)进行“gm/id”数据查找表扫描,获得一组晶体管工作状态关于gm/id的依赖关系。通常可考虑的状态参数包括:gds/id(单位电流的输出导纳),id/(w/l)(关于宽长比归一的沟道电流),vdsat(饱和电压值),vgs(栅源电压),cgg/id(单位电流栅极总电容)等。这些器件状态值关于gm/id构成的二维相关数据即是gm/id设计方法中使用的查找表数据。而查找表数据的收集和具体要做什么类型的电路设计无关,只用在选定的工艺下对单个晶体管进行偏置点(operating point,op)扫描仿真。图8a和图8b给出了nmos(图8a)和pmos(图8b)两种类型的晶体管做单管gm/id查找表数据收集时的电压源添加方式。其中,vgs是必须要做扫描的电压,因为改变vgs才能改变晶体管的反型状态,进而改变晶体管gm/id值。相比之下对vds的扫描是一个选择项,通常我们只在构建gds/id类型的查找表时会考虑vds的变化。除此之外,往往还需要额外添加关于晶体管沟道长度的扫描,因为沟道长度的改变多多少少也会改变上述的状态参数值,但沟道宽度的影响几乎没有,所以沟道宽度不做扫描。
    [0081]
    仅做vgs和l扫描得到的查找表数据画出来是一个二维的图,如图9a展示的是一组cgg/id和gm/id关系的曲线,其中不同的曲线代表晶体管沟道长度的不同。图9b给出的是gds/id类型查找表图的绘制,因为考虑了vds的扫描,所以每个沟道长度下画出来均是一个三维的平面。实际使用中,无论是对二维或是三维的查找表,我们都采用基于给定{gm/id,l}或{gm/id,l,vds}参数值用线性插值的方法做数据检索。
    [0082]
    从gm/id扫描数据可以看到,横轴gm/id数值大致落在区间[5,25]v-1
    内,是一个数值范围不大的区间。这个区间范围不因管子的宽长比大小和管子的偏置电压而改变,是一个稳定的取值区间。既然一个模拟电路的所有晶体管都可以在该区间内取值,我们就可以在这个有限区间进行采样。对于具体cmos工艺,gm/id参考区间[5,25]v-1
    的右端(vgs值较小)对应“弱反型”(weak inversion),左端(vgs值较大)对应强反型(strong inversion)。在实际设计中一般不把管子偏置在过强反型或者过弱反型端点位置。因此合理的gm/id设计区间是图中横轴所示区间的中间部分。不同位置选择的差异性通过本采样方法进行评估。
    [0083]
    其次,按级设置电流分配是实践中一种常见设计策略,而且这样可以减少电流设计变量的个数。参考图7可见,同一增益阶段内流过不同晶体管的沟道电流值之间存在一定比例关系,如i
    d(m0)
    =2i
    d(m1,2)
    =2i
    d(m3,4)
    ,这些电流关系由阶段电路的内部构造决定,是一种本性量化关系。因此m
    0-4
    这五个晶体管便可共享一个id电流变量。m5和m6同理。参考电流i
    ref
    通常由工艺和功耗指标设定,选好参考值之后暂时不需要在设计中改变。因此图7中二级电路仅需两个电流变量就足以表征所有晶体管的电流值。偏置电流的设计区间可参考功耗和压摆率指标作为参考依据。同时根据设计需要,输出级的电流需求通常选得比输入级更大,因此会设定更大的区间范围。这些设计区间的选定属于设计初期的“规划”,设计者可根据经验和应用需求适当进行调整,不影响本发明方法的技术细节。
    [0084]
    第三种设计变量类型为电路中特定节点的偏置电压值,此处“特定节点”指代电路中所有无法在初始设计阶段确定工作电压值的节点。在运放电路中,这种不确定性有两种来源,第一种为“输入节点”,因为运放的输入电压属于电路的外围偏置(如共模偏置)。第二类为“晶体管漏极相连的节点”,该类节点的准确电压值只能通过实际仿真求解得到。因此,在初始设计阶段这类节点的电压也应处理成设计参数,在某个预设范围内进行采样。
    [0085]
    最后一类为补偿电路的电容和电阻值,此类设计变量区间确定可参照几个因素:设计补偿的需要和对电容面积的考虑。
    [0086]
    采样按照如下方案进行。用xi,i=1,...,n,来表示第i个设计变量,n表示设计变量的总数。同时,用表示对第i个变量设定的采样区间。首先考虑使用蒙特卡洛随机采样,即每次采样都使用随机算法从内选值。假设所有区间上的总采样次数为q,那么采样分布随q增大趋势大致如图10a至图10c所示,随着q逐渐增大分布逐渐趋于稳定。
    [0087]
    蒙特卡洛随机采样之所以在采样次数少的时候对分布抓取不够精准,主要原因在于在整个采样区间内每次采样过程都相互独立,这就意味着当前采样获得的样本在下一次采样中还有机率被采到。而拉丁方采样可以在采样次数少的情况下还能保证采样均匀性的原因,很大程度上归功于引入了采样过程的互斥性,通俗的讲就是下一次采样的位置尽量落在当前样本都没有覆盖的区域。拉丁方采样的具体的实施步骤如下,首先要预先对做均匀划分。假设总共划分成m个子区间,每个子区间宽度为δxi=(x
    i,max-x
    i,min
    )/m。采样总共循环m轮,任意第k=1,...,m轮还是在第k个子区间进行次均匀采样。这样操作下来,虽然小区间内还是蒙塔卡洛采样,但是对整个采样区间判断,采样过程的均匀性已经获得了提高。拉丁采样分布随q的变化趋势大致如图11a至图11c所示。
    [0088]
    本实施例基于高维拉丁方采样原理,应用于电路定制中的高维参数。如图6所示,其中同一行的小方块表示一个设计变量的子区间长度,同一列(j列)方块表示所有变量的第j个采样子区间。在每个子区间内做p次采样,采样操作在图6中用阴影块表示。值得一提的是,每轮采样中,对于每个设计变量(即同一行方块),有且仅有一个子区间被采样,所选取的子区间位置关于各行相互独立。在当前一轮的采样中,如果某个子区间完成了采样操作,那么就关闭该子区间(不再在该子区间采样),对应图6中打叉方块。依次递归,经过m轮
    采样即可遍历所有子区间并获得完整的采样集。
    [0089]
    定制电路时我们对所有设计参数(给定设计区间)进行q次采样,对q个样本逐一进行电路性能评估。假设我们评估运放电路的频响性能,在每个样本中我们有所有晶体管的gm/id值和id值,参照gm/id查找表获得关于“gds/id”和“cij/id(i,j=g,d,s)”,g,d,s分别表示晶体管的栅极、漏极和源极。查找表离散值之间的值通过线性插值方法获得。通过少量计算便可获得每个晶体管对应的小信号参数值{gm,gds,cij}。进一步获得宏模型电路的参数映射关系,可求得宏模型电路中的等效跨导,输出阻抗以及输出电容值。最终代入传输函数,可以画出如图12所示的频率响应曲线图,通过读取图中几个关键位置的数值,我们可以获得如gain,gbw(gain bandwidth)和pm(phase margin)等频响设计指标。值得一提的是,在这一步的计算过程中不需要提取任何零极点表达式,而是直接对整个传输函数做曲线绘制,因而避开了零极点具体位置摆放的纠结。而像图12中提到的其他类型的设计参数像压摆率,功耗这种则不需要画曲线,直接代值计算即可。
    [0090]
    完成所有样本评估之后,获得q组样本的对应性能指标。画出针对每一种性能指标的统计直方图,如图13所示。其中,横坐标为任一性能指标值,纵坐标表示各性能指标区间里的样本数量。实际运放电路设计中,设计者对性能指标的需求通常以边界值形式给出,例如gain》100db,pm》60deg或者power《2mw等。这类边界值信息直接对应直方图中横轴区域。图6中将直方图的横坐标按边界划分成了左(灰色)和右(白色)两块区域,其中灰色区域显示所有未满足该性能指标的样本,而白色区域则显示满足这个指标的所有样本。对所有设计中考虑的设计指标都构造直方图并进行指标边界区域划分。可以在某张直方图中显示满足所有性能指标的样本数目,如图13中的斜线区域。这些样本满足所有设计指标,同时也是本发明方法给出的多款定制电路。
    [0091]
    最后,基于每个样本中的设计参数取值,利用“id/(w/l)-gm/id”查找表获得每个晶体管的宽长值。基于获得的初始设计尺寸信息和采样得到的偏置电压数值,设计者通过仿真即可快速调出满足所有指标的定制电路。本发明方法定制出的电路也可以作为后续电路优化器的初始电路进行进一步优化。
    [0092]
    实施例2
    [0093]
    如图14所示,本实施例提供一种电子设备101,所述电子设备101包括:处理器1001及存储器1002;所述存储器1002用于存储计算机程序;所述处理器1001用于执行所述存储器1002存储的计算机程序,以使所述电子设备101执行如实施例1中基于统计采样的晶体管级运放电路设计方法的步骤。由于基于统计采样的晶体管级运放电路设计方法的步骤的具体实施过程已经在实施例1中进行了详细说明,在此不再赘述。
    [0094]
    处理器1001为(central processing unit,中央处理器)。存储器1002通过系统总线与处理器1001连接并完成相互间的通信,存储器1002用于存储计算机程序,处理器1001用于运行计算机程序,以使所述处理器1001执行所述的基于统计采样的晶体管级运放电路设计方法。存储器1002可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
    [0095]
    此外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器1001执行时实现实施例1中所述的基于统计采样的晶体管级运放电路设计方法中的步骤。实施例1已经对所述基于统计采样的晶体管级运放电路设计方法进行了
    详细说明,在此不再赘述。
    [0096]
    本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
    [0097]
    综上所述,本发明在晶体管级运放电路设计中,可快速为指定电路结构一次性提供多款尺寸定制方案,解决了手工与优化器设计方法中面临的种种技术困难;本发明使用多参数拉丁方采样法,以较少的采样次数覆盖电路的设计空间,样本评估过程无需运行电路仿真器,相比基于数据的优化探索方法,较大程度上降低了设计成本;本发明结合了gm/id数据做查找表、电路宏模型、设计方程等诸多设计技术,有效保证了初始设计的可靠性;本发明的设计流程适用各种结构的晶体管级运放电路和其他可类似方法设计的模拟集成电路,可同时考虑不同类型的设计指标。本发明基于采样数据经设计方程代入进行数值化电路性能评估,属于一种“软性”设计方程强化(enforcement)方案,能更好平衡多个电路设计指标。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
    [0098]
    上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
    转载请注明原文地址:https://tc.8miu.com/read-3320.html

    最新回复(0)