新闻  |   论坛  |   博客  |   在线研讨会
模拟电路设计的九重境界
电子资料库 | 2022-10-11 19:29:55    阅读:899   发布文章

本文章转载至公众号:射频工程师的日常,如有侵删。


01


我记得本科刚毕业时,由于本人打算研究传感器的,后来阴差阳错进了复旦逸夫楼专用集成电路与系统国家重点实验室做研究生。现在想来这个实验室名字大有深意,只是当时惘然。


电路和系统,看上去是两个概念,两个层次。我同学有读电子学与信息系统方向研究生的,那时候知道他们是“系统”的, 而我们呢,是做模拟“电路”设计的,自然要偏向电路。


而模拟芯片设计初学者对奇思淫巧的电路总是很崇拜,尤其是这个领域的最权威的杂志JSSC (IEEE Journal of solid state circuits), 以前非常喜欢看, 当时立志看完近二十年的文章,打通奇经八脉,总是憧憬啥时候咱也灌水一篇, 那时候国内在此杂志发的文章凤毛麟角, 就是在国外读博士,能够在上面发一篇也属优秀了。


02


读研时,我导师是郑增钰教授,李联老师当时已经退休,逸夫楼邀请李老师每个礼拜过来指导。郑老师治学严谨,女中豪杰。


李老师在模拟电路方面属于国内先驱人物,现在在很多公司被聘请为专家或顾问。李老师在87年写的一本(运算放大器设计);


即使现在看来也是经典之作。李老师和郑老师是同班同学,所以很要好,我自然相对于我同学能够幸运地得到李老师的指点。


李老师和郑老师给我的培养方案是:先从运算放大器学起。所以我记得我刚开始从小电流源开始设计。那时候感觉设计就是靠仿真调整参数。


但是我却永远记住了李老师语重心长的话:运放是基础,运放设计弄好了,其他的也就容易了。


当时不大理解,我同学的课题都是AD/DA,锁相环等“高端”的东东,而李老师和郑老师却要我做“原始”的模块,我仅有的在(固体电子学)(国内的垃圾杂志)发过的一篇论文就是轨到轨(rail-to-rail)放大器。


做的过程中很郁闷,非常羡慕我同学的项目,但是感觉李老师和郑老师讲的总有他们道理,所以我就专门看JSSC运放方面的文章,基本上近20多年的全看了。当时以为很懂这个了,后来工作后才发现其实还没懂。所谓懂,是要真正融会贯通,否则塞在脑袋里的知识再多,也是死的。但是运算放大器是模拟电路的基石,只有根基扎实方能枝繁叶茂,两位老师的良苦用心工作以后才明白。


总的来说,在复旦,我感触最深的就是郑老师的严谨治学之风和李老师的这句话。硕士毕业,去找工作,当时有几个offer。我师兄孙立平, 李老师的关门弟子,推荐我去新涛科技,他说里面有个常仲元,鲁汶天主教大学博士,很厉害。


我听从师兄建议就去了。新涛当时已经被IDT以8500万美金收购了,成为国内第一家成功的芯片公司。面试我的是公司创始人之一的总经理Howard. C. Yang(杨崇和)。Howard是Oregon State University 的博士,锁相环专家。


面试时他当时要我画了一个两级放大器带Miller补偿的, 我很熟练。他说你面有个零点,我很奇怪,从没听过,云里雾里,后来才知道这个是Howard在国际上首先提出来的,等效模型中有个电阻,他自己命名为杨氏电阻。


当时出于礼貌,不断点头。不过他们还是很满意,反正就这样进去了。我呢,面试的惟一的遗憾是没见到常仲元, 大概他出差了。进入新涛后,下了决心准备术业有专攻。因为本科和研究生时喜欢物理,数学和哲学,花了些精力在这些上面。工作后就得真刀真枪的干了。


03


每天上班仿真之余和下班后,就狂看英文原版书。第一本就是现在流行的Razavi的那本书。读了三遍。感觉大有收获。


那时候在新涛,初生牛犊不怕虎,应该来说,我还是做得很出色的,因此得到常总的赏识,被他评价为公司内最有potential的人。偶尔常总会过来指点一把,别人很羡慕。


其实我就记住了常总有次聊天时给我讲的心得,他大意是说做模拟电路设计有三个境界:


第一是会手算,意思是说pensile-to-paper, 电路其实应该手算的,仿真只是证明手算的结果。


第二是,算后要思考,把电路变成一个直观的东西。


第三就是创造电路。


我大体上按照这三部曲进行的。Razavi的那本书后面的习题我仔细算了。公司的项目中,我也力图首先以手算为主,放大器的那些参数,都是首先计算再和仿真结果对比。久而久之,我手计算的能力大大提高,一些小信号分析计算,感觉非常顺手。


这里讲一个小插曲,有一次在一个项目中,一个保护回路AC仿真总不稳定, 调来调去,总不行,这儿加电容,那儿加电阻,试了几下都不行,就找常总了。


因为这个回路很大,所以感觉是瞎子摸象。常总一过来三下五除二就摆平了,他仔细看了,然后就导出一个公式,找出了主极点和带宽表达式。


通过这件事,我对常总佩服得五体投地, 同时也知道直观的威力。所以后来看书时,都会仔细推导书中的公式,然后再直观思考信号流,不直观不罢手。一年多下来, 对放大器终于能够透彻理解了,感觉学通了, 通之后发现一通百通。


最后总结:放大器有两个难点,一个是频率响应,一个是反馈。其实所谓电路直观,就是用从反馈的角度来思考电路。


每次分析了一些书上或者JSSC上的“怪异”电路后,都会感叹:反馈呀,反馈!然后把分析的心得写在paper上面。


学通一个领域后再学其他相关领域会有某种“加速”作用。常总的方式是每次做一个新项目时,让下面人先研究研究。


我在离开新涛前,做了一个锁相环。我以前没做过,然后就把我同学的硕士论文,以及书和很多paper弄来研究。


研究了一个半月,常总过来问我:锁相环的3dB带宽弄懂了吧?


我笑答:早就弄懂了。


我强大的运放的频率响应知识用在锁相环上,小菜了。我这时已经去研究高深的相位噪声和jitter了。


之后不久,一份30多页的英文研究报告发出来,常总大加赞赏!。后来在COMMIT时,有个项目是修改一个RF Transceiver芯片, 使之从WCDMA到TD-SCDMA。


里面有个基带模拟滤波器。我以前从没接触过滤波器,就花了两个月时间,看了三本英文原版书,第一本有900多页,和N多paper, 一下子对整个滤波器领域,开关电容的,GmC的,Active RC的都懂了。


提出修改方案时, 由于我运放根基扎实,看文章时对于滤波器信号流很容易懂,所以很短时间就能一个人提出芯片电路原理分析和修改方案。


最后报告写出来(也是我的又一个得意之作),送给TI.,TI那边对这边一下子肃然起敬,Conference call时, 他们首先说这份报告是“Great job!”,我英文没听懂,Julian对我夸大拇指,说“他们对你评价很高呢”。


后来去Dallas, TI那边对我们很尊敬, 我做报告时,很多人来听。


04


总之,现在知道,凡事情,基础很重要,基础扎实学其他的很容易切入, 并且越学越快。


我是02年 11月去的COMMIT,当时面试我的也是我现在公司老板Julian。

Julian问我:你觉得SOC (system on chip)设计的环节在哪儿?


我说:应该是模拟电路吧,这个比较难一些。Julian说错了,是系统。


我当时很不以为然, 觉得模拟电路工程师应该花精力在分析和设计电路上。


Julian后来自己run了现在这公司On-Bright,把我也带来, 同时也从TI拉了两个,有一个是方博士。


我呢,给Julian推荐了朱博士。这一两年,我和朱博士对方博士佩服得五体投地。


方博士是TI华人里面的顶级高手, 做产品能力超强。On-Bright现在做电源芯片,我和朱博士做了近两年,知道了系统的重要性。


芯片设计最终一定要走向系统, 这个是芯片设计的第四重境界。电路如同砖瓦,系统如同大厦。


芯片设计工程师一定要从系统角度考虑问题,否则就是只见树木,不见森林。

电源芯片中,放大器,比较器都是最最普通的, 其难点在于对系统的透彻理解。


在On-Bright,我真正见识了做产品,从定义到设计,再到debug, 芯片测试和系统测试,最后到RTP (release to production)。


Julian把TI的先进产品开发流程和项目管理方式引入On-Bright,我和朱博士算是大开眼界,也知道了做产品的艰辛。


█ 模拟电路设计的九重境界


第一重:你刚开始进入这行,对PMOS/NMOS/BJT什么的只不过有个大概的了解,各种器件的特性你也不太清楚,具体设计成什么样的电路你也没什么主意,你的电路图主要看国内杂志上的文章,或者按照教科书上现成的电路,你总觉得他们说得都有道理。你做的电路主要是小规模的模块,做点差分运放,或者带隙基准的仿真什么的你就计算着发文章,生怕到时候论文凑不够。总的来说,基本上看见运放还是发怵。你觉得spice是一个非常难以使用而且古怪的东西。


第二重:你开始知道什么叫电路设计,天天捧着本教科书在草稿纸上狂算一气。你也经常开始提起一些技术参数,Vdsat、lamda、early voltage、GWB、ft之类的。总觉得有时候电路和手算得差不多,有时候又觉得差别挺大。你也开始关心电压,温度和工艺的变化。例如低电压、低功耗系统什么的。或者是超高速高精度的什么东东,时不时也来上两句。你设计电路时开始计划着要去tape out,虽然tape out看起来还是挺遥远的。这个阶段中,你觉得spice很强大,但经常会因为AC仿真结果不对而大伤脑筋。


第三重:你已经和PVT斗争了一段时间了,但总的来说基本上还是没有几次成功的设计经验。你觉得要设计出真正能用的电路真的很难,你急着想建立自己的信心,可你不知道该怎么办。你开始阅读一些JSSC或者博士论文什么的,可你觉得他们说的是一回事,真正的芯片或者又不是那么回事。你觉得Vdsat什么的指标实在不够精确,仿真器的缺省设置也不够满足你的要求,于是你试着仿真器调整参数,或者试着换一换仿真器,但是可它们给出的结果仍然是有时准有时不准。你上论坛,希望得到高手的指导。可他们也是语焉不详,说得东西有时对有时不对。这个阶段中,你觉得spice虽然很好,但是帮助手册写的太不清楚了。

第四重:你有过比较重大的流片失败经历了。你知道要做好一个电路,需要精益求精,需要战战兢兢的仔细检查每一个细节。你发现在设计过程中有很多不曾设想过的问题,想要做好电路需要完整的把握每一个方面。于是你开始系统地重新学习在大学毕业时已经卖掉的课本。你把能能找到的相关资料都仔细的看了一边,希望能从中找到一些更有启发性的想法。你已经清楚地知道了你需要达到的电路指标和性能,你也知道了电路设计本质上是需要做很多合理的折中。可你搞不清这个“合理” 是怎么确定的,不同指标之间的折中如何选择才好。你觉得要设计出一个适当的能够正常工作的电路真的太难了,你不相信在这个世界上有人可以做到他们宣称的那么好,因为聪明如你都觉得面对如此纷杂的选择束手无策,他们怎么可能做得到?这个阶段中,你觉得spice功能还是太有限了,而且经常对着"time step too small"的出错信息发呆,偶尔情况下你还会创造出巨大的仿真文件让所有人和电脑崩溃。

第五重:你觉得很多竞争对手的东西不过如此而已。你开始有一套比较熟悉的设计方法。但是你不知道如何更加优化你手头的工具。你已经使用过一些别人编好的脚本语言,但经常碰到很多问题的时候不能想起来用awk或者perl搞定。你开始大量的占用服务器的仿真时间,你相信经过大量的仿真,你可以清楚地把你设计的模块调整到合适的样子。有时候你觉得做电路设计简直是太无聊了,实在不行的话,你在考虑是不是该放弃了。这个阶段中,你觉得spice好是好,但是比起 fast spice系列的仿真器来,还是差远了;你开始不相信AC仿真,取而代之的是大量的transient仿真。
第六重:你开始明白在这个世界中只有最合适的设计,没有最好的设计。你开始有一套真正属于自己的设计方法,你会倾向于某一种或两种仿真工具,并能够熟练的使用他们评价你的设计。你开始在设计中考虑PVT的变化,你知道一个电路从开始到现在的演化过程,并能够针对不同的应用对他们进行裁减。你开始关注功耗和面积,你tape out的芯片开始有一些能够满足产品要求了。但是有时候你还是不能完全理解一些复杂系统的设计方法,并且犯下一些愚蠢的错误并导致灾难性后果。你开始阅读 JSSC时不只是挑一两片文章看看,或许把JSSC作为厕所读物对你来说是一个不错的选择。在这个阶段中,你觉得spice是一个很伟大的工具,你知道如何在spice中对精度和速度做合理的仿真,并随时做出最合适的选择。


第七重:你开始真正理解模拟电路设计的本质,无论对于高精度系统还是高速度系统都有自己独有的看法和经验。你可以在系统级对不同的模块指标进行折中以换取最好的性能。你会了解一个潜在的市场并开始自己的产品定义,并且你知道只要方法正确,你设计出的产品会具有很好的竞争力。你可以从容的从头到脚进行整个电路的功能和指标划分,你了解里面的每一个技术细节和他们的折中会对于你的产品有怎样的影响。你开始关注设计的可靠性。在这个阶段中,你觉得spice是一个很实用的工具,并喜欢上了蒙特卡洛仿真,但你还是经常抱怨服务器太慢,虽然你经常是在后半夜运行仿真。
第八重:这个时候成功的做出一个芯片对你来说是家常便饭,就象一名驾驶老手开车一样,遇到红灯就停、绿灯就行。一个产品的设计对于你来说几乎都是无意识的。你不需要再对着仿真结果不停的调整参数和优化,更多时候之需要很少量的仿真就可以结束一个模块的设计了。你能够清楚地感觉到某一个指标的电路模块在技术上是可能的还是不可能的。你完全不用关心具体模块的噪声系数或者信噪比或者失真度。你只需要知道它是可以被设计出来就可以了,更详细的技术指标对你来说毫无意义。你开始觉得JSSC上的东西其实都是在凑数,有时候认为JSSC即使作为厕纸也不合格(太薄太脆)。你觉得spice偶尔用用挺好的,但是实在是不可靠,很多的时候看看工作点就差不多够了。

第九重:这时候的你对很多电路已经料如指掌,你可以提前预知很多技术下一轮的发展方向。一年你只跑上几次仿真,也可能一仿真就是几年。你很少有画电路图的时候,多数时间你在打高尔夫或是在太平洋的某个小岛钓鱼。除了偶尔在ISSCC上凑凑热闹,你从不和别人说起电路方面的事,因为你知道没人能明白。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客