对于早期较为简单的系统,通常的做法是硬件工程师把设计要求一条条手写下来,告诉PCB设计工程师如何去做。但对于复杂的系统,面对成千上万的连线、无数的要求,硬件工程师无法将这些规则一一记录下来,PCB设计工程师更无法一条条去检查和实施。这时,就需要电气化的规则管理器将各种设计要求管理起来,硬件工程师和PCB设计工程师可以在同一个规则管理器的基础上协同工作。
对于自动布线技术,“如果一个公司技术没有掌握好,信号完整性问题不能很好解决,建议不要采用自动布线。因为如果不能定义很好的规则,将无法正确驱动自动布线。”无论工具如何发达,计算机都不可能完全取代人的大脑行为,因而也就不可能有100%的自动布线。前面我们所说的自动布线其实是一种交互式的自动布线,需要人的参与:自动布线以 前有些规则还需要手工进一步确定;自动布线完成以后需要工程师验证和修改。
对于传统的、较为低速的系统设计,很多工程师可能都有过这样的经验,用Cadence的OrCAD画原理图,再用Mentor的PowerPCB做布局布线。但这种方法在高速设计领域不再适合。“数据在不同厂商的工具之间不能实现完全转换,例如:传统的读网表的方法,不可能把原理图中的一些电气属性和要求带到PCB设计中,因而不适合高速设计。”
除自动布线,对大型系统,并行设计也是提高设计效率的有效途径。并行设计即协同设计,就是将一块电路板分割成几部分,由几个人同时进行设计。据尤立夫介绍,目前Mentor Graphics的工具在并行设计方面已经可以做到,如果将一台机器上的设计存盘后,另一台机器立刻可以看见,并且两边的连线可以自动连到一起,这样可以减轻不同设计之间整合的任务。尤立夫说:“到今年晚些时候,Mentor Graphics公司完全动态的并行设计工具extremePCB就可以推向市场,到时候,工程师就可以像联网打CS一样进行完全实时的并行设计,即彼此的设计可以实时被对方看见,这样可以方便异地工程师之间的合作。”对于并行设计,它不但需要好的设计工具,更需要好的设计方法。并行设计不要分得太细、太广,2~3人比较合理,否则思路太分散,反而不利于设计。
超越PCB:高速问题的系统级考虑
当系统从几百兆发展到数十吉时,芯片设计、封装设计、系统设计已经不可能再分开考虑。对于高端产品,在设计芯片时,就应该考虑封装设计和系统设计。
在去除软件本身的问题之后,如何精简流程,从流程上减少工程师的失误,使工程师把更多的精力投入到设计之中,使产品尽快进入市场,也已经成为EDA厂商正在考虑的内容。