原创 模拟电路设计的九个阶段

2014-6-30 08:47 3473 12 16 分类: 模拟

 

一段

你刚开始进入这行,对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上凑凑热闹,你从不和别人说起电路方面的事,因为你知道没人能明白。

文章评论4条评论)

登录后参与讨论

用户1721644 2014-10-28 22:02

虽然我看不懂,但我还是觉得很有道理的。

用户1371937 2014-10-13 11:25

膜拜的圣地阿,仰望

用户401004 2014-10-2 09:44

都是高手呀!

用户1443740 2014-9-1 11:28

6-7
相关推荐阅读
用户1642694 2014-09-16 11:27
arm常用指令
  常用ARM指令及汇编包括   1、ARM处理器寻址方式 2、指令集介绍 3、伪指令 4、ARM汇编程序设计 5、C与汇编混合编程   ARM处理器寻址方式 ...
用户1642694 2014-09-16 11:26
Android中Intent的
  本文介绍Android中Intent的各种常见作用。       1 Intent.ACTION_MAIN   String: android.intent.act...
用户1642694 2014-09-16 11:25
验证 大端小端
  #include <stdio.h>   int main(void) {     union{         short s;         ch...
用户1642694 2014-09-09 20:42
VC#通过TCP/IP实现远程控制
  如何控制对方计算机,有程序人员自己定义.,这里给出核心技术代码并且实现部分控制功能. 这里我们把运行在我们自己电脑上的控制程序叫 Server  被管理电脑运行的程序叫Client ...
用户1642694 2014-09-09 20:40
共模扼流圈在高速数据链路的使用
   简介 共模扼流圈广泛应用于高速串行数据传输。当传输介质是连接两个子系统的差分线电缆时, 其应用则更为普遍。使用共模扼流圈可以减少电缆的电磁辐射噪音,并有助于符合规范要求。由于共...
用户1642694 2014-09-09 20:38
电平和频率计算
  图:输入端口电平要求 图:输出端口电平极限条件 图:输入端口电平要求   图:输出端口电平 图:时序要求:接线图9013的参数 ...
我要评论
4
12
关闭 站长推荐上一条 /2 下一条