找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1878|回复: 4
打印 上一主题 下一主题

ALLEGRO元件模块的复用(reuse)

[复制链接]

30

主题

131

帖子

1081

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1081
跳转到指定楼层
1#
发表于 2012-11-2 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1、在orcad中画好模块的原理图,设定好封装,做好drc,做好元件编号。
7 w7 a, r1 z! O7 D% g2、检查元件属性是否设为current properties,其它设定可能出错。
9 X' m5 f5 H! X5 p. \$ m' C8 L# F2、在annotate-->allegro reuse中,选中generate reuse module,renumber design for using modules,选中unconditional,其它不选。
6 `; O* U! q( @( T8 n& o6 n0 B! }% R3、生成netlist. 3 H6 r% I6 s2 y, q0 D' W
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 q+ B3 i3 \) m7 e3 w, Z& A
5、在orcad中back annotate,之后回到第2步。 ! h9 D! q" [! X2 V* m' ~6 j1 G' w
6、模块制作完成。 + o3 C2 t* t! s/ O" a' J/ l
使用生成的模块 ! u$ n5 ^: S. K, R2 N
1、 在新的orcad设计中,选place-->herarhical block,reference中填入BLK?(注意,这里使用BLK是为了与原理图中的U?R?C?区别,保证BLK这个名字专用于moduel,不然 在做完allegro后,rename 时,导回到orcad中出问题。)
3 U0 P7 U0 `6 b4 h0 c在implementation type中选schematic view,在implementtation name中填入先前模块的页名称,在path and file   z8 j2 S( [% n% h
name中选择相应的dsn文件,之后在你的原理图中出现一个block. ) S  R6 k# O% z2 Q; @* P' [7 M, s
2、继续其它设计,之后在annotate-->packageing中,选中reset part name to "?",同时选中update occurrences,执行一下,将所有的元件
) |: M5 v2 i3 H+ z0 G(包括module的name改为?),在annotate-->allegro reuse中,选中 renumber design for using modules,选中incremental,选中do not  
# `: B1 Q8 }$ }; \% O* \3 ochange the page number,选中select modules to mark for框里的内容。其它不选。
+ B" p$ t+ |1 O+ V5 L" F1 _3、drc后,出netlist.
& y$ Z3 [* I- P# m4 K+ }% z* O4、导入到allegro后,palce-->manually place,选mudule instances,将module放入。注意一下mdd文件路径的设定,不正确会找不到mdd 文件的。 , H2 \: c( T% m1 O
5、在allegro中布好线后,可以rename到arcad中,与正常设计无区别。
1 I9 k6 O5 Y0 i+ a6、over. " j6 {, u5 F* v  ^7 E+ n3 C3 E
做reuse时的几个注意事项:
2 @7 H" ~! z1 q+ G1 G# H* @, |/ R1:当reuse模块已经放在电路中使用,重新修改reuse模块的port口后,在使用的原理中右击这个模块,选synchronize up,则实现修改的同步。
! M, x8 L: x1 I( b$ k4 K2:在reuse模块中,不能使用room属性,不然可能与使用reuse的电路图混淆。 5 a' [, o* L4 k% L
3: reuse模块中不能使用全局变量,特别是电源和地,使用port口传递数据。 8 n1 z9 c  t8 H# o% M+ \
4: reuse模块内部修改后,只要port口没有变,则在使用它的原理图不用同步。 $ d, F" G" A* i( h+ T3 B
5: 做好的模块文件用在pcb中后,若需要修改这部分文件,在修改完成后,在原pcb中使用update symbol功能,选相应的moddle,之后更新就行了,注意生成mdd文件时,原点的选择,这然更新后一些线会错位。
3 I9 D2 {* K& o" k6:当导入到allegro的模块出现dummy net的错误时,怎么办? - E' }  r, U, [0 u" i6 k
出 错的可能原因是由于模块的orcad文件造成的,可能是对原始的orcad取一部分进行修改,这些元件带有原来文件的一些属性。将相关orcad文件的所 有元件和连线copy到一个新的页内,将当前页的内容删除,从刚才copy到新页的内容copy回来,这时看元件的属性时,没有黄色的部分,按正常步骤重 新生成mdd文件,在调用这个模块的orcad文件中,重新编一次元件编号,生成网表,问题解决。 ) h% T7 M4 ~, q! r. _
7:当含有reuse的设计导入到allegro并布线完成,若重新修改原理图,比如换一个10pin的IDC插座到16pin,不能用annotate-->allegro reuse命令,不然生成的网表会导入到allegro中会出错,不知是什么原因? 0 }! a4 v  l. F# K) Q
答: 在原理图设计中,当使用reset to ?后,使用annotate-->allegro reuse命令,将netlist导出到allegro后,不能再使用使用reset to ?,新增的元件使用increase功能,不要将所有的元件reset to ?,不然会出错。

点评

支持支持!  发表于 2013-4-12 11:52
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏4 支持!支持! 反对!反对!

3

主题

157

帖子

2697

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2697
2#
发表于 2013-4-12 10:06 | 只看该作者
介绍得非常详细,多谢楼主,正要使用此功能。

16

主题

339

帖子

3796

积分

五级会员(50)

Rank: 5

积分
3796
3#
发表于 2013-6-30 23:14 | 只看该作者
谢谢分享!!!!!!!!!

0

主题

4

帖子

-8942

积分

未知游客(0)

积分
-8942
4#
发表于 2013-7-1 17:40 | 只看该作者
转发的吧,本人原创的,又更新了一些信息

0

主题

2

帖子

-8978

积分

未知游客(0)

积分
-8978
5#
发表于 2014-9-22 15:41 | 只看该作者
介绍得非常详细,多谢楼主,正要使用此功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-16 09:53 , Processed in 0.073382 second(s), 33 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表