Cadence复用电路原理图及其PCB布局

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

原文链接:https://blog.csdn.net/weixin_42837669/article/details/111712701

有些电路原理图是固定的,PCB布局也大体固定。这时候就会想,如果能把原理图和PCB布局联合起来就好了,画好原理图后,画PCB时那部分电路的布局也能直接拖出来,这样能极大的提高效率。其实,Cadence提供了将原理图和PCB布局结合起来做成一个module(模块)的功能。module可以称为复用模块、模块 或者 复用电路。

下面将详细介绍如何做成module,以及如何使用module。

1.绘制Module的原理图

1.1 画好要复用的电路的原理图

注意输入输出要用port引出,此port就对应层次化电路图的端子。

在这里插入图片描述

1.2 给元器件增加reuse属性

Tool -> Annotate…,打开Annotate窗口。
在这里插入图片描述
在Annotate窗口的PCB Editor标签页中,勾选Generate Reuse module(生成复用模块),点击确定。

在这里插入图片描述
弹出以下两个窗口,点击确定。

在这里插入图片描述
在这里插入图片描述
按Ctrl + S保存设计,然后选择任意器件,右击 -> Edit Property,查看其属性。如下图,可以发现,当前属性增加了两项:REUSE_ANNOTATE 和 REUSE_ID。这两个属性就是原理图与PCB间器件一一对应的纽带。
在这里插入图片描述

1.3 导出网表

Tools -> Create Netlist…,打开创建网表窗口,导出网表。
在这里插入图片描述

2.绘制Module的PCB

2.1 新建*.brd,导入网表,绘制好布局

如下图所示,不需要布线100%。

在这里插入图片描述

2.2 创建PCB module

Tools -> Create Module…,
在这里插入图片描述
然后,框选要生成Module的PCB部分,再单击选择原点,弹出保存*.mdd文件的对话框,如下图所示。

在这里插入图片描述
mdd文件名 = dsn文件名_原理图页名。

注意:1.文件名不区分大小写;2.mdd文件必须按此规则命名,否则在调用时Allegro会提示找不到对应mdd。

这里的dsn文件名为getmdd,加上下划线_,再加上原理图页名12Vto24V。当然你这里随便取个名字,然后在资源管理器中对*.mdd重命名也可以,效果一样。

保存mdd文件,在资源管理器中可以看到*.mdd文件前的图标与brd文件相同,其实mdd文件可以用Allegro进行编辑,就像操作brd一样。当然,你如果直接把brd文件后缀改为mdd是不行的,Allegro打不开。

在这里插入图片描述
所以。在2.1那一步直接新建*.mdd文件就可以了,然后导入网表进行布局布线,就无需从brd文件中create module了。

推荐直接建立mdd文件,如下图,而不是建立brd文件后Create Module。
在这里插入图片描述

2.3 设置modulepath

Allegro要调用mdd文件,会去modulepath指定的路径中搜索,所以要先设置modulepath,然后将生成的mdd文件放入modulepath指定路径。

Setup -> User Preferences…,打开用户首选项设置,搜索module即可找到modulepath。

在这里插入图片描述

3.使用Module

新建一个原理图工程,在此工程中试验复用module,步骤如下。

3.1 放置层次化BLOCK

Place -> Hierarchical Block…,放置层次化块,设置如下。
在这里插入图片描述
点击OK后,用鼠标绘制出方框,我这里绘制了一个,又复制了一个。可以双击进入BLOCK内部查看电路。
在这里插入图片描述
特别注意:这里的BLOCK是引用而不是复制,也就是说,BLOCK绘制好后,如果BLOCK指向的dsn文件发生更改,BLOCK会跟着变化,如果dsn文件改名了或者被删除了,BLOCK就会找不到dsn导致错误。所以,上图的两个BLOCK,你双击任意一个进入修改电路,保存,双击另一个BLOCK进去查看,电路也被修改了,这就说明了这里的BLOCK是引用,两个BLOCK只是名字不同(BLK1,BLK2),指向的电路是同一个。

可进行任意设计,像正常画原理图一样。

3.2 Annotate位号重排与指定mark

原理图画完后,Tool -> Annotate…,打开Annotate窗口。如下图设置,点击OK。会执行位号重排,同时指定好BLOCK对应的module。

在这里插入图片描述

3.3 导出网表

Tools -> Create Netlist…。同1.3节一样。

3.4 新建brd,试试复用效果

导入网表后,Place -> Manually…,打开Placement窗口,如下图所示。可以看到Components by refdes中,BLOCK内的元器件呈黄色,BLOCK外的呈粉红色。再看Module instances,可以看到两个BLOCK对应的mdd。
在这里插入图片描述

放置两个Module instances(模块实例),效果如下图所示。
在这里插入图片描述
可以看到,元器件位号会跟随原理图自动变化,原本的布局布线包括丝印等与mdd保持一致。mdd有个外框框住,表示这是一个group,find中选中groups,可以整体移动,选中symbles可以移动单个器件,很灵活。

4.Module原理说明

为什么module中的器件原理图和PCB能对应上?一是mdd文件的名字,是dsn名_原理图页名,这让软件可以找到那个原理图;二是复用的原理图执行了pcb editor reuse,添加了REUSE_ID这个属性,软件能根据这个属性准备对应每个器件,所以原理图中的位号变了,mdd布局还是不会乱,可以知道mdd并不像brd一样依赖位号确定元器件,而是利用REUSE_ID。

5.更新Module原理图与PCB

1)复用的原理图内部修改后,只要port 口没有变,则使用它的原理图中的BLOCK不用手动同步,因为BLOCK是引用,同步是自动的,实时的。而如果port口变化了,则需要右击BLOCK -> Synchronize Up;

在这里插入图片描述
2)做好的模块文件用在 pcb 中后,若需要修改这部分文件,可以打开对应的mdd文件,然后在原 pcb 中使用 update symbol 功能,选相应的 moddle进行更新。当然,你也可以直接修改复用PCB模块的单个器件,不过这时你如果update modules,布局又会回到mdd的布局了。

在这里插入图片描述

个人操作验证

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值