- 在orcad中画好模块的原理图,设定好封装,做好drc,做好元件编号。
- 在annotate-->allegro reuse中,选中generate reuse module, renumber design for using modules,在选中unconditional之后将renumber design for using modules前的钩取消(即取消选择),其它不选。
- 生成netlist.
- 将netlist导入到allegro,布线,布局,PCB如果没有rename等需要与orcad进行back Annotate的交互动作,则可直接选tools-->create modules生成mdd文件;
- mdd文件的文件名一定要定义为:DSN NAME_ROOT SCHEMATIC NAME.mdd。DSN NAME是orcad中的dsn文件名(如上图的
),ROOT SCHEMATIC NAME是这个文件中的原理图页所在的文件夹的名字(如上图所示的
)。注意:如果这里定义不对,那么reuse时就无法找到mdd文件。定义好的mdd文件如下图所示:
- 对PCB进行网络导出,然后在orcad中back annotate如下所示;
- 如图1所示
图1
- 选择网表导出的路径,如图2所示
- 打开模块PCB所对应的原理图(并且此原理图必须是导出网络到此模块PCB的原理图)对原理图进行back Annotate操作,如下图所示
1)将TO.DSN项目高亮显示
2)选择Tools-back Annotate,选择Allegro页面,勾选上Generate Feedback fil;Allegro PCB Editor的路径选择模块PCB所在的路径;Netlist路径选择刚刚模块PCB导出的网表所在的文件夹即可,Output保持不变,在Back Annotation中勾选上Update Schematic;(如下图所示)点击确定完成PCB反编回原理图。
- 将原理图重复一次第2步的操作以确保原理图的Annotate选项为reuse模块的要求,如下图所示
- 至此模块制作完成。
使用生成的模块
- 在新的orcad设计中,选place-->herarhical block,reference中填入T?(注意,这里不能用T是为了与原理图中的U?R?C?区别,保证T这个名字专用于moduel,不然在做完allegro后,rename 时,导回到orcad中出问题。)
在implementation type中选schematic view,在implementtation name中填入先前模块的页名称ROOT SCHEMATIC NAME(即
的名称TO),在path and file name中选择相应的dsn文件(
),之后在你的原理图中画出T?元件,如下图所示
- 完成原理图设计后,此时右键单击进入任一个T?时会发现所进入的模块原理图中,每个元件的位号都是一样的。
那么就需要对每个原理图模块的元件进行编号,选择Tools-Annotate进入Annotate页面,对原理图元件编号进行重置,操作与常规的元件编号基本一致,但不同的是:
- 必须勾选上Include non-primitice parts这个选项;
- Annotate中Allegro Reuse页面所需勾选的选项如下图所示
1)对元件编号进行重置
2)对元件重新编号
- drc后,导出netlist.
- 导入到allegro后,palce-->manually place,选mudule instances,将module放入。(注意:mdd文件路径的设定,放在常用库或与PCB放到同一个文件夹下,否则会找不到mdd 文件的。)
- 在allegro中布好线后,可以rename到arcad中,与正常设计无区别。
- over.