Allegro软件设计PCB时的模块和复用问题

Allegro软件设计PCB时的模块和复用问题
Allegro软件设计PCB时的模块和复用问题

使用Cadense公司的ORCAD和Allegro软件设计PCB时的模块和复用问题

PCB的模块化设计,可能通常我们的工程师还用得不多,但它在某些场合下还是很有用的,一个是它能减少我们重复性的工作,可以重用的原理图和PCB我们就不需要重复设计了,也就是REUSE。还有就是它能让我们设计的电路板整齐化一。还有也减少了设计中重复的检查工作。

但有时有些工程师在使用Cadense的ORCAD和ALLegro这套工具来设计时会遇到一些问题,有时会让人望而却步,“这么麻烦,还是用笨办法吧!”。在这里贡献我在使用中的体会,相信对大家会很有帮助。

我们在设计电路板时,经常会遇到一些重复的电路,比如,一块电话交换机用户板卡,可能会有8路16路会更多,如果我们重复做,会浪费我们大量的时间,如果用模块化的设计就会简单多了。

在一个电路中会有重复的部分也有不重复的或公共的部分。我们在设计时可以将重复的部分,制做成模块。

模块化设计可以分为原理图的模块化和PCB设计的模块化,最好的设计当然是都模块化和重用(Reuse)了。另外还有器件的多个相同部分的模块化和复用,一个Package分成几个相同或近似的Part。

如何在Orcad和Allegro下实现完整的模块化设计呢?让我慢慢说来。

我先说Orcad的原理图设计。Orcad在设计时分了几个层次。

多个器件(Part)可以放置在一个页(Page)中,器件的管脚可以用连线(wire)连接起来。

几个页可以组成一个Schematic,页与页之间是用Off-page connector建立连接关系。

一个Schematic可形成一个Hierarchical Block或Hierarchical Port。Block之间是依靠各个Block的Port来建立连接关系。

几个Schematic又组成了Design,Design与前面的一个区别是它可以一个文件的形式存在,并可生成网络表(NetList),多个Schematic时,有一个Schematic为Root。

我们的一个电路图又可以由多个Design来组成,也就是由多个后缀为.dsn的文件来组成。

多个Design又是如何建立连接关系呢?它与多个Schematic构成一个Design时类似,也是一个Design,用一个Hierarchical Block或Hierarchical Port指代,Block之间通过Port连接起来。

要做到很好的模块化设计,我们必须先要搞清这种层次关系。

只对原理图的模块化设计或者说重用的的话,有两种情况,一种是将重复的部分,做成一个Schematic,用Hierarchical Block或Hierarchical Port指代它,在一个或几个Page中放置Block 或Port,建立连接关系,用一个Design生成网络表,然后进行PCB的Routing。但这样做的话,在PCB的重用时就会不太方便,因为一个Schematic不能生成网络表,也就不能只对一个模块进行PCB的Routing动作。所有比较好的模块化设计就是将重用的部分,在原理图设计时做成一个Design,也就是形成一个模块的原理图文件,这样就可以生成模块的网络表,对模块进行PCB的Routing。

大概的步骤如下,这个步骤并不是死的,可以按你的情况来定,写出步骤只是会让你少犯不可挽回的错误。

1.画模块的原理图。创建新的一个Design,这个Design当然可以由多个Schematic组成,一个Schematic可以由多个Page,等等,按需要来进行。

2.有了模块的原理图就可以开始进行PCB的Routing了,当然PCB Routing也可以在所有原理图都具备了以后再进行。

如果要开始对模块进行PCB Routing,在这之前要注意:

在生成模块的网络表前,进行完常规的Annotate动作后,要进行特殊的Annotate动作,Annotate窗口下,切换到Allegro Reuse下一定要选中Generate Reuse Module后按“确定”。这个动作不要忘记。这个动作会在模块的所有器件中增加Reuse的几个属性,这对要重用的器件来说是必须的。当然其它的Annotate动作还是要做。在这里还要注意Orcad的Annotate 窗口下,虽然同时有多个表单,但一次操作是只进行一种操作的,当在Allegro Reuse中选中了Generate Reuse Module后,如果你又回到Packaging的话,这时按“确定”是只进行了Packaging的相关操作,并没有进行Generate Reuse Module的操作的。

3.模块的PCB布好后,在Allegro运行Create Module转换成后缀为mdd的模块文件。当然也可以一开始时就创建一个mdd文件。

5.在模块的PCB布好后,进行一次Back Annotat的操作,以使模块的原理图与PCB保持一致。

6.在Orcad下将模块的 Design,作为Hierarchical Block放置到主原理图中,并通过Block 的Port来建立连接关系。

7.在生成主原理图的网络表之前也一定要作Annotate的动作,这时一定要先中Allegro Reuse 下的Renumber Design for Reuse Module。

8.如果模块中有这样的情况,就是一个器件由几个Part组成的,在用Annotate进行Reference Update操作时会经常出现,一个器件的多个Part不能得到我们想要的组合,也就是Annotate 会把器件打乱了,所以在进行Annotate-Packaging-Reference Update的操作完了后一定要作检查,看是不这种器件的组合是不是对的。还可能有一种情况是Annotate会报错,不能完成Reference Update的动作。这种情况是很正常的,因为我们用了重用的模块,软件在进行Package的重组时,会发现很多个这样的器件,软件在进行重组时,根据的是器件的一些属性,比如Value、Source Package、 POWER_GROUP等属性,软件便不知如何重组,或者是它能够重组,但重组的结果也不是我们想要的。这时我们就要给软件提供足够的属性,让软件能够按照我们想要的结果重组。如何做呢?

在Orcad下,选中我们的Design,点击Edit-Browse-Parts菜单,选中那些有多个Part的器件,对这些器件增加一个新的属性,这个属性是名称只要我们可以任意命名,只要是不与

原来的重名就可,然后将这我们希望是一个器件的多个Part赋给它们相同的属性值。

在Annotate窗口下的Packaging表单中,在Physical Packaging Combined Property中增加{属性名}。然后进行Reference Update,这时就不会出现不成功或乱点鸳鸯的情况了。

相关主题
相关文档
最新文档