电路设计模块化与设计重利用
摘要:本文主要介绍了在Cadence Board Design System上实现电路设计模块化与设计重利用的设计方法。
关键词:Cadence Concept—HDL;原理图;子电路;模块化;层次化
随着电路设计复杂程度的增加,设计规模的增大,以及产品完成周期的压力。传统的以一个原理图设计工程师加一个PCB设计工程师的串行硬件设计方式,已经成为电子产品研发进度难以逾越的瓶颈。并行的团队式硬件(包括PCB)设计方式,已经越来越显出其价值。随着EDA软件的并行设计功能的增强,以模块化方式的硬件团队设计技术已经日益成熟。本文能够对掌握Cadence软件进行电路模块化设计与重利用起到积极的参考作用。
1 层次化设计中的子电路与模块化电路的区别
大家对电路的层次化设计并不陌生。为了使读图方便和电路设计任务的划分,功能复杂的电路常常采用层次化没计方法。层次化设计中子电路(Sub-Design),有时也称模块(Block),在原理图设计中可以方便地重复利用。
模块化电路设计则在层次化设计的基础上更进一步,即:将子电路的原理图与其物理设计(PCB)对应起来做成物理模块(Module)。模块不仅在原理图设计中可以方便地被其它设计重复利用;而且在PCB设计中,模块电路可以像调用器件封装一样方便,模块电路不需要重新布局布线。
可以这样比喻,层次化设计中的子电路,相当于软件没计中的子程序。模块化电路则相当于软件设计中的函数。
2 模块化电路的优点
简化设计过程将复杂的电路分解成可重复利用的模块,对模块进行独立的测试。提高电路设计质量;
实现团队协同设计口将大的电路划分为较小的模块,各个部分的设计者可以根据策划,并行原理图设计、PCB的布局布线设计。最后整合到一个PCB上。缩短单板的设计周期;
便于设计的重利用口模块化的电路,其原理图和PCB可以方便地用于其它设计中,不仅省时,同时可以避免重新设计可能引入的差错。
Cadence的模块化电路设计,小仅可以对模块直接利用,还可以很方便的对模块部分进行修改利用,如更换器件、改变连线关系。模块电路还可以嵌套。
3 Cadence Board Design中的模块化设计与重利用流程
Cadence Boar Design中进行电路模块化和重利用的简化流程如图1:
在图1流程的基础上,可以实现已经设计完成的电路及其PCB中的电路单元的模块化;可以实现电路原理图和PCB的并行设计,借助于良好的规划和设计方法,PCB的并行设计可以不受规则的几何边界限制。
4 在Cadence Board Design中电路模块化和重利用的具体实现及其注意事项
1)设计子电路原理图基本上和设计电路原理图是一样的,区别在于子电路原理图需要定义端口(Port)如图2,根据子电路原理的各种需要,尽可能的定义一个端口的全集,以便于其它设计的调用。注意子电路设计名称的定义,根据子电路定义的设计名称将自动产生模块的名称。
2)子电路PORT定义好以后,根据PORT建立子电路原理图的BLOCK。TOOLS—generate view…点击generate symbols,产生子电路的原理符号。打开该项目库管理工具中的Part Developer原理符号建库工具,根据设计功能需要,调整管脚位置。
3)子电路的物理映射(Package)。在Proiect Setup中,定义Subdesign,建立子电路模块时只需要定义Generate Subdesign,如图3所示,将子电路设计名称定义在Subdesign栏。
4)子电路的布局布线和其他电路设计是一样的,合理规划布局、叠层、布线,PCB各项检查没有问题以后,点击菜单Tools-CreateModule如图4所示(该功能只有Cadence ALLEGRO GXL才有),定义模块名称和原理设计名称一致,产生*.mdd文件。
5)为了方便模块设计的管理,建立模块库。库内容包括子电路的原理图及其BIOCK如图5。PCB的电路模块*.mdd可以单独提取出来和其他元器件的封装库放在一起,方便调用。对于层数超过四层的PCB子电路设计,需要导出其叠层信息保存在库文件中。
6)模块设计重利用时,调用一个模块符号和一个单独的元器件是一样的,软件自动默认模块元器件的位号后缀为*,*为子电路位号,为模块引用的次数。例如R1.1,如果不想用“-”,在Subdesign定义中,将属性Subdesign suffix中默认的“_”去掉:如果不想用数字作为模块引用的标示,可以自定义,在每个模块调用以后,给BLOCK增加一个Subdesign suffix的属性,Value中自定义后缀名称。
重利用时还必须在Project Setup中,定义Subdesign,指定User Subdesign以后软件才能将PCB的子电路认为是一个Module,否则子电路只是一个层次化设计,元器件就分散布局了,只有在UserSubdesign中定义以后PCB的子电路才能是一个Module。
7)PCB设计中调用模块时PCB设计中的叠层必须和子电路一致,如果引用多个设计模块,一定要合理规划叠层信息。在PcB设计工具中,子电路以Group的方式移动、旋转等,否则PCB子电路设计将被破坏。
5 应用与实践
在Cadence Board Design System中进行电路设计模块化与重利用,已经广泛应用于我们的硬件设计中,设计范围也越来越广。同时也在复杂的PCB的并行设计方面,发挥了良好的作用。专业硬件设计团队设计的子电路,多次引用以后有力的保证了设计电路的一致性,减少了出错率,提高了原理和PCB设计效率,同时对于设计数据的备份管理及项目文件的移植性等方面都起到了积极的作用。
Cadence Concept&mdash HDL 原理图 子电路 模块化 层次化 相关文章:
- 基于DC-DC电荷泵的研究与设计(08-20)
- 低压CM0S带隙基准电压源设计(08-20)
- 广泛应用的CMOS带隙基准电压源的设计(11-10)
- TPS54310的平均SPICE模型的建立与应用(11-11)
- 基于双闭环模糊PID控制器的开关电源控制(06-09)
- 低成本多路输出CMOS带隙基准电压源设计(04-22)