CN101339582A - 模拟电路合成方法与相关技术 - Google Patents
模拟电路合成方法与相关技术 Download PDFInfo
- Publication number
- CN101339582A CN101339582A CNA2008101460153A CN200810146015A CN101339582A CN 101339582 A CN101339582 A CN 101339582A CN A2008101460153 A CNA2008101460153 A CN A2008101460153A CN 200810146015 A CN200810146015 A CN 200810146015A CN 101339582 A CN101339582 A CN 101339582A
- Authority
- CN
- China
- Prior art keywords
- circuit
- optimization
- design
- circuit unit
- carry out
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000001308 synthesis method Methods 0.000 title claims description 8
- 238000013461 design Methods 0.000 claims abstract description 144
- 238000005457 optimization Methods 0.000 claims abstract description 119
- 238000004088 simulation Methods 0.000 claims abstract description 64
- 238000005516 engineering process Methods 0.000 claims abstract description 28
- 238000010189 synthetic method Methods 0.000 claims abstract description 6
- 230000009885 systemic effect Effects 0.000 claims description 86
- 230000003278 mimic effect Effects 0.000 claims description 83
- 238000012360 testing method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 13
- 238000004886 process control Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 4
- 230000003071 parasitic effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 238000003786 synthesis reaction Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 12
- 239000003990 capacitor Substances 0.000 description 8
- 235000013599 spices Nutrition 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000035800 maturation Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种模拟电路合成方法与相关技术。一个模拟电路中通常由许多个电路单元组合而成,各电路单元的运行与特性分别受控于对应的参数。而本发明是将这些电路单元中关键电路单元的重要设计参数连同优化目标、设计规格和/或设计限制一起记录于一优化计划中,再使用一优化引擎针对这些设计参数反复进行电路层级或系统层级的数值模拟,以找出符合设计规格/设计限制并趋近优化目标的关键电路单元与设计参数,自动化系统地完成模拟电路的合成/设计/优化。本发明可分别合成出不同工艺下具有不同规格的同种类模拟电路,发挥出极大的合成知识再运用优点,减少模拟电路设计的时间与成本,提高电路设计的生产力。
Description
技术领域
本发明涉及一种模拟电路合成方法与技术,尤其涉及一种以优化计划主导优化引擎数值仿真的模拟电路合成/设计/优化方法与技术。
背景技术
集成电路是现代信息社会最重要的硬件基础。随着集成电路的功能日趋复杂多元,电路设计也越来越困难。因此,集成电路设计业者与设计工具发展商无不致力研发更好、更方便、更有系统、自动化程度更高的集成电路设计方法与技术。
如本领域普通技术人员所知,针对数字电路的自动化电路合成方法已经发展成熟。数字电路设计者只要描述数字电路的输出入功能与一些运行限制(constraint,如时序的限制),电路合成工具(软件)就能自动完成数字电路的合成(也就是要以哪些逻辑门、触发器等电路单元并以何种连接方式来实现数字电路设计者所想要的功能及限制)。相较于成熟的数字电路合成技术,业界还在摸索模拟电路的自动化合成技术发展。由于模拟电路处理的不只是0与1的数字信号,故模拟电路的设计门坎更高,在公知技术中也缺乏系统性自动化模拟电路合成方法与技术。
在公知技术中,曾有业者推出针对锁相回路(PLL,Phase Lock Loop)的编译器(compiler)作为锁相回路的自动化电路合成解决方案。不过此种技术仅能针对锁相回路进行合成,设计弹性较低。另外,也有业者尝试以几何规划(geometric programming)技术来进行的自动化PLL设计;此种技术不进行电路数值仿真,而是将影响电路的参数与设计规格等映像至特定形式的数学等式,并以几何规划技术对此数学等式求解以决定电路的设计参数。由于此种公知的模拟电路合成技术需要繁杂艰深的数学计算与求解,其实用性尚待验证。
发明内容
因此,本发明的主要目的,在于提供一种基于数值模拟的系统性通用(general)模拟电路合成方法与技术,以协助模拟/混合电路(即数字/模拟混合电路)的自动化合成/设计/优化。
更明确地说,本发明的目的之一,是提供一种进行模拟电路合成的方法,其主要步骤包括有:决定该模拟电路的电路设计拓扑(design topology),并提供一优化计划(optimization plan),用来记录至少一个由该模拟电路的多个电路单元中选出的关键(critical)电路单元,以针对各关键电路单元分别记录至少一个设计参数;这些设计参数即是由对应关键电路单元的多个参数中选出的关键性参数。此外,此优化计划中尚可记录至少一优化目标、测式指针(testbench,用来指定数值模拟中待监测的项目)、工艺相关数据(technology-dependent data)、该模拟电路的设计规格/设计限制及/或该模拟电路预设的操作环境。
完成优化计划后,本发明即可根据该优化计划中所记录的设计参数,使用一优化引擎(optimization engine)改变各设计参数的数值反复进行数值模拟,以追踪测试指标(针对该模拟电路求出测试指针中各待监测项目的数值),找出在预设的操作环境下能符合设计规格/设计限制,并趋近该优化目标的关键电路单元与设计参数组合,实现自动化模拟电路合成/设计/优化的目的。
在本发明中,可就电路层级(circuit level)或是系统层级(system level)来进行模拟电路合成。譬如说,优化计划中所记录的设计参数可以是电路层级的参数,像是一晶体管的尺寸、长宽比、临限电压及其它工艺参数;而该优化引擎进行数值仿真时,则进行电路层级(circuit level)模拟,譬如说是以SPICE为基础的数值模拟。电路层级仿真的优点是模拟结果较为精确,可明确地仿真各晶体管/被动组件的运行情形,但也须耗费较长的时间来完成模拟。
另一方面,本发明模拟电路合成方法也可搭配一模拟数据库来进行系统层级的合成。此模拟数据库中记录有多个电路单元及各电路单元所对应的系统层级与电路层级信息;对应地,优化计划中所记录的设计参数也可以是会影响电路单元系统层级行为的系统层级的特性(attribute),譬如说是一电路单元的增益、反馈系数(coefficient)、回转率(slew rate)、极点(pole)、频宽、频率响应等系统层级巨观特性;而当优化引擎进行数值仿真时,则可根据模拟电路系统层级行为模型(behavior model)进行系统层级仿真,其另可由模拟数据库中选出不同的电路单元取代同一关键电路单元以反复根据优化计划中记录的设计参数进行系统层级行为模型数值仿真。系统层级仿真重视的不是电路单元中个别晶体管/组件的运行,而是整体模拟电路的行为,也因此,系统层级的电路合成较有效率,完成合成所需的时间也较短。
举例来说,在本发明中,可将特定功能电路单元(像是一运算放大器或一交换电容(switch capacitor)电路单元)的晶体管层级微观特性模型化成系统层级的巨观行为模型,像是电路单元中各晶体管/被动组件(如电容等)的参数会如何影响该电路单元的整体频宽或增益。利用系统层级的行为模型,就能根据优化计划来进行系统层级数值仿真,譬如说是以Matlab为基础的数值模拟。只要能将晶体管层级微观特性准确地模型化为系统层级行为模型,系统层级的仿真结果与电路层级仿真结果会十分接近,这样一来,就可利用系统层级快速仿真趋近电路层级仿真的精确度。在本发明中,这些系统层级的行为模型、系统层级与电路层级间的关联及其模型化技术/知识就可保存记录于模拟数据库中,方便日后的应用。
相较于本发明的模拟数据库应用,在公知技术中,因为无法系统性地弥补系统层级与电路层级间的差异,故系统层级特性与电路层级参数间的关联性较差,使得系统层级行为模型仿真结果和电路层级仿真结果之间的差异较大,也就难以由系统层级仿真结果来准确预期模拟电路于电路层级的实际运行情形,增加模拟电路设计上的困难。模拟电路设计者往往必须进行逾越设计(over-design),将系统层级规格订定的比真正需求规格更为严格,以弥补系统层级与电路层级间可能发生的差异。然而,更为严格的系统层级规格往往难以实现,或使模拟电路的成本/布局面积/功率消耗无法最佳化。
本发明优化计划中也可另行加入对数值仿真进行的流程控制(flowcontrol),此流程控制可记录有多个步骤,各步骤分别记录不同的关键电路单元与对应的设计参数;在根据此优化计划使用优化引擎进行数值仿真时,就可依据流程控制中的各步骤依序改变各设计参数的数值以进行数值模拟。
另一方面,本发明也可就布局前(pre-layout)与布局后(post-layout)进行模拟电路合成/设计/优化。布局前优化可依据前述进行;而在进行布局后优化时,另可依据布局进行一寄生效应萃取,以由布局设计中萃取出实际布局所导致的电路寄生效应,在考虑这些寄生效应等效电路的情形下再度进行电路设计验证。若验证失败,就可重新依据优化计划使用优化引擎再度依据寄生效应萃取的结果进行数值模拟。本发明可分别在布局前/布局后使用相同的优化计划或是分别订定优化计划(譬如说,可将布局前优化计划微调后更改为布局后优化计划)。
总结来说,本发明又一目的是提供一种高效能模拟电路合成方法,用来进行自动化的模拟电路合成/设计/优化。此方法可应用于电路层级或系统层级的电路设计,并可适用于布局前或布局后优化。本方法要点包含有:在针对一模拟电路进行电路合成/设计/优化时,整合一电路设计拓扑、一优化计划及一测试指标,并选择是否要利用一模拟数据库,以进行一个以数值模拟为基础的优化流程。
本发明可利用优化计划与模拟数据库来记录模拟电路合成的知识与技巧(know-how),以增进合成的再运用(reusable)特性,提高模拟电路设计的生产力,也能有效地设计出优化的模拟电路。模拟电路设计的关键之一是在模拟电路中识别出对模拟电路行为影响最大的关键电路单元及相关的关键设计参数,否则模拟电路设计者只能在众多电路单元中针对每一参数进行没有系统且耗时费力的试误(trial and error)。相较之下,本发明可将关键电路单元及相关的关键设计参数记录于优化计划,只要微调优化计划细节(譬如说是设计参数容许变动范围、测试指针、设计规格/设计限制、工艺相关资料等),就可由一优化计划而衍生出多种优化计划,可分别合成出不同工艺下具有不同规格的同种类模拟电路,发挥出极大的合成知识再运用优点,减少模拟电路设计的时间与成本,提高电路设计的生产力。本发明可广泛使用于各种模拟/混合电路的合成,譬如说是锁相回路、模拟至数字/数字至模拟转换器或是滤波器等等。
附图说明
图1示出的是本发明进行模拟电路合成/设计/优化的一实施例。
图2示出的是图1中优化计划的一个实施例。
图3示出的是一模拟电路的实施例。
图4列出的是本发明针对图3中模拟电路所订定的优化计划实施例。
图5为图1中模拟数据库的一实施例。
图6为本发明进行布局前/布局后模拟电路合成/设计/优化的实施例。
其中,附图标记说明如下:
10、20优化计划
S1-S10要点
OP积分器
SC切换电容
L1-2~L1-24、L2-2~L2-62行
具体实施方式
请参考图1。图1示出的是本发明方法一实施例的进行要点(步骤)。本发明可就电路层级或是系统层级来进行模拟电路(譬如说是一模拟电路功能方块)的合成/设计/优化,而本发明模拟电路合成方法中可包括下列要点:
要点S1:决定模拟电路的设计规格(design spec)及/或设计限制(designconstraint)。在此要点中,可根据模拟电路的使用者需求来决定模拟电路的设计规格/限制。譬如说,就电路层级的设计/合成来说,运算放大器此种模拟电路的设计规格通常包括指定的增益(gain)、回转率(slew rate)、频宽(bandwidth)等等。另举一例:就系统层级的设计/合成来说,模拟至数字转换器此种模拟/混合电路的设计规格则通常会包括指定的信噪比(SNR)、过采样率OSR(over-sampling rate)、功率消耗等等。设计规格有时会以限制(constraint)的形式来呈现,譬如说信噪比应小于某一给定值。
要点S2:根据设计规格决定该模拟电路的电路设计拓扑(designtopology),也就是模拟电路的电路架构中会包括哪些电路单元。就电路层级的设计/合成来说,电路单元通常是晶体管层级的组件,而其电路设计拓扑可用(譬如说)电路网络列表(netlist)等基于SPICE的硬件电路语言/格式来加以描述。另一方面,就系统层级的设计/合成来说,电路单元通常是电路功能构筑方块,其电路设计拓扑可利用像是Matlab这种高级语言的算法来加以描述。
要点S3:提供一优化计划。基本上,本发明优化计划可视为合成/设计/优化流程自动化进行的脚本(script)。优化计划中可记录有模拟电路预设的操作环境(如温度与操作电压等)、设计拓扑、模拟电路的设计规格与优化目标、工艺相关数据(technology-dependent data),并记录模拟电路中的关键电路单元及其对应的重要设计参数,与这些设计参数在优化过程中容许变动的范围。此外,优化计划中也可记录一流程控制(flow control),流程控制中记录有至少一步骤,各步骤可分别记录不同的关键电路单元与对应设计参数的优化步骤。换句话说,本发明在模拟电路合成/设计/优化的过程中,可根据此一流程控制先针对某一(或某些)电路单元进行优化微调,再针对另一(或另一些)其它的电路单元进行优化微调。
如本领域普通技术人员所知,模拟电路中有许多电路单元,各电路单元又有许多对应的参数会改变电路单元的特性/表现,连带地,也会或多或少影响模拟电路的整体性能与运行。因此,模拟电路设计的关键之一是在模拟电路中识别出对此模拟电路行为影响最大的关键电路单元及相关的关键设计参数,否则模拟电路设计者只能在众多电路单元中针对每一参数进行没有系统且耗时费力的试误(trial and error)。而在本发明中,即是利用优化计划来记录关键电路单元及其对应之关键设计参数,连带也可记录优化的流程控制。换句话说,优化计划基本上记录了完成一模拟电路合成/设计/优化所必须的数值、知识与流程。此优化计划可用一般的脚本语言(像是tcl、perl等等)来加以描述。
要点S4:提供一测试指标(test bench),以在进行数值仿真时指定对模拟电路的待监测项目;譬如说是模拟电路中某一节点上的电流或电压,或是增益等等。指定测试项目后,在进行数值模拟时就会针对这些测试指标进行计算,得出这些测试指标中各待监测项目所对应的数值。
要点S5:可根据优化/电路仿真的层级选择是否要引用一模拟数据库。若是要进行系统层级的模拟电路合成/设计/优化,就可援引此一模拟数据库。本发明模拟数据库中可记录多个具有相同功能或不同功能的电路单元,譬如说,模拟数据库中可记录各种电流镜(current mirror)、差动对(differential pair)、偏压电路(bias circuit)、运算放大器、压控振荡器(VCO,Voltage-ControlledOscillator)、混合器(mixer)或甚至是锁相回路(PLL)等模拟/混合电路构筑方块。这些电路单元可以是已针对本身进行优化的电路单元。
本发明模拟数据库最重要的特点之一,就是此数据库中的各个电路单元都有特征化的特性(attributes),也就是由各电路单元的晶体管层级特征模型化/特征化所形成的系统层级的巨观行为特性。以运算放大器这种电路单元来说,其晶体管层级的特征(像是各晶体管的尺寸、工艺参数与特性)会影响运算放大器的系统层级整体特性(像是其增益、单增益频宽(unit-gainbandwidth)、回转率等),而这些晶体管层级特征与系统层级特性间的相互关系就会被模型化/特征化而被记录于本发明模拟数据库中。换句话说,在本发明模拟数据库中,不仅会针对各电路单元记录晶体管层级特征与参数,也可一并记录其对应的功能方块(譬如说运算放大器中有差动输入对、偏压负载等等)、行为模型及/或系统层级特性等等。电路单元的行为模型/功能方块可用Matlab为基础的语言来加以描述记录。
本发明模拟数据库中可根据功能、电路架构(architecture)与特性(attribute)来进行组织、分类,使优化引擎能依据不同需求(如设计规格、测试指针)自动选择适当的电路单元。
要点S6:根据优化计划,利用优化引擎来进行数值仿真以产出优化结果。换句话说,本发明是以模拟为基础的优化引擎来进行电路设计的优化。在现代的电子设计自动化领域中,已具备各种成熟的数值模拟,故采用模拟为基础的优化可使用既有的数值模拟来进行,不需重新开发优化引擎。在优化的过程中,优化引擎会根据优化计划中的记录依序(若有流程控制)在各关键设计参数的容许变动范围中改变各关键设计参数,反复进行数值模拟,以求得测试指针中待监测项目的数值,并了解模拟电路运行时是否可符合设计规格/设计限制,同时也针对优化目标进行优化,以趋近最佳化的电路设计。优化引擎的运行结果可记录于一优化结果(optimized result)中,如图1中的要点S7所示。
在进行电路层级的模拟电路合成/设计/优化时,优化引擎可使用电路层级(circuit level)模拟,像是基于SPICE的电路数值仿真。另一方面,在进行系统层级的模拟电路合成/设计/优化时,优化引擎则可配合模拟数据库进行系统层级的仿真,像是以Matlab为基础的数值模拟。在针对某一关键电路单元进行优化时,优化引擎可在相同功能的不同电路单元间选取适当的电路单元来作为该关键电路单元进行数值仿真,据以进行优化。
要点S7:完成优化结果。若成功完成优化,代表要点S2中的电路拓扑能趋近要点S3中最佳化的优化目标。就电路层级的模拟电路合成/设计/优化而言,优化结果是电路设计的电路网络列表(netlist),其物理布局尺寸也一并确定。就系统层级的模拟电路合成/设计/优化而言,可确定出系统层级的优化电路设计。由于优化是在系统层级完成的,故还可进一步选择要以哪些电路架构来实现此一系统层级的电路;也可利用模拟数据库中的记录来决定如何实现系统层级电路。举例来说,在针对某一模拟电路进行系统层级的模拟电路合成/设计/优化时,其优化结果可能会指明该模拟电路需使用一个具有特定频宽的运算放大器才能实现优化后的模拟电路。而在决定要如何以晶体管层级架构来实现该运算放大器时,就可参考模拟数据库中的记录,实际决定该运算放大器要由哪些晶体管(与被动组件)来实现。
要点S8:验证优化结果,也就是验证优化后的电路设计是否可正确满足设计规格/设计限制。在本发明中,可依传统设计流程进行一般的验证,譬如说是进行一或多次仿真以确定关键设计规格都已被满足。就系统层级的模拟电路合成/设计/优化来说,优化是在系统层级进行的,但验证时就可进行电路层级的数值模拟。同时,若有更进一步(more aggressive)的优化目标,也可在实际实现系统层级电路时进行更进一步的优化与验证。通过验证后,也就完成本发明模拟电路合成/设计/优化的流程。
另一方面,若验证未通过,则需进行错误分析(trouble shooting),再重新进行优化的程序。验证未通过的可能原因包括:关键设计规格未在优化计划中限制,模拟数据库中系统层级行为模型不够精确等等。
以下先以图2的优化计划10为例来说明本发明针对一模拟电路进行电路层级电路合成/设计/优化的实施情形。优化计划10中有多行描述L1-2、L1-4、L1-6等等,在此要强调的是,此处的行号L1-2、L1-4等等仅为方便解释之用,并不代表本发明只能按图2中行号顺序撰写/执行各行描述。首先,行L1-2的意义是将整个优化流程进行情形记录于一文件ckt.log。行L1-4代表优化引擎会使用SPECTRE此种类似SPICE的电路仿真器来进行电路层级的数值模拟。行L1-6设定该模拟电路的运行温度为摄氏25度(也就是此模拟电路的操作环境之一)。行L-8由一文件input.scs加载此模拟电路的电路设计拓扑(其可为一电路网络列表,netlist)。行L1-12则由另一个不同文件路径的input.scs载入测试指标(test bench)。
另外,行L1-14则代表该模拟电路中的关键电路单元为NM7(譬如说是一n型金属氧化物半导体晶体管),关键设计参数则为其宽度(故于L1-14中记录为I0.I0.NM7.w)。为了根据此设计参数优化模拟电路,行L1-14也以“-start 5u-stop 8u-step 0.1u”来使优化引擎能将此设计参数在5um和8um间以符合0.01um最小分辨率的方式变化,以了解怎样的设计参数数值能使此模拟电路性能趋近其优化目标。换句话说,行L1-14记录了此模拟电路的关键电路单元,其所对应的关键设计参数,以及此设计参数在优化过程中容许变动的范围(“-start 5u-stop 8u-step 0.1u”)。行L1-16记录了此模拟电路的设计规格之一(譬如说,其回路增益Loop_Gain必须小于1)。行L1-18与L1-20则与优化目标有关。行L1-18代表要将回路增益Loop_Gian最小化,而行L1-20就代表此优化计划的优化目标是依照行L1-18来优化回路增益Loop_Gain。
根据优化计划10中的上述记录,优化引擎就可反复进行数值模拟,在改变关键参数的同时,一方面求出测试指针中待监测项目的数值,并测试此模拟电路是否能在设定的操作环境下符合设计规格/设计限制,另一方面则力求实现(合理地趋近)优化目标。实现优化目标后,可根据优化后的设计参数更新/输出优化后的电路设计(行L1-22与L1-24)。基本上,本发明模拟电路的电路层级合成/设计/优化也就此完成。
请参考图3及图4。以下将以图3与图4为例来说明本发明如何应用于系统层级模拟电路合成/设计/优化。在图3、图4中,本发明是用来设计一和差调变器(Sigma-Delta Modulator),其系统层级功能方框图(也就是电路拓扑)就如图3所示;其主要(关键)电路单元包括了n个由运算放大器(其转移函数于图中表记为H1(z)、H2(z)至Hn(z))形成的积分器(integrator)OP,以及2n个切换电容(switching capacitor)SC(在图中分别记为a1、a2至an,以及b1、b2至bn)。在系统层级电路合成/设计/优化中,各积分器OP的系统层级运行特征可由4个关键性的系统层级特性来加以模型化,也就是增益(Gain)、单增益频宽(Unit-Gain Band-Width,UGBW)、回转率(slew rate,SR)以及相位裕度(phase margin,PM)来代表。各个切换电容则分别有一个关键性的系统层级系数(coefficient)来模型化其系统层级运行特征。对整个和插调变器来说,本发明可在其系统层级行为模型中考虑非线性增益与两个极点(pole)等效应,以增加系统层级行为模型的精确度,使系统层级行为模型的数值仿真结果可以相当接近真正的电路层级行为。
图4示出的则是本发明针对图3中电路(以n=3为例)进行模拟电路合成/设计/优化的优化计划20。优化计划20中有多行描述L2-2、L2-4、L2-6等等,在此要强调的是,这些行号L2-2、L2-4等等仅为技术解释时方便参考之用,并不代表本发明只能按图4中行号顺序撰写/执行各行描述。其中,行L2-2即代表此优化计划将Matlab此种高级语言来进行系统层级数值仿真。行L2-6则加载一个名称为analog_op的模拟数据库。在此实施例中,此模拟数据库中记录的是有两个极点的各种运算放大器。行L2-18、L2-20、L2-22、L2-24、L2-26、L2-28、L2-30、L2-32、L2-34、L2-38、L2-40、L2-42、L2-46、L2-48、L2-50、L2-52、L2-54及L2-56则记录了各积分器OP、切换电容SC的系统层级特性的可容许变动范围,也就是各关键电路单元的关键设计参数在优化过程中可调整的范围。在执行此优化计划20时,本发明就可根据这些范围反复进行系统层级数值仿真。行L2-58描述的则是设计规格限制(譬如说,其信噪比snr需大于100)。另外,行L2-60及L2-62则与优化目标有关。在此实施例中,优化目标是使各运算放大器与各切换电容的总和面积最小,基本上也就是使和差调变器的总布局面积趋近最小。
根据优化计划20,优化引擎就可以自动选用模拟数据库中的各种运算放大器,并根据各设计参数的可调整范围反复进行系统层级数值仿真,一方面测试模拟电路(此例中为和差调变器)是否能符合电路设计规格/设计限制,一方面趋近模拟电路的优化目标(此例中是使和差调变器的总面积最小)。由于使用了系统层级仿真来进行电路设计/合成/优化,优化计划20的总执行时间与电路层级仿真进行一次所需时间相比大约仅为1/10,且系统层级优化结果和电路层级仿真结果十分相近。如前面讨论过的,电路层级仿真会实际仿真模拟电路中各晶体管、被动组件的运行情形,其精确度/正确度较高,但缺点是需耗费大量的时间进行模拟运算。系统层级仿真则针对模拟电路的系统层级行为模型进行数值仿真,其运算时间短,但若无配套措施(如本发明中的模拟数据库),系统层级的仿真结果会和电路层级仿真结果相差甚大。在现有技术中,其实很难在电路层级与系统层级间取得平衡;若要在系统层级中进行电路合成/设计/优化,设计者常要进行逾越设计(over-design),将系统层级的规格、限制订定的较严格,以弥补系统层级与电路层级间的差异。然而,过度设计的程度难以拿捏,且过于严格的规格常会导致电路合成失败。另一方面,现有技术也很难在电路层级参数与系统层级特性间取得平衡。譬如说,在现有技术中,其实无法在系统层级上最佳化电路布局面积,因为布局面积是电路层级的参数。
相较于现有技术的缺点,本发明可通过良好的模拟数据库来解决系统层级与电路层级的差异。在本发明的模拟数据库中,可针对每一电路单元记录其电路层级参数(像是布局面积、功率消耗等等)以及系统层级特性(像是极点、增益、频宽等等),使本发明的模拟电路合成/设计/优化能在电路层级与系统层级间取得平衡,不仅可使系统层级优化结果趋近电路层级的优化结果以同时达到省时、精确的目的,也可利用系统层级优化电路层级的优化目标。
为进一步说明本发明模拟数据库的构想,请参考图5;图5是以一实施例来示意本发明模拟数据库中为某一类型的电路单元(譬如说是一个具有两极点的运算放大器)所建立的信息。此信息可以是用XML等能以卷标(tag)形式记录分类信息的语言来记录/描述一电路单元的种种参数与特性。如图5所示,标签<DESIGN NAME=“OP2”>代表此类电路单元属于运算放大器“OP2”这一类别。卷标<ARCHITECTURE>代表此类电路单元适用的电路架构可以是一和差调变器。卷标<SPECIFICATION>代表此一信息中为此类电路单元记录了哪些规格特性,譬如说是相位裕度PM(Phase Margin)、增益GAIN、信噪比SRN等等。卷标<OPTIMIZE>代表的则是此类电路单元中已针对哪些特性进行过优化;譬如说其直流偏压电流已经趋近最小(图5中记录为MINIMIZE IVDDA)以节省功率消耗,其布局面积也已经趋近最小(MINIMIZE AREA)。另外其两个极点的位置(与频宽有关)的位置(频率)也已经趋近最佳化。
另一方面,标签<INSTANT ID=”1”>则代表此类电路单元中的第1例(也就是此类电路单元中的第1种电路)。在此卷标下(也就是由头标签<INSTANT ID=”1”>至尾标签</INSTANT>之间所涵盖的各项信息)则代表此一例电路的各项特性,像是其相位裕度PM为46.4931度、增益GAIN为74.9998163、其单增益频宽UGBW则为21197000.0Hz等等。当然,此类电路单元下可以有许多例(instance),分别对应此类电路单元下的多种不同电路。模拟数据库中也可针对不同种类电路单元(譬如说是标准电压产生器,bandgap generator)分别记录对应的各例。
在建立本发明模拟数据库时,可沿用本发明在图2中的技术,也就是以电路层级优化计划及数值模拟来自动地优化各类电路单元,并记录下各电路单元优化后的系统层级特性,作为模拟数据库中的内容。
在图3、图4的实施例中,本发明是以布局面积为优化目标。事实上,本发明在针对一模拟电路进行合成/设计/优化时,也可在优化计划中安排一流程控制(flow control),此流程控制中可以有多个步骤,各步骤分别记录不同的关键电路单元、对应的设计参数、设计规格/设计限制及/或测试指标,以逐步地渐进完成整个模拟电路的合成/设计/优化。譬如说,若某一模拟电路中共有6个关键电路单元,流程控制就可先针对第1关键电路单元的关键设计参数进行反多值模拟,以针对第1关键电路单元的设计规格、测试指针及/或优化目标进行优化。完成之后,再针对第2关键电路的对应设计参数与其特定的设计规格、测试指针及/或优化目标进行优化,以此类推。在图2与图4的例子中,行L1-10(图2)与行L2-16(图4)中的叙述“set_current_step1”即是用来设定现行步骤为1。如流程控制需要进行多个步骤,即可利用类似的叙述设定步骤2、3等等。
本发明技术可同时适用于布局前(pre-layout)与布局后(post-layout)的模拟电路合成/设计/优化。布局前的电路合成/设计/优化主要可依据图1的要点来实施。若要进一步进行布局后的电路合成/设计/优化,则可依据图6的要点来实施。请参考图6(并一并参考图1);延续图1中的实施例,在要点S8的验证顺利通过后,基本上就可完成布局前的电路合成/设计/优化。若要进一步进行布局后的电路合成/设计/优化,可依图6的实施例,在布局设计完成后继续进行下列要点(步骤):
要点S9:进行布局寄生效应萃取。在布局设计完成后,可以由布局设计中萃取出因电路布局所导致的电路寄生效应,像是导电线路的等效电阻、电容、电感等等。
要点S10:在考虑寄生效应的情形下再度进行验证;也就是将寄生效应等效电路加入至验证过程中,以了解这些寄生效应对整个模拟电路的影响程度。若通过验证,布局后的模拟电路合成/设计/优化也就完成了。相对地,若验证未通过,则要在考虑寄生效应的情形下重新依据优化计划以优化引擎再度进行优化,如图6中所示。若有需要的话,也可在重新进行优化时微调优化计划的内容(譬如说是改变关键设计参数的可容许范围等等)。
总结来说,相较于现有的公知技术,本发明可用模拟数据库来紧密结合电路层级与系统层级的电路合成/设计/优化,可兼顾系统层级的高效率与电路层级的精确。本发明中使用的优化计划则能自动化整个模拟电路合成/设计/优化流程,并能用来记录模拟电路设计的知识、经验与技巧,提高这些知识的再运用性,让电路设计者只要微调优化计划就可容易地设计出不同工艺下能满足不同设计规格、测试指针及/或优化目标的模拟电路,降低模拟电路合成/设计/优化的成本与资源。
综上所述,虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明,任何本领域普通技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围当以随附的权利要求的范围为准。
Claims (15)
1.一种进行模拟电路合成的方法,该模拟电路中有多个电路单元,各电路单元分别具有多个对应的参数,各参数可改变对应电路单元的运行或特性;而该方法包含有:
提供一优化计划,用来记录至少一个由该多个电路单元中选出的关键电路单元,并针对各关键电路单元分别记录至少一个设计参数,其中各设计参数由对应关键电路单元的多个参数中选出;以及
根据该优化计划中所记录的设计参数,使用一优化引擎改变各设计参数的数值反复进行数值模拟。
2.如权利要求1所述的方法,其还包含有:
于该优化计划中记录至少一优化目标,
而当针对该优化计划使用该优化引擎进行数值仿真时,是改变各设计参数的数值以趋近该优化目标。
3.如权利要求1所述的方法,其还包含有:
于该优化计划中记录一流程控制,该流程控制中记录有至少一步骤,各步骤分别记录不同的关键电路单元与对应的设计参数;
而当根据该优化计划使用该优化引擎进行数值仿真时,根据该流程控制中的各步骤依序改变各设计参数的数值以进行数值模拟。
4.如权利要求1所述的方法,其中该优化计划中所记录的设计参数是电路层级的参数,其可为一晶体管的尺寸、临限电压或工艺参数;而当该优化引擎进行数值仿真时,是进行电路层级模拟。
5.如权利要求1所述的方法,其中该优化计划中所记录的设计参数是系统层级的特性,其可为一电路单元的增益、反馈系数、回转率、极点、频宽、频率响应、功率消耗或布局面积;而当该优化引擎进行数值仿真时,是进行系统层级模拟。
6.如权利要求1所述的方法,其还包含有:
提供一模拟数据库,该模拟数据库中记录有多个电路单元及各电路单元所对应的系统层级信息;
其中当根据该优化计划使用优化引擎进行数值仿真时,另可由该模拟数据库中选出不同的电路单元取代同一关键电路单元以反复根据各电路单元所对应的系统层级行为模型进行系统层级数值仿真。
7.如权利要求1所述的方法,其还包含有:
决定该模拟电路的电路设计拓扑。
8.如权利要求1所述的方法,其还包含有:
于该优化计划中记录一测试指针,用来指定数值模拟中待监控的项目。
9.如权利要求8所述的方法,其还包含有:
在根据该优化计划使用优化引擎进行数值仿真时,针对该模拟电路求出该测试指针中待监测项目的数值。
10.如权利要求1所述的方法,其还包含有:
于该优化计划中记录:一工艺相关数据、该模拟电路的设计规格或该模拟电路预设的操作环境。
11.如权利要求1所述的方法,其是用来进行一布局前优化。
12.如权利要求1所述的方法,其是用来进行一布局后优化,该方法还包含有:
进行一寄生效应萃取,以由布局设计中萃取出因电路布局所导致的电路寄生效应。
13.一种高效能模拟电路合成方法,用来进行自动化的模拟电路合成/设计/优化;该方法可应用于电路层级或系统层级的电路设计,并可适用于布局前或布局后优化;该方法包含有:
在针对一模拟电路进行电路合成/设计/优化时,整合一电路设计拓扑、一优化计划及一测试指标,并选择是否要利用一模拟数据库,以进行一个以数值模拟为基础的优化流程。
14.如权利要求13所述的方法,其中该模拟电路中有多个电路单元,各电路单元分别具有多个对应的参数,各参数可改变对应电路单元的运行或特性;而该优化计划,是用来记录至少一个由该多个电路单元中选出的关键电路单元,并针对各关键电路单元分别记录至少一个设计参数,其中各设计参数是由对应关键电路单元的多个参数中选出。
15.如权利要求14所述的方法,其中该模拟数据库中记录有多个电路单元及各电路单元所对应的系统层级信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101460153A CN101339582B (zh) | 2008-08-06 | 2008-08-06 | 模拟电路合成方法与相关技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101460153A CN101339582B (zh) | 2008-08-06 | 2008-08-06 | 模拟电路合成方法与相关技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101339582A true CN101339582A (zh) | 2009-01-07 |
CN101339582B CN101339582B (zh) | 2011-03-02 |
Family
ID=40213648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101460153A Expired - Fee Related CN101339582B (zh) | 2008-08-06 | 2008-08-06 | 模拟电路合成方法与相关技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101339582B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123219A (zh) * | 2009-12-28 | 2011-07-13 | 株式会社东芝 | 数据处理装置及可重构电路层的控制方法 |
CN102751997A (zh) * | 2012-06-19 | 2012-10-24 | 武汉科技大学 | 模拟电子电路的矩阵组编码方法 |
CN112560374A (zh) * | 2020-06-03 | 2021-03-26 | 深圳鸿芯微纳技术有限公司 | 集成的仿真器与分析和优化引擎 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560572B1 (en) * | 1999-04-15 | 2003-05-06 | Interactive Image Technologies, Ltd. | Multi-simulator co-simulation |
US6721922B1 (en) * | 2000-09-27 | 2004-04-13 | Cadence Design Systems, Inc. | System for electronic circuit characterization, analysis, modeling and plan development |
US8050901B2 (en) * | 2006-09-14 | 2011-11-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Prediction and control of NBTI of integrated circuits |
-
2008
- 2008-08-06 CN CN2008101460153A patent/CN101339582B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123219A (zh) * | 2009-12-28 | 2011-07-13 | 株式会社东芝 | 数据处理装置及可重构电路层的控制方法 |
CN102751997A (zh) * | 2012-06-19 | 2012-10-24 | 武汉科技大学 | 模拟电子电路的矩阵组编码方法 |
CN102751997B (zh) * | 2012-06-19 | 2015-01-14 | 武汉科技大学 | 模拟电子电路的矩阵组编码方法 |
CN112560374A (zh) * | 2020-06-03 | 2021-03-26 | 深圳鸿芯微纳技术有限公司 | 集成的仿真器与分析和优化引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN101339582B (zh) | 2011-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937256B2 (en) | Systems and methods of efficient library characterization for integrated circuit cell libraries | |
Barros et al. | Analog circuits and systems optimization based on evolutionary computation techniques | |
USRE44479E1 (en) | Method and mechanism for implementing electronic designs having power information specifications background | |
US8516418B2 (en) | Application of a relational database in integrated circuit design | |
Saleh et al. | Mixed-mode simulation and analog multilevel simulation | |
Harr et al. | Applications of VHDL to circuit design | |
US20100031206A1 (en) | Method and technique for analogue circuit synthesis | |
Lourenço et al. | AIDA: Layout-aware analog circuit-level sizing with in-loop layout generation | |
US20070276645A1 (en) | Power modelling in circuit designs | |
EP1769408A2 (en) | Method and apparatus for designing electronic circuits | |
US7281223B2 (en) | System and method for modeling an integrated circuit system | |
Sapatnekar et al. | Analysis and optimization of power grids | |
CN113361219A (zh) | 用于优化集成电路设计的系统和方法 | |
US20120221995A1 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
US20220075920A1 (en) | Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results | |
Duran | A practical guide to analog behavioral modeling for IC system design | |
US20210374314A1 (en) | Engineering Change Order Scenario Compression by Applying Hybrid of Live and Static Timing Views | |
CN101339582B (zh) | 模拟电路合成方法与相关技术 | |
US20100153893A1 (en) | Constraint management and validation for template-based circuit design | |
US11022634B1 (en) | Rail block context generation for block-level rail voltage drop analysis | |
Firouzi et al. | Modeling and estimation of power supply noise using linear programming | |
Muchuka | Hardware description language modelling and synthesis of superconducting digital circuits | |
Das et al. | Pessimism reduction in coupling-aware static timing analysis using timing and logic filtering | |
Cachaço et al. | Automatic technology migration of analog IC designs using generic cell libraries | |
US8869080B2 (en) | Automatically identifying resettable flops for digital designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110302 Termination date: 20160806 |
|
CF01 | Termination of patent right due to non-payment of annual fee |