基于改进蜂群算法的模拟电路设计参数空间探索
1. 引言
模拟CMOS电路的设计包括确定各种MOSFET器件的宽度和长度以及无源元件1的值,以满足各种设计规格和约束,例如增益、带宽、压摆率、电源抑制比、压摆率、电源抑制比和功耗。这使得模拟CMOS电路的设计成为一个多维多约束优化问题。此外,CMOS电路的性能对设计参数非常敏感。模拟电路设计是一项知识密集型任务,并涉及权衡方法。2
研究界正在积极致力于模拟互补金属氧化物半导体电路设计的自动化。各种经典优化技术,如线性规划、3动态规划、4序列二次规划5被用于模拟电路的设计。然而,它们存在以下问题。首先,解的质量取决于起始点。在缺乏良好起始点的情况下,此类算法可能得到局部优化解。其次,必须建立精确的目标函数。此外,对于动态规划而言,计算量随问题规模呈指数级增长。6几何规划技术被用于设计运算放大器电路2,7和锁存比较器8。这种凸优化技术需要物理模型来建立约束。当MOSFET的短沟道效应不可忽略时,很难建立这样的模型。9因此,对于大规模模拟CMOS电路的设计,经典优化技术与几何规划大多不适用。
另一种选择是基于启发式算法的优化技术。一些启发式算法的例子包括模拟退火(SA)、10禁忌搜索、11遗传算法(GA)、12粒子群优化(PSO)、13蚁群优化(ACO)14和人工蜂群算法(ABC)。15这些算法易于以计算机程序的形式实现。
许多研究人员已成功采用启发式算法来设计模拟电路。带有老化领导者和挑战者的粒子群优化算法(ALC‐PSO)被用于设计CMOS比较器和折叠级联运算放大器电路。16 CMOS差分放大器和两级运算放大器的设计在17采用结合粒子群优化的引力搜索算法(GSA‐PSO)进行。对称CMOS反相器的最优设计在18利用混合和声搜索与差分进化(HS‐DE)和粒子群优化算法实现。在19中,使用粒子群优化算法设计低噪声放大器(LNA)和第二代电流传输器(CCII)。多目标粒子群优化(MOPSO)、多目标蚁群算法(MOACO)、非支配排序遗传算法(NSGA‐II)和存档多目标模拟退火(AMOSA)的性能在20通过设计LNA、运算放大器、运算跨导放大器和电流传输器电路进行了比较。启发式算法在模拟CMOS电路设计中的应用可在9,16,21–23中找到。
ABC、PSO、DE和群体智能启发的进化算法(PS‐EA)在求解基准函数方面的性能比较表明,ABC算法由于控制参数数量较少,表现出更优的性能。15,24对ABC算法应用的详细调查显示25,ABC算法是解决工程问题的有效工具。ABC算法是一种基于种群的优化技术。对于任何基于种群的优化算法而言,探索与开发之间的平衡是必要的。探索是指算法搜索搜索空间中不同未知区域的能力;而开发是指算法利用先前解的知识来寻找更优解的能力。ABC算法的探索能力较强,但开发能力较差。26由于这一缺陷,ABC算法在处理单峰问题时收敛速度较慢,并且在求解复杂多峰问题时容易陷入局部最小值问题。27为了解决此问题,提出了各种改进型和混合型ABC算法26–29。
本文提出了一种ABC算法的改进版本,并将该算法命名为增强型人工蜂群(EABC)算法。EABC算法中采用的改进搜索策略提升了算法的整体性能。通过设计三个CMOS电路,将EABC算法的性能与ABC算法及其他两种改进版本——G最优引导ABC(GABC)算法和改进型ABC(MABC)算法进行了比较。
本文的结构如下。第2节讨论了自动电路设计方法。第3节详细讨论了EABC和ABC算法。第4节讨论了运算放大器、体驱动OTA和第二代CCII的设计。最后,第5节得出了结论。
2. 模拟电路设计自动化
模拟电路的各种设计参数通常包括各个MOSFET器件的宽度(W)和长度(L)。模拟电路设计的任务是确定各种设计参数的值,以实现电路的期望性能。任何电路的期望性能都可以用一组规格来表示。假设一个电路有N个规格(即 Spect1、Spect2、…、 SectN),以及诸如 Wi、 Lj、 Rk和 Cm等各类设计参数。电路设计的任务就是确定这些设计参数的值,使得所有规格均被满足。
互补金属氧化物半导体电路设计的传统设计方法包括通过解析计算确定MOSFET器件的尺寸,然后进行电路仿真。通常,MOSFET的特性使用SPICE模型来描述。一级SPICE模型包含21个参数,用于描述MOSFET的行为,适用于表示大尺寸沟道的MOSFET(即 L> 2µm)。根据一级模型,n‐MOSFET在线性区的漏极电流 Ids可表示为: 30
$$
I_{ds} = \beta \frac{W_{eff}}{L_{eff}} (1+ \lambda V_{ds})(V_{gs} - V_{th} - \frac{V_{ds}}{2}) V_{ds}
$$
同样,饱和区的漏极电流 $I_{ds}$可以表示为,
$$
I_{ds} = \frac{\beta}{2} \frac{W_{eff}}{L_{eff}} (1+ \lambda V_{ds})(V_{gs} - V_{th})^2
$$
28级模型具有63个参数用于表示MOSFET。类似地,能够描述 0.13µm技术中MOSFET的54级SPICE模型则包含超过150个参数。在进行解析计算时,考虑所有这些参数是非常困难的。因此,在现代技术下设计模拟电路时,若使用诸如公式1 和公式2之类的简单器件方程来确定MOSFET器件的宽度和长度,则计算出的MOSFET器件尺寸并不准确。这可能导致计算结果与实际仿真结果之间存在显著差异,从而增加了对仿真的依赖性。
使得在更小工艺技术(即 0.13µm 或更小)下进行模拟电路设计成为一项极具挑战性的任务。它需要专业知识和深入的了解。在这种情况下,传统设计方法无法提供高效时间的解决方案。克服这一问题的一个可能解决方案是采用电路设计自动化。
基于仿真的电路设计与优化方法的概念框图如图1所示。优化算法是优化器的核心,可采用启发式算法来实现此目的。搜索空间描述了电路参数的上下界。合理选择搜索空间对于避免产生非实际可行的解非常有用。根据期望规格和搜索空间,优化算法生成解(即电路参数),并利用这些信息对电路进行仿真。从仿真结果中,将电路性能与期望规格进行比较,并计算成本函数(目标函数)的值。优化算法根据成本函数值生成一组新的参数。该迭代过程持续进行,直到满足电路的规格要求或达到终止条件为止。成本函数的构建采用百分比形式的均方根(RMS)误差。
对于具有 N个规格的电路,成本函数可表示如下:
$$
\text{RMS Error(\%)} = \sqrt{\frac{1}{N} \sum_{i=1}^{N} E_i} \times 100
$$
$$
E_i =
\begin{cases}
0, & \text{if } \text{Spect}
i \text{ is satisfied} \
\left(\frac{\text{Spect}
{sim,i} - \text{Spect}_i}{\text{Spect}_i}\right)^2, & \text{Otherwise}
\end{cases}
$$
其中, i= 1, 2,… N, Specti 为期望的规格, Spect sim i 为电路仿真后得到的规格。
3. 增强型人工蜂群算法
3.1. 人工蜂群算法
人工蜂群算法由D. 卡拉博加于2005年提出,它模拟了人工蜂的行为。15,24,31在人工蜂群算法中,人工蜂被分为三组:雇佣蜂、观察蜂和侦查蜂。雇佣蜂用于寻找更优的食物源(解候选),而观察蜂则对选定的食物源进行改进。侦查蜂会在经过一定次数的预设尝试后,舍弃无法再改进的食物源,并随机选择新的食物源。
考虑一个具有 D维的优化问题,其由成本函数 f(·)表示。假设有 SN个食物源,每个食物源由 Xi表示,其中 i= 1, 2,, SN。这对应 SN个雇佣蜂和相同数量的观察蜂。食物源 Xi可以建模为一个具有 D维的向量,如下所示:
$$
X_i = {X_{i1}, X_{i2}, X_{i3}, …, X_{iD}}
$$
其中 i= 1, 2,…, SN。该算法首先对食物源进行随机初始化,如下所示:
$$
X_{ij} = X_j^l + R \cdot (X_j^u - X_j^l)
$$
其中, i= 1, 2,…, SN; j= 1, 2,…, D; R是介于0和1之间的均匀分布的随机数; $X_j^l$ 和 $X_j^u$ 分别为第 j维的下界和上界。与食物源 Xi相关的适应度按以下方式进行计算:
$$
\text{fit}_{x_i} = \frac{1}{1 + f(X_i)}
$$
每只采蜜蜂通过获取另一个食物源 Xk的信息,在被分配的食物源Xi周围尝试寻找新的食物源 Vi,具体如下,
$$
V_{ij} =
\begin{cases}
X_{ij}, & \text{if } j \neq p \
X_{ij} + \phi \cdot (X_{ij} - X_{kj}), & \text{if } j = p
\end{cases}
$$
其中, i= 1, 2,…, SN; j= 1, 2,…, D; φ是介于 −1和1之间的均匀分布的随机数; p ∈{1, 2,…, D}和被随机选择;k ∈{1, 2,…, SN}与 k ≠ i且被随机选择。新食物源 $V_i$ 的适应度 $\text{fit} {v_i}$ 被计算。在 $X_i$ 和 $V_i$ 之间应用贪婪选择过程,即如果 $\text{fit} {v_i}$ 大于 $\text{fit}_{x_i}$ ,则接受新食物源 $V_i$ ,否则拒绝并保留 $X_i$ 。
观察蜂仅选择改进概率较高的食物源。每个食物源 $P_i$ 相关的概率可以计算为,
$$
P_i = \frac{\text{fit}
{x_i}}{\sum
{i=1}^{N} \text{fit}_{x_i}}
$$
所选的食物源通过根据公式7获取另一个食物源的信息来改进。
侦察蜂会放弃在预设的试验次数 Tmax后仍无法改进的食物源,并从搜索空间中随机选择新的食物源来替代每个被放弃的食物源,该过程使用公式5实现。因此,在ABC算法中,每次迭代包含三个阶段:雇员蜂阶段、观察蜂阶段和侦察蜂阶段。
在雇员蜂阶段,尝试对每个食物源进行同等程度的改进;在观察蜂阶段,仅对选定的食物源进行改进。
3.2. 增强型人工蜂群(EABC)算法
与ABC算法类似,EABC算法包含三个阶段,即雇员蜂阶段、观察蜂阶段和侦察蜂阶段。此外,EABC采用种群随机初始化。然而,在雇员蜂阶段和观察蜂阶段所采用的搜索策略有所不同。在ABC算法的雇员蜂阶段,每只雇员蜂根据其他食物源的位置在其当前位置周围寻找新的食物源,这提供了良好的探索能力。但由于在此搜索过程中对先前找到的解的利用较差,因此开发能力不足。在EABC算法中,我们使用以下搜索方程。
$$
V_{ij} =
\begin{cases}
X_{ij}, & \text{if } j \neq p \
A, & \text{if } j = p \text{ and } \text{fit}
{N1} > \text{fit}
{N2} \
B, & \text{if } j = p \text{ and } \text{fit}
{N1} < \text{fit}
{N2}
\end{cases}
$$
$$
A = X_{N1,j} + \psi \cdot (2X_{N1,j} - X_{N2,j} - GBest_j)
$$
$$
B = X_{N2,j} + \psi \cdot (2X_{N2,j} - X_{N1,j} - GBest_j)
$$
其中, i= 1, 2,…, SN; j= 1, 2,…, D; ψ 是介于 −0.5 和 0.5 之间的均匀分布的随机数; p ∈{1, 2,…, D} 和随机选择; N1 和 N2 互斥且不同于 i; N1, N2 ∈{1, 2,…, SN} 并随机选择。此处,新的食物源 Vi 在另一个食物源 N1 或 N2 周围被搜索。新食物源 Vi 通过两个互斥的食物源( N1 和 N2 )以及迄今为止找到的最佳解(GBest)来确定。根据新食物源的适应度,在 Vi 和 Xi 之间进行贪婪选择。在 EABC 算法中,观察蜂仅对具有更高改进概率的食物源进行优化。
每个食物源对应的改进概率可以使用公式8进行计算。所选的食物源 Xi按如下方式改进,
$$
V_{ij} =
\begin{cases}
X_{ij}, & \text{if } j \neq p \
C, & \text{if } j = p \text{ and } \text{fit}
{N1} > \text{fit}_i \
D, & \text{if } j = p \text{ and } \text{fit}
{N1} < \text{fit}_i
\end{cases}
$$
$$
C = X_{N1,j} + \psi \cdot (2X_{N1,j} - X_{ij} - GBest_j)
$$
$$
D = X_{ij} + \psi \cdot (2X_{ij} - X_{N1,j} - GBest_j)
$$
其中, j= 1, 2,…, D; ψ是介于 −0.5和0.5之间的均匀分布的随机数; p ∈{1, 2,…, D}被随机选择; N1 ∈{1, 2,…, SN}与 i ≠ N1一起被随机选择。因此,新食物源的生成利用了邻域 N1和 GBest位置的信息。在EABC算法中,在雇佣蜂阶段和观察蜂阶段使用 GBest,从而增强了算法的开发能力。侦察蜂阶段与ABC算法相同。
在ABC算法中,雇员蜂阶段之后是观察蜂阶段,因此算法的每次迭代都包含雇员蜂阶段、观察蜂阶段和侦察蜂阶段。然而,在EABC算法中,雇员蜂阶段和观察蜂阶段通过随机选择进行。选择因子 SP是一个介于0和1之间的常数。建议 SP的取值为0.3,即观察蜂阶段被选中的概率为30%,其余70%的时间选择雇员蜂阶段。
4. CMOS模拟电路设计示例
我们使用第2节中提到的方法,并借助EABC、ABC、MABC、GABC和PSO算法,在 0.13µm和 0.09µm CMOS技术下设计了以下三个CMOS电路。
(1) 两级CMOS运算放大器
(2) 高增益体驱动OTA
(3) 低压第二代电流传输器
对于ABC、EABC和GABC算法,我们采用了20只雇佣蜂和相同数量的观察蜂。T limit的值设置为200。对于EABC算法,选择因子 SP设置为0.3。GABC算法中的常数 C根据建议设置为1.5。26在MABC算法中,种群规模设置为20,选择概率常数设置为0.7。27对于PSO算法,种群规模设置为20,参数 C1 和 C2 的值根据建议设置为1.49。9为了公平比较上述算法,最大电路评估次数设置为5000。为了比较算法的鲁棒性和可靠性,每个电路在不考虑工艺变化的情况下,在 0.13µm和 0.09µmCMOS技术中独立设计10次。我们使用简单箱线图来说明获得的结果。通过这种图,可以在单个图中显示数量的最小值、中位数、最大值及其在第一和第三四分位数之间的分布。箱形图所使用的图例如图2所示。此外,我们还考虑了10%的工艺变化,在 0.13µm和 0.09µm CMOS技术中设计了运算放大器。该设计在具备以下主要规格的计算机上进行:处理器 ‐ AMD Fx8350,内存 ‐ 4GB,操作系统 ‐ Ubuntu 12.04。为了计算设计时间,采用了操作系统提供的用户时间。
4.1. 两级CMOS运算放大器
两级运算放大器是一种通用的模拟电路,常作为基本构建模块出现在混频器、放大器、数模转换器和模数转换器等多种电路中。图3所示的运算放大器电路基于文献32中描述的电路。输入信号被施加于
连接到由M1a、M1b、M2a、M2b和M9构成的差分放大器级。第二级反相放大器由晶体管M3和M4构成。晶体管M5与 Cc一起用于提供频率补偿。由晶体管M6、 M7和M8组成的偏置电路为M5提供偏置。通过减小流过M9的偏置电流可以提高运算放大器的增益,但这会恶化压摆率和带宽。 Cc的值会影响相位裕度和带宽。压摆率的提升会对电路的功耗产生不利影响。因此,运算放大器的设计需要基于知识的权衡方法。
两级运算放大器的设计所考虑的主要规格包括
- 增益 ≥ 80(dB)
- 单位增益带宽(UGB) ≥ 100MHz
- 相位裕度(PM) ≥ 60 ◦
- 功耗(PC) ≤ 20µW
- 上升和下降压摆率(复位寄存器) ≥ 40V/µS
- 电源抑制比(PSRR)
- 共模抑制比(CMRR) ≥ 80dB
| 参数 | 搜索空间(0.13µm) | 搜索空间(0.09µm) |
|---|---|---|
| W1到 W9 | 0.5 µm到 10 µm | 0.5 µm到 10 µm |
| L1到 L5 | 0.2 µm到 1 µm | 0.1 µm到 1 µm |
| I0 | 1 µA到 10 µA | 1 µA到 10 µA |
| CC | 0.001pF到 1pF | 0.001pF到 1pF |
| V DD | 1.2V | 1.0V |
该电路在考虑 0.05pF负载的情况下进行设计。设计参数包括各种晶体管的宽度和长度、偏置电流源 I0 的值以及密勒电容 Cc。共有16个设计参数。这些参数的搜索空间在表1中进行了描述。合理的搜索空间可避免非实际的解决方案并减少设计时间。
运放设计问题的成本函数使用公式3中描述的均方根误差公式来构建。共有8 个规格,每个规格具有相同的权重。在设计过程中,成本函数值被计算。
每次电路评估后都会进行计算。成本函数的示例计算如表2所示。当所有期望规格 均被满足时,成本函数的值变为零。
| 规格 | 期望值 | 仿真结果 | Ei |
|---|---|---|---|
| 增益(分贝) | ≥ 80 | 82.7 | 0.0 |
| 带宽(兆赫) | ≥ 100 | 98.8 | 0.000144 |
| 相位裕度(◦) | ≥ 60 | 60.5 | 0.0 |
| 功耗(µW) | ≤ 20 | 20.6 | 0.0009 |
| 上升压摆率(V/µS) | ≥ 40 | 41.4 | 0.0 |
| 下降压摆率(V/µS) | ≥ 40 | 38.7 | 0.00105625 |
| 共模抑制比(分贝) | ≥ 75 | 78.8 | 0.0 |
| 电源抑制比(分贝) | ≥ 80 | 79.9 | 0.000001562 |
| 成本函数(均方根误差) | 1.63% |
| 技术 | ABC | GABC | MABC | PSO | EABC |
|---|---|---|---|---|---|
| 平均均方根误差(%) 0.13µm | 1.01 | 2.02 | 2.71 | 3.30 | 0.39 |
| 平均均方根误差(%) 0.09µm | 0.20 | 2.71 | 7.18 | 0.95 | 0.05 |
| 最差均方根误差(%) 0.13µm | 5.77 | 6.74 | 8.84 | 6.80 | 1.97 |
| 最差均方根误差(%) 0.09µm | 0.58 | 5.62 | 21.2 | 4.68 | 0.52 |
| 平均电路评估次数 0.13µm | 4482 | 3604 | 5000 | 5000 | 3608 |
| 平均电路评估次数 0.09µm | 4720 | 5000 | 5000 | 4406 | 3500 |
| 平均设计时间(分钟) 0.13µm | 39.6 | 31.2 | 40.7 | 43.2 | 36.2 |
| 平均设计时间(分钟) 0.09µm | 16.41 | 17.3 | 15.9 | 15.8 | 12.2 |
| 零均方根误差次数 0.13µm | 3 | 5 | 0 | 0 | 5 |
| 零均方根误差次数 0.09µm | 3 | 0 | 0 | 2 | 9 |
工艺变化及其分布如图4和图5所示,采用箱线图表示。设计概要在表3中进行了描述。从获得的结果可以得出以下观察结论:
EABC算法的平均均方根误差是整体性能指标中的最小值。
在 0.13µmCMOS技术中,使用EABC算法设计的最差设计的运算放大器的均方根误差等于1.97%,而在 0.09µm技术中为0.52%,均小于其他算法。
| 算法 | 工艺 | Gain | UGB | PM | PC | RSR | FSR | PSRR | CMRR |
|---|---|---|---|---|---|---|---|---|---|
| EABC TT | 82.1 | 132.0 | 63.4 | 19.1 | 60.4 | 42.7 | 90.4 | 83.0 | |
| EABC FF | 82.4 | 128.4 | 60.3 | 19.9 | 59.4 | 43.2 | 90.0 | 85.0 | |
| EABC FS | 82.6 | 172.0 | 65.1 | 18.5 | 66.6 | 42.7 | 91.1 | 84.7 | |
| EABC SF | 81.8 | 123.3 | 60.9 | 19.8 | 59.0 | 42.8 | 89.5 | 80.2 | |
| EABC SS | 81.8 | 163.3 | 66.4 | 18.4 | 66.0 | 42.2 | 90.8 | 80.1 | |
| 均方根误差:0.0% | |||||||||
| 设计时间:35.6分钟 | |||||||||
| ABC TT | 80.7 | 197.5 | 66.1 | 16.5 | 64.6 | 40.8 | 103.3 | 82.1 | |
| ABC FF | 80.2 | 193.0 | 68.1 | 16.7 | 65.3 | 41.2 | 95.0 | 83.7 | |
| ABC FS | 81.5 | 202.8 | 62.3 | 16.7 | 64.9 | 40.8 | 91.1 | 80.7 | |
| ABC SF | 80.0 | 186.1 | 69.4 | 16.6 | 64.2 | 40.8 | 91.2 | 82.7 | |
| ABC SS | 81.3 | 196.1 | 63.3 | 16.6 | 64.0 | 40.4 | 104.0 | 81.0 | |
| 均方根误差:0.0% | |||||||||
| 设计时间:93.3分钟 | |||||||||
| EABC TT | 77.9 | 154.9 | 66.8 | 20.0 | 49.0 | 40.0 | 77.0 | 86.7 | |
| EABC FF | 78.1 | 173.8 | 71.0 | 20.2 | 49.3 | 40.8 | 77.5 | 91.8 | |
| EABC FS | 77.5 | 174.5 | 66.0 | 19.0 | 49.6 | 40.2 | 73.6 | 90.7 | |
| EABC SF | 78.5 | 166.1 | 71.9 | 20.1 | 48.8 | 40.5 | 78.9 | 79.5 | |
| EABC SS | 78.0 | 168.9 | 67.1 | 18.9 | 49.4 | 40.0 | 76.3 | 81.5 | |
| 均方根误差:0.93% | |||||||||
| 设计时间:140分钟 | |||||||||
| ABC TT | 74.4 | 116.2 | 72.3 | 20.8 | 44.6 | 40.4 | 76.2 | 76.9 | |
| ABC FF | 74.8 | 131.2 | 63.6 | 21.9 | 45.8 | 41.1 | 76.8 | 81.5 | |
| ABC FS | 74.2 | 282.2 | 70.3 | 19.8 | 44.0 | 38.7 | 73.4 | 91.0 | |
| ABC SF | 75.2 | 123.7 | 64.5 | 21.6 | 45.2 | 41.4 | 77.9 | 69.7 | |
| ABC SS | 74.7 | 264.4 | 77.6 | 19.5 | 43.4 | 38.9 | 75.5 | 70.7 | |
| 均方根误差:4.13% | |||||||||
| 设计时间:171.5分钟 |
图6所示的收敛速度比较和设计时间表明,EABC算法在保持解的质量的同时表现出更好的收敛速率。
此外,我们还使用ABC和EABC算法设计了考虑10%工艺偏差的运算放大器。我们考虑了五个工艺角,即TT、SS、FF、FS和SF。为了节省设计时间,我们采用以下策略,而不是每次都在五个工艺角下对电路进行仿真。
(1) 电路设计从仅考虑TT拐点开始,即进行正常的电路优化。(2) 当均方根误差低于10%时,引入FF和TT拐点。此时电路在两个拐点下进行评估,并将这两个拐点的平均均方根误差作为成本函数。(3) 当TT和FF拐点的平均误差低于9%时,在设计过程中加入第三个拐点SS。(4) 类似地,当平均均方根误差低于8%时加入FS拐点,当平均误差低于7%时加入SF拐点。
各个拐点处获得的设计规格如表4所示。获得的结果揭示了所提出方法在设计高性能两级运算放大器电路方面的有效性。
4.2. 高增益低压体驱动OTA
跨导运算放大器(OTA)是一种广泛使用的模拟电路。它是许多其他电路的基本构建模块,例如压控振荡器、跨导‐C滤波器、数据转换器、有源电感和电阻器。33近年来,对低电压和低功耗电路的需求不断增加。然而,MOSFET的阈值电压限制给使用标准栅极驱动技术设计低电压电路带来了困难。体驱动技术是克服栅极驱动技术在设计低电压电路时所受限制的一种有前景的替代方案。34在体驱动技术中,信号被施加到MOSFET的体端。体驱动技术不需要对MOSFET结构进行任何修改,因此可以使用
无需对MOSFET结构进行任何修改,这使得在标准互补金属氧化物半导体技术中可以直接使用体驱动方法而无需任何改动。35然而,与栅极驱动技术相比,采用体驱动技术的器件所提供的跨导显著较低。
所提出的高增益低电压OTA电路如图7所示。该电路在弱反型体驱动差分对中采用正反馈源退化技术,以应对纳米级CMOS技术中的比例缩减问题,在不增加功耗或改变其他特性的情况下增强跨导。晶体管M1A和M2A配置为有源负载,对晶体管M1b和M2b的源极进行退化。然而,由于采用了交叉耦合连接,其为退化提供了负阻抗,从而提高了差分对的有效跨导。36由 M12、 M14、 Ic和 M11、 M15、 Ic构成的两个稳压电流镜提高了电路的增益。37
| 参数 | 搜索空间(0.13µm) | 搜索空间(0.09µm) |
|---|---|---|
| Wc,Wb,Wc,Wd, We | 1 µm到 100 µm | 1 µm到 100 µm |
| La, Lb, Lc | 0.2 µm到 2 µm | 0.1 µm到 2 µm |
| Ib | 0.1 µA至 2 µA | 0.1 µA至 2 µA |
| Ic | 0.1 µA至 1 µA | 0.1 µA到 1 µA |
| V DD | 0.5V | 0.5V |
算法的搜索空间如表5所示,运算跨导放大器区域的主要规格如下,
- 增益 ≥ 80(dB)
- 单位增益带宽(UGB) ≥ 1.5MHz
- 相位裕度(PM) ≥ 60◦
- 功耗(PC) ≤ 5µW
- 上升和下降压摆率(RSR) ≥ 0.1V/µS
成本函数采用均方根误差进行构建,方法与第4.1节中讨论的类似。在10次独立设计运行中获得的结果通过箱形图在图8和图9中展示。表6描述了获得的平均值、最差值以及平均均方根误差。收敛速度和获得结果的精度如图10所示。从获得的结果中可以观察到以下内容,
在 0.13µm互补金属氧化物半导体技术的运算跨导放大器设计中,MABC算法的平均均方根误差、最差均方根误差和平均电路评估次数均为最小值,其次分别为PSO、EABC、ABC和GABC算法。然而,在 0.09µm互补金属氧化物半导体技术中,EABC算法的表现优于其他提及的算法。
尽管如此,MABC算法在 0.13µm互补金属氧化物半导体中设计运算跨导放大器表现出色
| 技术 | ABC | GABC | MABC | PSO | EABC |
|---|---|---|---|---|---|
| 平均均方根误差(%) 0.13µm | 0.69 | 1.18 | 0.16 | 0.37 | 0.51 |
| 平均均方根误差(%) 0.09µm | 0.18 | 0.85 | 0.48 | 0.88 | 0.04 |
| 最差均方根误差(%) 0.13µm | 1.64 | 3.98 | 1.42 | 3.74 | 1.88 |
| 最差均方根误差(%) 0.09µm | 0.96 | 4.16 | 2.46 | 5.51 | 0.42 |
| 平均电路评估次数 0.13µm | 4148 | 4096 | 1991 | 2012 | 3950 |
| 平均电路评估次数 0.09µm | 3212 | 4700 | 3097 | 2002 | 2396 |
| 平均设计时间(分钟) 0.13µm | 55.8 | 53.5 | 28.4 | 32.8 | 53.6 |
| 平均设计时间(分钟) 0.09µm | 44.5 | 59.9 | 38.0 | 28.8 | 32.7 |
| 零均方根误差次数 0.13µm | 3 | 4 | 8 | 8 | 6 |
| 零均方根误差次数 0.09µm | 7 | 3 | 6 | 8 | 9 |
技术,如果无法在 0.09µm互补金属氧化物半导体技术中为设计运算跨导放大器提供类似的性能。
- EABC算法设计了OTA,在0 . 09µm互补金属氧化物半导体技术,9次均方根误差为零,其余一次均方根误差仅为0.42%。
4.3. 低压第二代电流传输器(CCII)
电流传输器电路由森德拉38提出,是许多电流模式信号处理电路的基本构建模块。电流传输器可用于实现电压转电流转换器、电流转电压转换器、压控电压放大器、压控电流源、电流放大器、电流微分器和电流积分器。此外,它还是电流反馈运算放大器和有源滤波器的基本构建模块。39我们设计了低电压正型第二代电流传输器(CCII+)。其输出与输入之间的关系可描述如下:
$$
\begin{bmatrix}
I_y \ V_x \ I_z
\end{bmatrix}
=
\begin{bmatrix}
0 & 0 & 0 \
1 & 0 & 0 \
0 & 1 & 0
\end{bmatrix}
\begin{bmatrix}
V_y \ I_x \ V_z
\end{bmatrix}
$$
所设计的低压CCII+电路如图11所示。40它是一种基于差分对的电流传输器。在此电路中,通过选择合适的偏置电流和M9的尺寸,可以使晶体管M5和M6的偏置点与电源电压无关,从而使电路适用于低电压操作。理想的X端阻抗为零,而Z端阻抗为无穷大。然而在设计中存在折衷。增大偏置电流可以获得更大的带宽,但这会增加X端阻抗并降低Z端阻抗,同时也会增加电路的功耗,这是不希望的。晶体管M1、M2、M3和M4与偏置电流 Ib构成差分放大器。晶体管M5和M6构成第二级放大器。该放大器的输出连接到差分放大器的负输入端,形成电压缓冲器。该缓冲器提供电压增益(Vx /Vy )。为了实现单位增益,缓冲器的开环增益应非常高,理想情况下为无穷大。这可以通过减小偏置电流来实现。这也会降低 X端的阻抗。然而另一方面
| 参数 | 搜索空间(0.13µm) | 搜索空间(0.09µm) |
|---|---|---|
| W57 | 1 µm to 100 µm | 1 µm to 100 µm |
| L | 0.2 µm to 2 µm | 0.1 µm到 2 µm |
| Ib | 1 µA到 50 µA | 1 µA到 50 µA |
| V DD | 0.8V | 0.6V |
另一方面,这会降低电流和电压带宽。第二代电流传输器+的设计规范如下,
- 0.99 ≤ Vx/Vy ≤ 1.01
- 0.99 ≤ Iz/Ix ≤ 1.01
- 电压增益(Vx/Vy)
- 电流增益(Iz/Ix)
- 电压带宽 ≥ 500MHz
- 电流传送带宽 ≥ 500MHz
- X端子的阻抗, Zx ≤ 50Ω
- Z端子的阻抗, Zz ≥ 100KΩ
- 功耗(相位补偿) ≤ 200µW
0.13µm CMOS技术(b) 0.09µm CMOS技术。)
所使用的成本函数是通过均方根误差公式来构建的。算法的设计参数的搜索空间在表7中进行了描述。获得的结果总结见表8、图12和图13。不同算法的收敛速度和结果精度在图14中进行了说明。从获得的结果可以得出以下观察结论。
| 技术 | ABC | GABC | MABC | PSO | EABC |
|---|---|---|---|---|---|
| 平均均方根误差(%) 0.13µm | 3.78 | 9.02 | 5.64 | 15.32 | 2.51 |
| 平均均方根误差(%) 0.09µm | 16.14 | 20.34 | 19.51 | 24.91 | 16.08 |
| 最差均方根误差(%) 0.13µm | 8.86 | 15.34 | 6.84 | 22.46 | 3.36 |
| 最差均方根误差(%) 0.09µm | 16.79 | 36.61 | 22.63 | 49.44 | 16.58 |
| 平均电路评估次数 0.13µm | 5000 | 5000 | 5000 | 5000 | 5000 |
| 平均电路评估次数 0.09µm | 5000 | 5000 | 5000 | 5000 | 5000 |
| 平均设计时间(分钟) 0.13µm | 17.3 | 17.9 | 17.3 | 17.3 | 17.0 |
| 平均设计时间(分钟) 0.09µm | 17.4 | 17.8 | 17.2 | 17.4 | 16.9 |
| 零均方根误差次数 0.13µm | 0 | 0 | 0 | 0 | 0 |
| 零均方根误差次数 0.09µm | 0 | 0 | 0 | 0 | 0 |
- EABC算法在两种技术中设计的CCII具有最小的平均均方根误差和最差均方根误差。
- 对于 0.13µm CMOS技术中的CCII设计,EABC算法的性能优于其他提及的算法,而在 0.09µmCMOS技术中,EABC算法和ABC算法的性能相当。
5. 结论
本文提出了用于模拟CMOS电路自动设计与优化的EABC算法。通过设计三种模拟 CMOS电路——两级CMOS运算放大器、高增益低压体驱动OTA和低压第二代电流传输器——并在 0.13µm和 0.09µm CMOS技术中,将EABC算法的性能与ABC、 MABC、GABC和PSO算法进行了比较。获得的结果表明,EABC算法的性能优于其他提及的算法,能够提供更高的结果精度和更快的收敛速度。此外,EABC算法的复杂度与ABC算法大致相同。因此,基于EABC算法的自动电路设计方法可以成为设计模拟CMOS电路的一种高效途径。
2317

被折叠的 条评论
为什么被折叠?



