【PCB】【AD使用】多图纸设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【PCB】【AD使⽤】多图纸设计
图纸结构
-平⾏结构
-层次结构
1.1 背景
初学绘制原理图⼤多数⼈使⽤的是平⾏式原理图结构,⼀张图纸不够,多张图纸绘制,只是使⽤⽹络标号进⾏连接。
但⼯程复杂了多张图纸这样管理很⿇烦,如果采⽤层次原理图就迎刃⽽解了。
层次原理图就是把⼀个系统分成多个模块,然后每个模块也可以细分,最终将各个模块分配到各张图纸上,图纸直接采⽤端⼝进⾏连接。
这种结构需要⼀个主原理图图纸——⼯程顶层图纸。
多图纸结构⼀般是通过图表符(sheet symbol)形成,⼀个图表符对应⼀个⼦图纸;
在上层原理图图纸放置图表符,通过图表符与⼦图纸进⾏连接,⽽⼦图纸也可以通过图表符与更底层的图纸连接。
通过点击“Place》Sheet Symbol”或图标来放置图标符号。
如图 1
图1
“Designer”是标识符,若标识符包含有Repeat关键字的语句,还能实现多通道功能(下⽂有详解)。
“File Name”输⼊想要调⽤的⼦图纸⽂件名称(不分⼤⼩写),则可实现对⼦图纸的调⽤。
还有其他⽅法能⽣成图表符,具体⽅法见下⽂。
当多图纸⼯程编译好后,各个图纸间的逻辑关系被识别并建⽴⼀个树形结构,表⽰各个图纸的层次关系,如图 2:
图2
1.2 层次原理图绘制⽅式
层次结构包含如下三种:
1) ⾃上⽽下:在主原理图图纸下,通过“Design》Create sheet from symbol”、“Design》Create HDL file from symbol》Create VHDL file from symbol”与“Design》Create HDL file from symbol》Create Verilog file from symbol ”等命令创建⼦图纸、底层VHDL⽂件和底层Verilog⽂件。
2) ⾃下⽽上:在主原理图图纸下,通过“Design》Create symbol from sheet or HDL ”和“Design》Create symbol from sheet or HDL ”、“Design》Create Component from sheet ”等命令创建图表符和顶层元件。
3) 混合原理图/HDL⽂件层次:这种情况下,图表符通过不同的⽂件名称来调⽤HDL⽂件或原理图
1.3层次结构维护
1.3.1端⼝与图纸⼊⼝的同步:
当⼦图纸中的端⼝与图纸⼊⼝不匹配(包括名字和IO类型)时,可以通过“Design》Synchronize Sheet Entries and Ports”来同步,如图 3:
图3
选中不同步的端⼝,若想改变⼦图纸的端⼝,使其与图表符匹配,则选中间的图标(第⼀个);相反就选第⼆个。
⼀般⾃顶向下或⾃底向上绘制的时候先绘制好端⼝,⽣成的时候会⾃动⽣成图纸⼊⼝或端⼝
1.3.2 重命名图表符对应的⼦图纸
若想重命名⼀个图表符对应的⼦图纸,⼀般的思路是先改⼦图纸的名称,然后再改图表符的“file name”,最后编译⼯程。
现在AD提供了重命名⼦图纸的功能“Design》Rename Child Sheet”,出现浮动的⼗字光标,点中想重命名的图表符,出现如图 4对话框:
图4
我们可以根据⾃⼰的需要设置相关的选项。
1.4多通道设计
在设计过程可能会重复使⽤某个图纸,此时我们可通过两个⽅法实现:
1)通过多图表符重复调⽤同⼀个⼦图纸;
2)通过具有Repeat关键字的图表符。
这⾥具体介绍下第⼆种⽅法:
在图表符的“Designator”区域输⼊包含Repeat的语句,其格式如下:
Repeat(SheetSymbolDesignator, FirstInstance, LastInstance)
其中,SheetSymbolDesignator是图表符的本名,FirstInstance和LastInstance⼀起定义了通道数;
注意FirstInstance参数必须等于或⼤于1,如图 5所⽰,表⽰了2个filter通道。
图5
1.5 单个图表符调⽤多个⼦图纸
在图表符的“File Name”区域输⼊多个⼦图纸⽂件的名称,并⽤分号隔开,则能实现单个图表符调⽤多个⼦图纸的⽬的;
⽽这些⼦图纸间的相互连接可通过跨图纸接⼝(off-sheet connectors)实现。
⼆、⽹络连通性
2.1 各类⽹络标识符
由于我们使⽤到多图纸功能,这时需要考虑图纸间的线路连接。
在单个图纸中,我们可以通过简单的⽹络标号“Net Label”来实现⽹络的连接;
⽽在多图纸中,⽹络连接涉及到的⽹络标识符⽐较多,下⾯具体介绍:
最基本的⽹络标识符是⽹络标签(net labels)。
在单个图纸内,它们可以代替导线来表⽰元件间的连接,在多图纸设计中,其功能未变,只能表⽰单图纸内部的连接。
端⼝(Port)既可以表⽰单图纸内部的⽹络连接(与net labels相似),也可以表⽰图纸间的⽹络连接。
端⼝(Port)在多图纸设计中,可⽤于纵向连接和横向连接。
横向连接时,可以忽略多图纸结构⽽把⼯程中所有相同名字的端⼝连接成同⼀个⽹络。
纵向连接时,需和图表符、图纸⼊⼝相联系——将相应的图纸⼊⼝放到图纸的图表符内,这时端⼝就能将⼦图纸和⽗系图纸连接起来。
跨图纸接⼝(Off Sheet connectors)提供了介于端⼝和⽹络标号的作⽤。
当⼀个图表符调⽤多个⼦图纸时,这些⼦图纸间的⽹络连接就可以跨图纸接⼝实现——在这些⼦图纸中放置跨图纸接⼝,当接⼝匹配时就能连接起来。
注意,跨图纸接⼝的连接作⽤只限于这⼀组⼦图纸间的连接,⼀般情况下不要⽤于其他图纸结构的连接。
电源端⼝(也叫电源对象)完全忽视⼯程结构,并与所有的参与链接的图纸上匹配的电源端⼝连接起来。
下⾯简单列举各类⽹络标识符的区别:
⽹络标号Net label ⼀般只在单图纸内部连接⽹络;当选择Flat范围或Net范围设置为Global时,会⽔平连接到全部的匹配⽹络符号
端⼝Port 如果它和⽗系图表符的某图纸⼊⼝匹配,或选择了层次结构、⾃动范围,则起垂直连接作⽤。
当选择了Flat或Ports Global范围时,会⽔平连接到全部匹配的端⼝
图纸⼊⼝总是垂直连接到图表符所调⽤的下层图纸端⼝
图纸⼊⼝
Sheet Entry
总是垂直连接到图表符所调⽤的下层图纸端⼝
跨图纸接⼝
Off-sheet
connector
电源端⼝
Power Port
全局连接到⼯程中所有的匹配电源端⼝
注:这⾥涉及到⼯程⾥⾯关于端⼝范围的设置,打开设置对话框(Project->Project Option,点击Option标签),在“Net Identifier Scope”区域可以选择⽹络标识符的作⽤范围,⼀般情况都是选择“Automatic”模式即可,
AD会⾃动判断。
其他的还有“Flat”,“Hierarchical”,“Global”模式,在特殊情况下可根据需要选择。
如果要使⽹络标识符表⽰反相模式,只需在命名⽹络名称的每个字符后⾯加⼀个反斜杠(如E/N/A/B/L/E);
或是在Preferences对话框中的Schematic-Graphical Editing页⾯内,选中“Single‘/’Negation”复选框,
之后在⽹络标识符名称之前加个反斜杠即可(如:/ENABLE)。
2.2 ⽹络连通性实例
例1 :分层次设计
图6
如图 6,这个原理图⼯程被⾃动识别为分层次作⽤域,因为其⽗系图纸中的图表符带有图纸⼊⼝。
这时端⼝HP-L和HP-R通过图纸⼊⼝连接到⼀起;
⽽两个⼦图纸中的C1和C2则不能跨越图纸连接。
例2:全局端⼝
图7
如图 7,此⼯程只有端⼝,不存在图纸⼊⼝,因此作⽤域被⾃动设置成全局端⼝。
⼯程变成平⾏结构,此时⼯程上的所有匹配端⼝都会连接在⼀起,但⽹络标签仍不能跨图纸连接。
这时即使顶层图纸移除也不会影响⼯程。
例3:全局⽹络标号
图8
如图 8,此⼯程没有端⼝和图纸⼊⼝,使得⽹络标签能够跨越图纸,在匹配的情况下进⾏全局连接;此时移除顶层图纸⼯程仍能正常编译。
例4:全局⽹络标号和端⼝
图9
选择Project->Project Option,点击Option标签,在“Net Identifier Scope”区域
可以选择⽹络标识符范围模式:Global(Netlabels and ports global);
如图 9⽰,这时⽹络标签与端⼝为全局,它们都以⽔平⽅式,在全局范围内连接到匹配对象。
例5:跨图纸接⼝
图10
如图 10⽰,此⼯程有四个⼦图纸,图表符“Group A”调⽤了
两个⼦图纸“A1.schdoc”和“A2.schdoc”,“Group B”调⽤了⼦图纸“B1.schdoc”和“B2.schdoc”。
此时图纸“A1.schdoc”内部的C1、C2能够和图纸“A2.schdoc”中的C1、C2相连接,
同理图纸“B1.schdoc”和“B2.schdoc”也能够实现⽹络的连接,但这两个组间不会进⾏⽹络连接(如图纸A1.schdoc的C1不会连接到B1.schdoc的C1)。
这就是跨图纸接⼝的作⽤,能增⼤图表符的图纸范围。
三、设计实例
3.1 设计思路
现在要设计⼀个2.0低⾳功放,此时假设有⼀个现成的有源低通⾳频滤波器原理图(filter.SchDoc),
⼀个双通道功率放⼤器原理图(Amplifier.SchDoc);
我们可以直接使⽤这两个原理图来实现此设计功能:创建⼀个PCB⼯程和原理图,将现成的两个⽂件添加到此⼯程中,
然后在新建的原理图中创建两个图表符,其中⼀个图表符调⽤双通道功放,
另⼀个通过多通道功能调⽤两次滤波器,之后就可以进⾏连线,最后编译⼯程。
注:filter.SchDoc原理图中要⽤到的信号有输⼊(IN),输出(OUT);
Amplifier.SchDoc原理图中要⽤到的信号有左输⼊(IN_L),右输⼊(IN_R),左输出(OUT_L),右输出(OUT_R)。
设计前可先创建好⼯程的⽂件夹,将这两个原理图⽂件复制到⼯程⽂件夹中。
3.2具体步骤
1) 创建PCB⼯程,给新⼯程添加新原理图toplevel.SchDoc,并将两个现成的原理图添加到⼯程中,之后save all。
2) 打开原理图filter.SchDoc,添加两个端⼝IN和OUT(分别与信号IN和OUT相连接);打开原理图Amplifier.SchDoc,添加四个端⼝IN_L, IN_R, OUT_L和OUT_R(分别与信号IN_L, IN_R, OUT_L和OUT_R相连接)。
如图 11⽰:
图11
3) 打开原理图toplevel.SchDoc,点击“Design->Creat Sheet Symbol From Sheet or HDL file”,在弹出的窗⼝中选
择“Amplifier.SchDoc”⽂件,然后点击OK。
这时软件会⽣成⼀个带有四个图纸⼊⼝的图表符,将其放置在原理图中,重命
名“Designator”为“Am”,并排列好相应的图纸⼊⼝,如图 12。
图12
4) 同理,点击Design->Creat Sheet Symbol From Sheet or HDL file”,在弹出的窗⼝中选择“filter.SchDoc”⽂件;之后重命
名“Designator”为“repeat(FI,1,2)”,表⽰调⽤两次filter.SchDoc图纸。
注意,所有⼦图纸的公共⽹络是按照正常的⽅式连接的,此时图表符的图纸⼊⼝名称不⽤修改;⽽⼦图纸都有的但⼜是各⾃独⽴的⽹络则是以总线⽅式引出,总线中的每⼀条线连接⼀个⼦图纸,此时图表符的图纸⼊⼝需修改为Repeat(端⼝名),如本例中的输⼊需改为Repeat(IN)。
如下图⽰。
⽹络是以在导线上放置总线名的⽅式(⽽不是以总线范围的⽅式)来表⽰。
当设计被编译时,总线就会被分解为每个通道带有⼀个标识的独⽴的⽹络(从IN1到IN2),IN1连接到FI_1⼦图纸,IN2连接到FI_2⼦图纸。
如图 13⽰。
图13 5) 放置其他元件,连接好线路,如图 14,然后编译⼯程。
图14编译好之后,可以看左边的⾯板,发现⼯程变长树形结构,如图 15。
图15 3.3 关于多通道设计的⼏点说明
3.3.1 设置ROOM和标识符格式
多通道设计多次调⽤同⼀个⼦图纸,在编译之后,会为各个通道分配好标识符,进⽽映射到PCB⽂件中;点击“Project->Project Option”,在打开的对话框中单击“Multi-Channel”标签,如图 16⽰,在这⾥可以设置到通道(ROOM)和元件的命名⽅式。
图16
(1)通道(ROOM)的命名
在Room Naming区域,选择Room Naming Style 下拉列表的选项设置ROOM的命名⽅式。
命名⽅式包括了2种平⾏化和3种层次化类型,可根据具体情况选择;在有多级room的情况下,其命名结构为(通道前缀+通道索引)。
我们可以随便选择⼀种命名⽅式,其命名情况如上图;该图⽚给出了⼀个2*2的通道设计例⼦,共有6个通道,每个Bank⼀个,4个较低层次通道各⼀个。
且层次化命名类型还⽀持通过“Level Separator for Paths”来修改分割路径信息的符号。
(2)元件命名
元件命名⼀般包括通道名称。
元件命名类型有8种,在“Designator Format”下拉列表可以选择具体的命名⽅式。
⽤户还可以直接在对话框⾥输⼊⾃定义的元件标识符命名⽅式,其中可能会⽤到⼀些关键词。
如表 1
Keyword Definition
$RoomName name of the associated room, as
determined by the style chosen in the
Room Naming Style field
$Component component logical designator
$ComponentPrefix component logical designator prefix
(e.g. U for U1)
$ComponentIndex component logical designator index
(e.g. 1 for U1)
$ChannelPrefix logical sheet symbol designator
$ChannelIndex channel index
$ChannelAlpha channel index expressed as an alpha
character. This format is only useful if
your design contains less than 26
channels in total, or if you are using a
hierarchical designator format.
表 1
3.3.2 关于PCB
⼯程被编译后,我们可以在被多次调⽤的⼦图纸界⾯下⽅看到多了⼀些标签,如图 17⽰。
我们可以单击相应的标签查看⾥⾯元件标识符的分配情况。
之后给⼯程添加⼀个PCB⽂件,通过“Design->Update PCB”将元件导⼊到PCB⽂件中;
转换过程会⾃动为每个⼦图纸建⽴⼀组元件中,每组元件有⼀个room并将元件都置于room之中。
对⼀个通道布局布线后,可通过“Design->Rooms->Copy Room Formats”来复制该通道的布局与⾛线到另⼀通道中。
图17
3.3.3查看通道标识符分配情况
单击“Project->View Channel”即可调出“Project Components”对话框,其中显⽰了每个原理图中元件标识符的分配情况,如图 18⽰。
之后点击“Component Report”,弹出“Report Preview”窗⼝,此时可以点击“Export”按钮导出Excel格式表格(.xls⽂件),或是点击“Print”按钮进⾏打印。
图18
3.3.4 使⽤Signal Harness使多图纸设计更⽅便。
AD提供的Signal Harness功能,⽀持将多个导线、总线包裹在⼀起进⾏连接。
在导线、总线连接较多且复杂的原理图中,我们可以使⽤Signal Harness将这些线路汇集在⼀起,结合各种⽹络标识符进⾏图纸内或跨图纸连接。
⼀般Signal Harness系统包含有四块:
Signal Harness(连线),
Harness Connector(连接器),
Harness Entry(⼊⼝)和
Harness Definition File(定义⽂件)。
前三者在画原理图时需⽤到,最后的定义⽂件则会⾃动⽣成(前提是使⽤了Harness Connector)。
其原理图如图 19。
图 19
下⾯简单介绍下Signal Harness的使⽤:
点击“Place->Harness-> Harness Connector”,在放置前按“TAB”键,在“Harness Type”输⼊连接器的类型(本例使⽤“TEST”),之后点击OK放置。
点击“Place->Harness-> Harness Entry”,放置接⼝,并根据实际重命名。
放置端⼝“AUDIO”和其他的⽹络标签,之后进⾏连线;其中AUDIO需⽤Signal Harness连接。
编译⼯程,在左边⼯程⾯板的⼯程⽬录下的“Setting->Harness Definition Files”可以看到(*.Harness)的⽂件,
双击打开,可以看到⾥⾯就⼀个语句“TEST=WCLK,BCLK,DOUT,DIN,MCLK”,表⽰TEST由多个连接线组成。
之后可以在图纸内其他需要连接的地⽅再建⼀个Signal Harness,通过端⼝连接起来;如果需要连接的电路在其他图纸内,同样可以通过端⼝(port)将电路连接起来。
四、设备图纸符号(Device Sheet Symbol )。