微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > Cadence Allegro > 关于元件模块的复用(reuse),自己解答一下

关于元件模块的复用(reuse),自己解答一下

时间:10-02 整理:3721RD 点击:
1、在orcad中画好模块的原理图,设定好封装,做好drc,做好元件编号。
2、检查元件属性是否设为current properties,其它设定可能出错。
2、在annotate-->pcb edit reuse中,选中generate reuse module,renumber design for using modules,选中

unconditional,其它不选。
3、生成netlist.
4、将netlist导入到allegro,布线,布局,若无rename等需要与orcad交互的动作,选tools-->creat modules生成mdd

文件.mdd文件的文件名一定要定义为:DSN NAME_ROOT SCHEMATIC NAME.mdd。DSN NAME为你定义的orcad中的dsn文件名

,ROOT SCHEMATIC NAME是这个文件中的页名字。这里若定义不对,在reuse时找不到mdd文件。之后跳到第6步。
5、在orcad中back annotate,之后回到第2步。
6、模块制作完成。
使用生成的模块
1、在新的orcad设计中,选place-->herarhical block,reference中填入BLK?(注意,这里使用BLK是为了与原理图中的

U?R?C?区别,保证BLK这个名字专用于moduel,不然在做完allegro后,rename 时,导回到orcad中出问题。)
在implementation type中选schematic view,在implementtation name中填入先前模块的页名称,在path and file
name中选择相应的dsn文件,之后在你的原理图中出现一个block.
2、继续其它设计,之后在annotate-->packageing中,选中reset part name to "?",同时选中update occurrences,执

行一下,将所有的元件
(包括module的name改为?),在annotate-->pcb edit reuse中,选中 renumber design for using modules,选中

incremental,选中do not
change the page number,选中select modules to mark for框里的内容。其它不选。
3、drc后,出netlist.
4、导入到allegro后,palce-->manually place,选mudule instances,将module放入。注意一下mdd文件路径的设定,

不正确会找不到mdd 文件的。
5、在allegro中布好线后,可以rename到orcad中,与正常设计无区别。
6、over.
做reuse时的几个注意事项:
1:当reuse模块已经放在电路中使用,重新修改reuse模块的port口后,在使用的原理中右击这个模块,选synchronize

up,则实现修改的同步。
2:在reuse模块中,不能使用room属性,不然可能与使用reuse的电路图混淆。
3: reuse模块中不能使用全局变量,特别是电源和地,使用port口传递数据。
4: reuse模块内部修改后,只要port口没有变,则在使用它的原理图不用同步。
5: 做好的模块文件用在pcb中后,若需要修改这部分文件,在修改完成后,在原pcb中使用update symbol功能,选相应

的moddle,之后更新就行了,注意生成mdd文件时,原点的选择,不然更新后一些线会错位。
6:当导入到allegro的模块出现dummy net的错误时,怎么办?
出错的可能原因是由于模块的orcad文件造成的,可能是对原始的orcad取一部分进行修改,这些元件带有原来文件的一

些属性。将相关orcad文件的所有元件和连线copy到一个新的页内,将当前页的内容删除,从刚才copy到新页的内容

copy回来,这时看元件的属性时,没有黄色的部分,按正常步骤重新生成mdd文件,在调用这个模块的orcad文件中,重

新编一次元件编号,生成网表,问题解决。
7:当含有reuse的设计导入到allegro并布线完成,若重新修改模块的原理图,比如增加一个元件,怎么做呢?
答:在模块原理图中,将增加的元件名改为R?的形式,连好线后,在annotate-->pcb edit reuse中,选中generate

reuse module,renumber design for using modules,选incremental,对元件编号。之后生成netlist,之后导入到

allegro中,布线后生成module.在上一级的原理图中,在annotate-->package中,选中incremental reference update,

对元件进行编号,生成netlist。在allegro中,将需要更改的module删除,导入netlist,放入module,oK.
关于reuse的使用及相关注意事项,在cap_ug.pdf文件中的Design reuse models部分,有很详细的说明。
2009.12.22修改第7部分

ding一下

当含有reuse的设计导入到allegro并布线完成,若重新修改原理图,比如换一个10pin的IDC插座到16pin,不能用annotate-->allegro reuse命令,不然生成的网表会导入到allegro中会出错,不知是什么原因?

好文章!

谢谢,用的到。

顶一下。

不错,顶一下!感谢小编!

有些东西历久弥新,小编的帖子就有这样的味道,非常感谢!

出错的可能原因是由于模块的orcad文件造成的,可能是对原始的orcad取一部分进行修改,这些元件带有原来文件的一些属性。将相关orcad文件的所有元件和连线copy到一个新的页内,将当前页的内容删除,从刚才copy到新页的内容copy回来,这时看元件的属性时,没有黄色的部分,按正常步骤重新生成mdd文件,在调用这个模块的orcad文件中,重新编一次元件编号,生成网表,问题解决。
这个问题困扰了我一个下午,解决后给大家参考。

把我使用reuse的相关总结发上来(在一楼已经更新),希望对大家有所帮助。

thank you very much !

thank you very much !

请问,为什么我调用reuse 时,路径不对!?

顶下!学习了!

顶一下,修改了,让需要的人看看。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top