早期设计电路时没有仿真这个概念,尤其是低速数字设计时。并不是这个不重要。感觉到仿真的重要性是在设计一个3GHz速率的电路时。大多数情况下,或者初次使用仿真时总是感觉仿真的结果跟最后的测试对不上。尤其在做模拟电路的仿真时,比如运放等组成的放大电路。这其实不是仿真的问题而是 1)model的准确性 2)对实际电路的描述。你怎么看待电路图?电路图是否代表了所有设计信息?不是的。电路图只是给你了一个所有集中参数元件的连接顺序。大家知道电路的实质是用电场和磁场描述的。而电场和磁场的相互作用跟携带他们物体(元器件)的空间相对位置有关。也就是这些元器件的摆放位置,方向,和公用的通路(地,电源)会对电磁场的行为产生影响。所以一个电路图只是携带了有限的设计信息,至少不是全部!具体来说,每个信号loop的大小和相互作用,在公用通路上的相互耦合,电感等元件产生的磁场对其他电路的影响,大信号(比如控制的输出)对小信号(被检测的弱信号)回路的影响,等等都是应该考虑的。有时大家在纠缠数模混合设计是否该分地和怎么分,其实你把每个信号都看成有一个loop,该loop会影响别人,也会被别人影响,分析起来就清晰多了。地和电源符号的使用往往使设计者忽略的这一因素。一般做仿真会从电路图开始编写仿真的描叙。更有甚者有的人想用自动软件直接从电路图得到spice的网表。其实电路图并没有告诉你元器件是怎样连接的,除了告诉你他们的连接顺序外。电路图上表示的是一根线,虽然你做仿真时已经考虑到了一个trace可以用传输线来描述。但在不同频率下介电常数不是个常量,趋肤效应使得高频下的trace thickness发生了变化。过孔对高频影响最甚,过孔的model到现在也没个精确的数学模型。过孔中non-functional pad产生的寄生电容,你是否想着model了?via stub呢?记得几年前公司招一个人对他面试,他说起他的博士论文就是研究过孔的model。所以仿真不是一个简单的事情。专业的公司有专门的modeling和仿真的工程师。做仿真不是学会了用仿真软件就可以做的。就像比尔盖茨用basic能写出MS来一样。当你仿真的结果跟最后测试不一致时,可以考虑一下上边提到的两个问题。有篇文章说,一个简单的放大电路,在一般人眼里是几个电阻和一个运放器件。在一个有经验的工程师眼中是一个有若干传输线,寄生参数,干扰源,干扰回路,以及非线性的复杂网络。当你看到电路图背后隐含的那些复杂网络时,做仿真才能对你有帮助。另外两点:1)仿真不能替你设计电路,它只能验证你的设计和你期待的结果是否相符2)仿真不只是验证工具,它的最终目的是代替大部分实验台的作用通常的设计流程是设计电路,仿真,实现,测试。当你发现测试结果跟仿真不相符时,你可能接下就修改电路版上的电路,加点电容拉,去掉噪声了,调整放大倍数拉,使得最后得到你的指标。然后就去修改电路图,再制版去了。且慢!这时你可能丢掉了一次非常珍贵的使你的水平提高到另一层次的机会!正确的做法是测试结果与仿真不相符时,在确认不是制造和测试引起的之后,a)先根据实际情况调试你的仿真(可能是模型,可能是对实现的描述)使得仿真跟测试在预计的误差之内b)在仿真平台上调试你的设计,使得达到预期指标的仿真结果 c)根据仿真所做的修改来相应调试实际电路达到预期的指标。以上3步可能要需要有几个来回。这样最后做到仿真和实际测试一直后,你就积累了完全描述这个设计的仿真知识库和经验。下次做类似设计时,大大提高了你的一次设计成功率。最后的目的是达到在工作站上进行设计和调试,而不是在LAB的实验台上。话是这么说,可有多少人这么做,有多少人相信这么做有价值呢?进度的压力,懒惰的惯性,认识的深度。。。。。。所以大侠永远是少数,呵呵。



