自己做了实际工程以后发现PCB器件名字后缀太长了,所以文章最后写了一下后缀的调整方法。

本文只是给出方法,原理图都是随意画的。

第一种方法:

1、建立子原理图如下,文件名CANM

ad怎么PCB整体镜像_后缀


2、之后新建一个顶层文件,文件名TOP,之后design—create sheet symbol form sheet or hdl。选择CANM,并放置到TOP中,如下

ad怎么PCB整体镜像_后缀_02


3、由于我们要多次调用CANM

所以使用repeat命令修改如下:需要分开连接的端口也使用repeat

ad怎么PCB整体镜像_ad怎么PCB整体镜像_03


4、之后根据自己的定义,连接外围器件如下:注意每处的标号,并且模块内部的标号一定和子原理图一致。电源和地会自动连接,不用处理.

我们要实现的是CANH三个连到一起,CANL三个连到一起。CAN_TX三个各自连接,CAN_RX三个各自连接。

ad怎么PCB整体镜像_原理图_04


5、导入PCB,得到四个room如下。如果不是这样,请认真检查原理图部分

ad怎么PCB整体镜像_原理图_05


6、把A1部分布局完成如下:

ad怎么PCB整体镜像_原理图_06


7、A2、A3复制A1的布局:操作如下:点击菜单design-rooms-copy room format。之后点击一下布局好的A1模块,再点击A2模块,弹出如下的对话框,可勾选自己想要复制的内容,之后ok,对A3模块重复操作

ad怎么PCB整体镜像_后缀_07


8、操作完成之后得到如下三个布局走线一样的模块

ad怎么PCB整体镜像_文件名_08


9、处理一下顶层的文件的R100-R106的连线

ad怎么PCB整体镜像_后缀_09


10、处理电源、地走线,为了方便看清楚,没有使用敷铜,可以看到三个CANH连接到了一起,三个CNHL也连接到了一起。

CAN_TX、CAN_RX三个则是分别连接,实现了我们想要的效果。

ad怎么PCB整体镜像_原理图_10

第二种方法实现:

1、原理图可以使用层次化设计,设计如下图,随便画的实验的文件名CANM

ad怎么PCB整体镜像_原理图_11


2、顶层文件如下,调用三次CANM模块,分别叫做A,B,C

ad怎么PCB整体镜像_后缀_12


工程如下:

ad怎么PCB整体镜像_原理图_13

3、导入PCB如下图,得到三个模块,三个ROOM如下,rOOM也可以手动添加

ad怎么PCB整体镜像_原理图_14


4、我们首先给A模块布局,走线如下,实验效果!

ad怎么PCB整体镜像_原理图_15

5、复制ROOM:点击菜单design-rooms-copy room format。之后点击一下布局好的A模块,再点击B模块,弹出如下的对话框,可勾选自己想要复制的内容,之后ok,对C模块重复操作

ad怎么PCB整体镜像_ad怎么PCB整体镜像_16

6、得到如下效果,完成

ad怎么PCB整体镜像_原理图_17


7、对于过程中的一个错误:

the source and destination rooms are members of different channel classes

解决办法:

点击design-classes,弹出如下,选择我们的原理图名字,之后把1里边的选中到2就可以了,把C添加到A、B一边就可以了

ad怎么PCB整体镜像_文件名_18

8、如果原理图不是使用的层次化设计,也是可以的,可以在PCB里边手动添加room。 design-rooms-place rectangular room就可以添加。 布局完成的添加一个room,目标器件也添加一个room。

之后点击右下角的PCB-PCB list

ad怎么PCB整体镜像_文件名_19


看看布局完成的器件的channel offset,再看看目标器件的 channel offset,保证对应器件通道数一致就可以了

如下图,布局完成的A和目标C对应器件通道号一致就可以复制ROOM完成了

ad怎么PCB整体镜像_文件名_20

PCB器件名字修改办法。

当然可以使用PCB的直接修改功能,但是这样修改完成以后原理图和PCB名字对不上,后期调试很麻烦,所以这种办法非常不好。

在导入PCB以前,在原理图里边选择project->project options->multichannel, 然后把designator format改成ad怎么PCB整体镜像_文件名_21ChannelAlpha就可以了,这样模块后缀会变成A、B、C……。例如原来U1是U1_A、U1_B,改变以后变成了U1A、U1B。

ad怎么PCB整体镜像_原理图_22

过程中遇到的问题

从其他图复制过来的PCB,offset和当前其余模块会不一样。手动改成一致以后。又出现了报错

ad怎么PCB整体镜像_文件名_23


后来更改了复制设置的一项如下好了,红圈一项如下选择,之后好了

ad怎么PCB整体镜像_后缀_24

新增一个一样的模块,由四个变成5个。结果第五个复制过程中报错,不在一个classes。

design-classes

修改如下design channel classes即可

ad怎么PCB整体镜像_原理图_25