混合樽海鞘算法优化CMOS电路

基于群体智能的混合樽海鞘群算法在互补金属氧化物半导体差分放大器和比较器电路最优设计中的应用

一、引言

在过去十年中,由于片上系统(SoC)能够在单个芯片上集成模拟电路和数字电路,其发展迅速增长。在SoC中,大部分芯片面积被数字电路占据,而芯片的一小部分由模拟电路占用,用于处理现实世界信号。数字电路的设计已完全自动化。而在模拟电路设计方面,则需要熟练的设计人员来设计特定电路。然而,模拟电路的手动设计十分复杂,且设计精度依赖于设计人员的经验和知识。这类问题也被称为混合信号集成电路(IC)设计的瓶颈。

模拟部分的手动设计是一项耗时且繁琐的任务;因此有必要实现模拟电路设计的自动化。模拟电路的设计自动化可提高精度,并降低最终SoC设计的设计成本。模拟计算机辅助设计(CAD)工具包含以下部分:1. 电路拓扑选择,2. 晶体管尺寸设计,3. 版图设计。由于晶体管尺寸设计对芯片面积受到广泛关注,本文集中于电路尺寸设计。该模拟电路尺寸设计工具由综合和优化部分组成,且两者是集成的。与综合部分相比,优化部分更为关键。

优化技术与电路设计自动化领域相关,例如门尺寸设计、集成电路良率提升、以及知识产权(IP)核开发。许多以往关于使用优化技术进行模拟电路尺寸设计的研究集中在提升算法性能上。一般来说,优化算法能够解决复杂的设计自动化问题。算法的良好性和有效特性可实现问题的最优解。传统的优化算法可能不适用于电路设计自动化,因为其最优解容易趋向局部最优。为克服这一问题,引入了模拟退火(SA)和进化算法(EA)以跳出局部最优。这些算法的有效性和良好性依赖于输入参数。对于SA而言,需要仔细选择起始点和温度控制阀以避免陷入局部最优。进化算法依赖于启发式进化和种群多样性。在进化算法中,通过迭代操作来改善问题的适应度函数。遗传算法通过交叉和变异算子生成最优解(后代)。差分进化算法也通过变异和重组算子生成后代。基于进化算法的优化算法的质量取决于算子(变异和交叉)以及种群大小。基于引力搜索算法的电路综合采用收缩圆的技术在参考文献12中被提出。基于局部偏置技术的电路设计仅适用于通过MOS晶体管的电压或电流来确定电路元件值。机器学习概念也与进化算法结合,用于模拟电路设计。

近年来,基于群体智能(SI)的优化算法被应用于模拟电路尺寸设计问题。SI技术对于复杂优化问题具有高效且易于实现的特点。最流行的SI算法包括蚁群优化(ACO)和粒子群优化(PSO),这些算法已被应用于模拟设计自动化问题。ACO算法的基本思想是受到蚂蚁的社会行为启发,用于寻找食物位置。PSO算法则是从鸟类的集体智能发展而来,用以寻找食物源。为了克服这些算法的缺点,我们提出了一种新的优化算法,称为樽海鞘群算法(SSA),用于解决模拟电路设计问题。

本文其余部分的结构如下:第II节描述了CMOS差分放大器和比较器电路结构及其设计规格。第III节介绍了樽海鞘群优化的数学表示及其操作以及Hooke‐Jeves(HJ)方法。第IV节给出了仿真结果与讨论。最后,第V节为工作总结。

II. 模拟集成电路结构

模拟电路由晶体管、寄生电容和电阻组成。这些元件具有非线性特性,并且对高阶效应更加敏感。模拟电路设计的主要部分是晶体管尺寸设计,这是在集成电路强调模拟程序(SPICE)工具中一个更为复杂的步骤。集成电路强调模拟程序(SPICE)是一种强大的电路仿真工具。大多数模拟和混合信号电路设计都通过SPICE仿真器进行验证,并用于预测电路性能。在模拟尺寸设计流程中,电路指标被转化为优化问题的目标函数和约束条件。电路设计参数,如晶体管尺寸和偏置电流,通过优化方法获得。本文提出了互补金属氧化物半导体差分放大器和比较器电路的最优设计。采用混合SSA为差分放大器和比较器电路提供设计参数。这些参数应满足设计规格。

互补金属氧化物半导体电路的最优设计具有大量的设计参数。这种特殊的设计过程需要处理设计变量。CMOS放大器的电路设计规格考虑如下:直流增益、压摆率、晶体管面积、功耗等。对于CMOS电路设计,输入偏置电流以及晶体管的长度和宽度被视为设计变量。建立目标函数以优化电路设计的设计变量。所提出的CMOS电路的目标函数是使芯片的总体积最小化。

A. 互补金属氧化物半导体差分放大器设计标准

比较器电路的基本思想是放大两个输入信号(电压方面)之间的差异,输出显示两个电压之间的差值。差分放大器电路的输入变量如下所示:
VDD和VSS分别为正负电源;Vtn和Vtp分别为N型金属氧化物半导体场效应晶体管(NMOS)和P型金属氧化物半导体场效应晶体管(PMOS)的阈值电压;
K′n=μn·Cox和K′p=μp·Cox分别为NMOS和PMOS晶体管的跨导参数。μn和μp分别表示电子和空穴迁移率,Cox为单位面积栅氧化层电容。

差分放大器的基本电路结构如图1所示。

差分放大器电路的设计步骤如下:
• Calculate ID5 to satisfy the slew rate, SR= ID5/CL.
(1)
• 计算满足AV的 (W1/2)
Av =
gm1 / (gds2 + gds4)
= 2 / (√(K′nW1 / (ID5L1)) * (λn + λp))
(2)
• 计算 (W3/4) 范围(ICMR),
VIC(max) = VDD − VSG3 + Vtn1.
(3)
• 计算满足负ICMR的 (W5/6)
VIC(min) = VSS + VDS5(sat) + VGS1
= VSS + VDS5(sat) + VGS2.
(4)
• 计算功耗PDiss,其中
PDiss = ID5(VDD + |VSS|).
(5)

示意图0

B. CMOS两级比较器设计准则

比较器电路的基本思想是比较两个输入信号(电流或电压),输出显示哪个信号较高。比较器电路的输入变量如下所示: VDD和VSS分别为正负电源;Vtn和Vtp分别为N型金属氧化物半导体场效应晶体管和P型金属氧化物半导体场效应晶体管的阈值电压;K′n= μn · Cox和K′p= μp · Cox分别为N型金属氧化物半导体场效应晶体管和P型金属氧化物半导体场效应晶体管的跨导参数。μn和μp分别表示电子和空穴迁移率,Cox为单位面积的栅氧化层电容(图2)。

比较器电路的设计步骤如下:
• 找出满足压摆率(SR)的ID7范围,
SR = ID7 / CL.
(6)
• 找到W6L6和W7L7的数值,以实现输出电压摆幅,
W6 / L6 = 2 · IDS6 / (Kp[VDS6]^2),
(7)
W7 / L7 = 2 · IDS7 / (Kp[VDS7]^2).
(8)
• 求出第二级电压增益,其中
Av2 = − gm6 / (gds6 + gds7).
(9)
• 根据总增益确定第一级电压增益
Av1Av2 = Av ≥ 10000.
(10)
通过晶体管M1、M2、M3和M4找出电流值,
IDS1 = IDS2 = IDS3 = IDS4 = IDS5/2.
(11)
• 计算电流IDS4,其中
IDS4 = (W/L)4 / (W/L)6 × IDS6,
(12)
IDS5 = 2IDS4.
(13)
• 计算电流IDS7,其中
IDS5 = (W/L)5 / (W/L)6 × IDS7,
(14)
IDS4 = ISD5/2 = IDS3,
(15)
ISD2 = ISD1 = ISD5/2.
(16)
• 为了满足正的ICMR,求W5L5的值,
(W/L)1 = [AV1ISD1(λN + λP)]^2 / (2KPIDS1),
(17)
VSD(SAT) = VDD − VG1(max) − √(2IDS1/KP(W/L)1) − VT1,
(18)
(W/L)5 = 2IDS5 / (KP[VDS5(SAT)]^2).
(19)
• 为了满足负ICMR,求W3L3的值。
(W/L)3 = 2IDS3 / (KP(VG1(min) − VSS − VT3 + VT1)^2).
(20)
• 求偏置电阻(Rb)的值,其中
Rb = VSD8 − 0 / IDS8.
(21)
• 计算功耗PDiss,其中
PDiss = (ID5 + ID6)(VDD + |VSS|),
(22)
其中,晶体管的沟道长度调制参数表示为 λp和 λn。
MOS晶体管漏极电流表示为ID。MOS晶体管的跨导由 gm表示,输出电导由gds表示。

对于提出的算法,CMOS电路的向量表示由以下给出
XDiss_amp = [SR, Av, PDiss, VIC(min), VIC(max), CL],
(23)
Xopamp = [SR, Av, UGB, PDiss, VIC(min), VIC(max), CL].
(24)
互补金属氧化物半导体电路的成本函数由以下给出
CF = ∑_{N i=1} (Wi × Li),
(25)
其中N表示电路中的MOS晶体管数量。该成本函数的目标是使芯片尺寸最小化。

III. 用于模拟电路尺寸设计的群体智能技术

用于电路尺寸设计的群体智能技术在第IIIA–IIIC小节中描述。提出的方法结合了樽海鞘群算法和Hooke‐Jeeves算法的优点。该优化方法能够求解诸如模拟电路尺寸设计之类的复杂函数。SSA‐HJ被用于放大器电路的尺寸设计以及芯片面积和功耗的最小化。

A. 樽海鞘群算法

樽海鞘群算法(SSA)是一种基于樽海鞘群收集行为和导航智能的群体智能方法。在多维搜索空间中,该算法用于寻找樽海鞘群的最优位置。樽海鞘群被视为种群中的潜在解。SSA的种群分为两组:第一组是樽海鞘领导者,第二组是樽海鞘跟随者。在樽海鞘链中,前端樽海鞘被视为领导者,其余樽海鞘被视为跟随者。该方法的性能指标和适应度值与其他群体智能算法类似。

在SSA的第一步中,为每个萨尔普分配一个随机位置值。所有萨尔普的位置存储在一个称为x的矩阵中。另一个重要参数F是n维搜索空间中的食物源。樽海鞘群的目标是在搜索空间中找到食物源的位置。

每次迭代中,领导者樽海鞘的位置向量按如下方式更新:
x1_j =
{ Fj + c1((ubj − lbj)c2 + lbj), c3 ≥ 0,
{ Fj − c1((ubj − lbj)c2 + lbj), c3 < 0,
(26)
其中x1_j表示第j维的领导者樽海鞘位置。Fj表示第j维的食物源位置。第j维的上限和下限分别用ubj和lbj表示。系数项c1, c2, 和c3为随机数。

领导者樽海鞘根据目标(食物源)更新其位置。系数c1表达如下:
c1 = 2e^(−(4l/L)^2),
(27)
其中c1是SSA中用于在搜索空间内提供更好探索和开发能力的参数。l表示当前迭代,L表示总迭代次数。参数c2和c3是在区间[0, 1]内均匀生成的随机数。

跟随者樽海鞘的位置更新如下:
xi_j = 1/2(xi_j + xi−1_j),
(28)
其中i的值始终大于或等于2,xi_j表示第j维中跟随者樽海鞘的位置。

引入食物源库存储从优化中获得的非支配解。该存储库与在多目标优化问题中用于PSO算法的归档相同。在迭代过程中,每个搜索代理(萨尔普)根据帕累托支配与存储库中的成员进行比较。如果某个萨尔普支配存储库中的成员,则必须将其替换。该存储库始终由非支配解组成。

B. 霍克‐吉夫斯算法

Hooke‐Jeeves算法是由霍克和吉夫斯提出的一种直接搜索启发式优化方法。该方法是一种用于寻找最优解的局部优化方法,使用局部搜索技术寻找最优解。该算法从探索性搜索开始,以确定目标函数的方向。通过模式搜索加快了已确定的优化方向的搜索速度。步长逐渐减小,以获得优化过程的最小步长。Hooke‐Jeeves方法的优化过程描述如下:

步骤1 :使用SSA的领导者点作为起始点x1,并选择初始步长 δ ≥ α,其中 α是终止参数(α > 0)。坐标方向表示为dk,其中k = 1, 2, …, n。假设y1 = x1 并且l = k = 1,相对于点xl执行探索性搜索操作。

步骤2 :如果f(yk + δdk) < f(yk),则基点移动方向正确;令yk+1 = yk + δdk直接转到步骤4,否则继续执行步骤3。

步骤3 :如果f(yk − δdk) < f(yk),则基点移动方向正确;设yk+1 = yk − δdk进入步骤4,否则设yk+1 = yk。

步骤4 :如果k < n,令k = k + 1 并返回步骤2。如果f(yn+1) < f(xl),则探索性搜索正确。

步骤5 :考虑xe = yn+1,并在xl+1 = xe + (xe − xl)时执行模式搜索。如果k = 1且l = l + 1,则对新基点xl+1执行探索性搜索操作。如果y1 = xl+1,返回步骤2。

步骤6 :如果 δ ≤ α,则停止搜索过程,xl为最终解,否则设 α = α/2。考虑y1 = xl,xl+1 = xl和l = l + 1,相对于基点xl执行探索性搜索操作,并返回步骤2。

在本文中,我们考虑 α = 0.05 和 δ = 0.1。

C. 樽海鞘群算法与Hooke‐Jeeves算法的混合(SSA‐HJ)

在SSA‐HJ中,SSA的全局解向量被视为HJ算法的起始向量,且可通过HJ向量对全局解进行微调,以提升电路性能。电路优化问题的搜索空间可通过探索技术进行探索,而最优全局解则可通过开发技术识别。在本研究中,开发能力通过SSA算法得以增强,探索能力则由HJ算法实现。因此,所提出的SSA‐HJ算法结合了SSA的开发能力和HJ的探索能力,以获得最优解。SSA‐HJ算法包含两个部分:第一部分为SSA的实现,第二部分为HJ算法的实现。在SSA实现过程中,根据SSA算法计算萨尔普种群及其适应度值。基于适应度值,更新非支配解,并将领导者樽海鞘视为全局解。一旦SSA实现完成,领导者樽海鞘即作为HJ算法的起始点。

HJ算法对全局解进行微调以提高优化效率。最后,由HJ算法得到的解即为提出的方法的最优解。

模拟电路设计的混合SSA流程描述如下。
1. 定义目标函数和输入参数范围。
2. 初始化樽海鞘群。
3. 计算每个搜索代理的适应度。
4. 使用适应度数值确定非支配樽海鞘。
5. 考虑非支配樽海鞘更新外部档案解。
6. 从档案中选择一个食物源(F = Select‐Food)。
7. 使用公式(27)更新C1。
8. 使用公式(26)更新领导者樽海鞘的位置。
9. 使用公式(28)更新跟随者樽海鞘的位置。
10. 将领导者樽海鞘视为HJ算法的起始点。
11. 使用HJ算法执行局部搜索以找到萨尔普。
12. 从HJ算法获得的最终解被视为提出的方法的最优解。

在SSA‐HJ算法中,第一优化过程是使用SSA寻找全局解,然后采用胡克‐杰维斯局部优化过程来优化局部解。该提出的方法提高了电路设计参数的性能。本文的主要目标是利用SSA‐HJ算法来确定晶体管的长度和宽度。输入规格及其范围如表I所示。

输入, 工艺 数值
VDD (V) 1.8
VSS (V) -1.8
Vtp (V) -0.43
Vtn (V) 0.48
Kn(μA/V²) 345
Kp(μA/V²) 55
工艺 (微米) 0.18
CMOS差分放大器的设计参数 数值 单位
W1/L1 25.45/2 微米/微米
W2/L2 25.45/2 微米/微米
W3/L3 11.5/0.18 微米/微米
W4/L4 11.5/0.18 微米/微米
W5/L5 4.7/0.5 微米/微米
W6/L6 4.7/0.5 微米/微米
CL 4.8 pF
## IV. 仿真结果与讨论

本节描述了基于SSA‐HJ的CMOS差分放大器电路和比较器电路的设计仿真结果。采用MATLAB仿真对CMOS电路的晶体管尺寸设计应用了所提出的SSA‐HJ方法。通过基于SSA‐HJ的群体智能技术获得的仿真结果与先前的研究进行了比较,例如遗传算法 26 、粒子群优化 27 和差分进化与和声搜索 28 。输入变量及其数值见表I。

所提出的优化算法在MATLAB R2016b中实现。电路验证通过SPICE仿真器进行,采用GPDK 180纳米工艺参数。本工作的主要目标是在满足电路设计准则的同时,实现电路面积最小化、低功耗,并改善其他电路指标。电路设计问题的目标函数被构造成成本函数和设计方程。所提出的SSA‐HJ算法的主要任务是最小化成本函数。在初始步骤中,设计人员需要设置输入值,如电源电压和模型参数。设计参数范围、设计规格以及电源电压值作为SSA‐HJ算法的输入。对于CMOS差分放大器电路,输入变量为i = 1, 2, …, 6;对于CMOS比较器电路,输入变量为i = 1, 2, …, 8。为了验证CMOS差分放大器和比较器电路的设计规格,电路仿真通过Cadence SPICE仿真器结合GPDK 180纳米工艺完成。

A. CMOS差分放大器的仿真结果

所提出的SSA‐HJ被应用于设计带约束的差分放大器。仿真结果表明,设计参数成功满足了设计规格。这些设计参数见表II。为了验证,已使用最优设计参数对差分放大器进行了SPICE仿真。这些参数由所提出的群体智能技术获得。SPICE仿真结果分别如图3–6所示。表III显示,与以往研究相比,基于SSA‐HJ的差分放大器规格设计得到了改进。

示意图1

示意图2

示意图3

示意图4

表III. 差分放大器的互补金属氧化物半导体电路规格结果
设计规格
-------------------------
输出电容(pF)
压摆率 (V/μs)
功耗 (μW)
截止频率(kHz)
Vic_min (V)
Vic_max (V)
相位裕度 (度)
增益 (dB)
共模抑制比 (dB)
面积 (μm²)

B. 互补金属氧化物半导体比较器的仿真结果

所提出的SSA‐HJ被用于在约束条件下设计比较器电路。仿真结果表明,设计参数成功满足设计规格要求。这些设计参数如表IV所示。为了验证目的,已进行了SPICE仿真针对比较器电路,采用最优设计参数进行了实现。这些参数由所提出的群体智能技术获得。SPICE仿真结果分别如图7–10所示。表V表明,基于SSA‐HJ的比较器电路指标设计相较于以往研究有所改进。

表IV. CMOS比较器的最佳晶体管尺寸
设计参数
--------------------
W1/L1
W2/L2
W3/L3
W4/L4
W5/L5
W6/L6
W7/L7
W8/L8
Rb

示意图5

示意图6

示意图7

示意图8

表V. 互补金属氧化物半导体比较器的设计规格结果
设计标准
---------------------------
负载电容 (pF)
单位增益带宽 (MHz)
增益 (dB)
相位裕度 (度)
压摆率 (V/μs)
Vicmin(V)
Vicmax(V)
共模抑制比 (dB)
面积(μm²)
功耗 (μW)

V. 结论

本文采用一种新的群体智能方法,对互补金属氧化物半导体差分放大器和比较器电路进行最优设计。提出了一种基于仿真的设计方法,称为胡克‐杰弗斯算法与樽海鞘群算法的混合版本(SSA‐HJ),用于优化MOS晶体管尺寸和偏置电流等设计变量。将互补金属氧化物半导体电路的设计目标作为SSA‐HJ算法的成本函数。仿真结果证明,该方法能够成功满足电路设计规格,并且最小化芯片尺寸。除了基于仿真的方法外,还进行了SPICE仿真以验证互补金属氧化物半导体电路规格。结果表明,与其他基于仿真的设计方法相比,采用SSA‐HJ方法设计互补金属氧化物半导体电路非常有效。所提出的設計技术具备优化互补金属氧化物半导体电路性能的能力。因此,SSA‐HJ算法是一种适用于复杂模拟集成电路设计的高效技术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值