當(dāng)進(jìn)行大型工程設(shè)計(jì)時(shí),只靠一張圖紙是無法實(shí)現(xiàn)的,這時(shí)需要用多個(gè)圖紙進(jìn)行開發(fā)設(shè)計(jì)。一個(gè)多圖紙?jiān)O(shè)計(jì)工程是由邏輯塊組成的多級(jí)結(jié)構(gòu),其中的每個(gè)塊可以是原理圖或是 HDL文件,在這結(jié)構(gòu)的最頂端是一個(gè)主原理圖圖紙——工程頂層圖紙。
多圖紙結(jié)構(gòu)一般是通過圖表符(sheet symbol)形成,一個(gè)圖表符對(duì)應(yīng)一個(gè)子圖紙;在主原理圖圖紙放置圖標(biāo)符,通過圖表符與子圖紙進(jìn)行連接,而子圖紙也可以通過圖表符與更底層的圖紙連接。通過點(diǎn)擊“Place》Sheet Symbol”或
圖1
我們可以在“Designer”區(qū)域輸入標(biāo)識(shí)符,若標(biāo)識(shí)符包含有Repeat關(guān)鍵字的語(yǔ)句,還能實(shí)現(xiàn)多通道功能(下文有詳解)。而在“File Name”輸入想要調(diào)用的子圖紙文件名稱(不分大小寫),則可實(shí)現(xiàn)對(duì)子圖紙的調(diào)用。還有其他方法能生成圖表符,具體方法見下文。
當(dāng)多圖紙工程編譯好后,各個(gè)圖紙間的邏輯關(guān)系被識(shí)別并建立一個(gè)樹形結(jié)構(gòu),表示各個(gè)圖紙的邏輯關(guān)系,如圖 2:
圖2
層次結(jié)構(gòu)包含如下三種:
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 ”等命令創(chuàng)建子圖紙、底層VHDL文件和底層Verilog文件。
2) 自下而上:在主原理圖圖紙下,通過“Design》Create symbol from sheet or HDL ”和“Design》Create symbol from sheet or HDL ”、“Design》Create Component from sheet ”等命令創(chuàng)建圖表符和頂層元件。
3) 混合原理圖/HDL文件層次:這種情況下,圖表符通過不同的文件名稱來調(diào)用HDL文件或原理圖
當(dāng)子圖紙中的端口與圖紙入口不匹配(包括名字和IO類型)時(shí),可以通過“Design》Synchronize Sheet Entries and Ports”來同步,如圖 3:
圖3
選中不同步的端口,若想改變子圖紙的端口,使其與圖表符匹配,則選中間的
若想重命名一個(gè)圖表符對(duì)應(yīng)的子圖紙,一般的思路是先改子圖紙的名稱,然后再改圖表符的“file name”,最后編譯工程?,F(xiàn)在AD提供了重命名子圖紙的功能“Design》Rename Child Sheet”,出現(xiàn)浮動(dòng)的十字光標(biāo),點(diǎn)中想重命名的圖表符,出現(xiàn)如圖 4對(duì)話框:
圖4
我們可以根據(jù)自己的需要設(shè)置相關(guān)的選項(xiàng)。
在設(shè)計(jì)過程可能會(huì)重復(fù)使用某個(gè)圖紙,此時(shí)我們可通過兩個(gè)方法實(shí)現(xiàn):1)通過多圖表符重復(fù)調(diào)用同一個(gè)子圖紙;2)通過具有Repeat關(guān)鍵字的圖表符。這里具體介紹下第二種方法:在圖表符的“Designator”區(qū)域輸入包含Repeat的語(yǔ)句,其格式如下:
Repeat(SheetSymbolDesignator, FirstInstance, LastInstance)
其中,SheetSymbolDesignator是圖表符的本名,FirstInstance和LastInstance一起定義了通道數(shù);注意FirstInstance參數(shù)必須等于或大于1,如圖 5所示,表示了2個(gè)filter通道。
圖5
在圖表符的“File Name”區(qū)域輸入多個(gè)子圖紙文件的名稱,并用分號(hào)隔開,則能實(shí)現(xiàn)單個(gè)圖表符調(diào)用多個(gè)子圖紙的目的;而這些子圖紙間的相互連接可通過跨圖紙接口(off-sheet connectors)實(shí)現(xiàn)。
由于我們使用到多圖紙功能,這時(shí)需要考慮圖紙間的線路連接。在單個(gè)圖紙中,我們可以通過簡(jiǎn)單的網(wǎng)絡(luò)標(biāo)簽“Net Label”來實(shí)現(xiàn)網(wǎng)絡(luò)的連接;而在多圖紙中,網(wǎng)絡(luò)連接涉及到的網(wǎng)絡(luò)標(biāo)識(shí)符比較多,下面具體介紹:
最基本的網(wǎng)絡(luò)標(biāo)識(shí)符是網(wǎng)絡(luò)標(biāo)簽(net labels)。在單個(gè)圖紙內(nèi),它們可以代替導(dǎo)線來表示元件間的連接,在多圖紙?jiān)O(shè)計(jì)中,其功能未變,只能表示單圖紙內(nèi)部的連接。
端口(Port)既可以表示單圖紙內(nèi)部的網(wǎng)絡(luò)連接(與net labels相似),也可以表示圖紙間的網(wǎng)絡(luò)連接。端口(Port)在多圖紙?jiān)O(shè)計(jì)中,可用于縱向連接和橫向連接。橫向連接時(shí),可以忽略多圖紙結(jié)構(gòu)而把工程中所有相同名字的端口連接成同一個(gè)網(wǎng)絡(luò)。縱向連接時(shí),需和圖表符、圖紙入口相聯(lián)系——將相應(yīng)的圖紙入口放到圖紙的圖表符內(nèi),這時(shí)端口就能將子圖紙和父系圖紙連接起來。
跨圖紙接口(Off Sheet connectors)提供了介于端口和網(wǎng)絡(luò)標(biāo)號(hào)的作用。當(dāng)一個(gè)圖表符調(diào)用多個(gè)子圖紙時(shí),這些子圖紙間的網(wǎng)絡(luò)連接就可以跨圖紙接口實(shí)現(xiàn)——在這些子圖紙中放置跨圖紙接口,當(dāng)接口匹配時(shí)就能連接起來。注意,跨圖紙接口的連接作用只限于這一組子圖紙間的連接,一般情況下不要用于其他圖紙結(jié)構(gòu)的連接。
電源端口(也叫電源對(duì)象)完全忽視工程結(jié)構(gòu),并與所有的參與鏈接的圖紙上匹配的電源端口連接起來。
下面簡(jiǎn)單列舉各類網(wǎng)絡(luò)標(biāo)識(shí)符的區(qū)別:
網(wǎng)絡(luò)標(biāo)號(hào) Net label | 一般只在單圖紙內(nèi)部連接網(wǎng)絡(luò);當(dāng)選擇Flat范圍或Net范圍設(shè)置為Global時(shí),會(huì)水平連接到全部的匹配網(wǎng)絡(luò)符號(hào) | |
端口 Port | 如果它和父系圖表符的某圖紙入口匹配,或選擇了層次結(jié)構(gòu)、自動(dòng)范圍,則起垂直連接作用。當(dāng)選擇了Flat或Ports Global范圍時(shí),會(huì)水平連接到全部匹配的端口 | |
圖紙入口 Sheet Entry | 總是垂直連接到圖表符所調(diào)用的下層圖紙端口 | |
跨圖紙接口 Off-sheet connector | 水平連接到匹配的跨圖紙接口,但只限于被單個(gè)的、子圖紙分割的圖表符調(diào)用的圖紙組之間 | |
電源端口 Power Port | 全局連接到工程中所有的匹配電源端口 |
注:這里涉及到工程里面關(guān)于端口范圍的設(shè)置,打開設(shè)置對(duì)話框(Project->Project Option,點(diǎn)擊Option標(biāo)簽),在“Net Identifier Scope”區(qū)域可以選擇網(wǎng)絡(luò)標(biāo)識(shí)符的作用范圍,一般情況都是選擇“Automatic”模式即可,AD會(huì)自動(dòng)判斷。其他的還有“Flat”,“Hierarchical”,“Global”模式,在特殊情況下可根據(jù)需要選擇。
如果要使網(wǎng)絡(luò)標(biāo)識(shí)符表示反相模式,只需在命名網(wǎng)絡(luò)名稱的每個(gè)字符后面加一個(gè)反斜杠(如E/N/A/B/L/E);或是在Preferences對(duì)話框中的Schematic-Graphical Editing頁(yè)面內(nèi),選中“Single‘/’Negation”復(fù)選框,之后在網(wǎng)絡(luò)標(biāo)識(shí)符名稱之前加個(gè)反斜杠即可(如:/ENABLE)。
例1 :分層次設(shè)計(jì)
圖6
如圖 6,這個(gè)原理圖工程被自動(dòng)識(shí)別為分層次作用域,因?yàn)槠涓赶祱D紙中的圖表符帶有圖紙入口。這時(shí)端口HP-L和HP-R通過圖紙入口連接到一起;而兩個(gè)子圖紙中的C1和C2則不能跨越圖紙連接。
例2:全局端口
圖7
如圖 7,此工程只有端口,不存在圖紙入口,因此作用域被自動(dòng)設(shè)置成全局端口。工程變成平行結(jié)構(gòu),此時(shí)工程上的所有匹配端口都會(huì)連接在一起,但網(wǎng)絡(luò)標(biāo)簽仍不能跨圖紙連接。這時(shí)即使頂層圖紙移除也不會(huì)影響工程。
例3:全局網(wǎng)絡(luò)標(biāo)號(hào)
圖8
如圖 8,此工程沒有端口和圖紙入口,使得網(wǎng)絡(luò)標(biāo)簽?zāi)軌蚩缭綀D紙,在匹配的情況下進(jìn)行全局連接;此時(shí)移除頂層圖紙工程仍能正常編譯。
例4:全局網(wǎng)絡(luò)標(biāo)號(hào)和端口
圖9
選擇Project->Project Option,點(diǎn)擊Option標(biāo)簽,在“Net Identifier Scope”區(qū)域可以選擇網(wǎng)絡(luò)標(biāo)識(shí)符范圍模式:Global(Netlabels and ports global);如圖 9示,這時(shí)網(wǎng)絡(luò)標(biāo)簽與端口為全局,它們都以水平方式,在全局范圍內(nèi)連接到匹配對(duì)象。
例5:跨圖紙接口
圖10
如圖 10示,此工程有四個(gè)子圖紙,圖表符“Group A”調(diào)用了兩個(gè)子圖紙“A1.schdoc”和“A2.schdoc”,“Group B”調(diào)用了子圖紙“B1.schdoc”和“B2.schdoc”。此時(shí)圖紙“A1.schdoc”內(nèi)部的C1、C2能夠和圖紙“A2.schdoc”中的C1、C2相連接,同理圖紙“B1.schdoc”和“B2.schdoc”也能夠?qū)崿F(xiàn)網(wǎng)絡(luò)的連接,但這兩個(gè)組間不會(huì)進(jìn)行網(wǎng)絡(luò)連接(如圖紙A1.schdoc的C1不會(huì)連接到B1.schdoc的C1)。這就是跨圖紙接口的作用,能增大圖表符的圖紙范圍。
現(xiàn)在要設(shè)計(jì)一個(gè)2.0低音功放,此時(shí)假設(shè)有一個(gè)現(xiàn)成的有源低通音頻濾波器原理圖(filter.SchDoc),一個(gè)雙通道功率放大器原理圖(Amplifier.SchDoc);我們可以直接使用這兩個(gè)原理圖來實(shí)現(xiàn)此設(shè)計(jì)功能:創(chuàng)建一個(gè)PCB工程和原理圖,將現(xiàn)成的兩個(gè)文件添加到此工程中,然后在新建的原理圖中創(chuàng)建兩個(gè)圖表符,其中一個(gè)圖表符調(diào)用雙通道功放,另一個(gè)通過多通道功能調(diào)用兩次濾波器,之后就可以進(jìn)行連線,最后編譯工程。
注:filter.SchDoc原理圖中要用到的信號(hào)有輸入(IN),輸出(OUT);Amplifier.SchDoc原理圖中要用到的信號(hào)有左輸入(IN_L),右輸入(IN_R),左輸出(OUT_L),右輸出(OUT_R)。設(shè)計(jì)前可先創(chuàng)建好工程的文件夾,將這兩個(gè)原理圖文件復(fù)制到工程文件夾中。
1) 創(chuàng)建PCB工程,給新工程添加新原理圖toplevel.SchDoc,并將兩個(gè)現(xiàn)成的原理圖添加到工程中,之后save all。
2) 打開原理圖filter.SchDoc,添加兩個(gè)端口IN和OUT(分別與信號(hào)IN和OUT相連接);打開原理圖Amplifier.SchDoc,添加四個(gè)端口IN_L, IN_R, OUT_L和OUT_R(分別與信號(hào)IN_L, IN_R, OUT_L和OUT_R相連接)。如圖 11示:
圖11
3) 打開原理圖toplevel.SchDoc,點(diǎn)擊“Design->Creat Sheet Symbol From Sheet or HDL file”,在彈出的窗口中選擇“Amplifier.SchDoc”文件,然后點(diǎn)擊OK。這時(shí)軟件會(huì)生成一個(gè)帶有四個(gè)圖紙入口的圖表符,將其放置在原理圖中,重命名“Designator”為“Am”,并排列好相應(yīng)的圖紙入口,如圖 12。
圖12
4) 同理,點(diǎn)擊Design->Creat Sheet Symbol From Sheet or HDL file”,在彈出的窗口中選擇“filter.SchDoc”文件;之后重命名“Designator”為“repeat(FI,1,2)”,表示調(diào)用兩次filter.SchDoc圖紙。注意,所有子圖紙的公共網(wǎng)絡(luò)是按照正常的方式連接的,此時(shí)圖表符的圖紙入口名稱不用修改;而子圖紙都有的但又是各自獨(dú)立的網(wǎng)絡(luò)則是以總線方式引出,總線中的每一條線連接一個(gè)子圖紙,此時(shí)圖表符的圖紙入口需修改為Repeat(端口名),如本例中的輸入需改為Repeat(IN)。如下圖示。網(wǎng)絡(luò)是以在導(dǎo)線上放置總線名的方式(而不是以總線范圍的方式)來表示。當(dāng)設(shè)計(jì)被編譯時(shí),總線就會(huì)被分解為每個(gè)通道帶有一個(gè)標(biāo)識(shí)的獨(dú)立的網(wǎng)絡(luò)(從IN1到IN2),IN1連接到FI_1子圖紙,IN2連接到FI_2子圖紙。如圖 13示。
圖13
5) 放置其他元件,連接好線路,如圖 14,然后編譯工程。
圖14
編譯好之后,可以看左邊的面板,發(fā)現(xiàn)工程變長(zhǎng)樹形結(jié)構(gòu),如圖 15。
圖15
多通道設(shè)計(jì)多次調(diào)用同一個(gè)子圖紙,在編譯之后,會(huì)為各個(gè)通道分配好標(biāo)識(shí)符,進(jìn)而映射到PCB文件中;點(diǎn)擊“Project->Project Option”,在打開的對(duì)話框中單擊“Multi-Channel”標(biāo)簽,如圖 16示,在這里可以設(shè)置到通道(ROOM)和元件的命名方式。
圖16
(1) 通道(ROOM)的命名
在Room Naming區(qū)域,選擇Room Naming Style 下拉列表的選項(xiàng)設(shè)置ROOM的命名方式。命名方式包括了2種平行化和3種層次化類型,可根據(jù)具體情況選擇;在有多級(jí)room的情況下,其命名結(jié)構(gòu)為(通道前綴+通道索引)。我們可以隨便選擇一種命名方式,其命名情況如上圖;該圖片給出了一個(gè)2*2的通道設(shè)計(jì)例子,共有6個(gè)通道,每個(gè)Bank一個(gè),4個(gè)較低層次通道各一個(gè)。且層次化命名類型還支持通過“Level Separator for Paths”來修改分割路徑信息的符號(hào)。
(2) 元件命名
元件命名一般包括通道名稱。元件命名類型有8種,在“Designator Format”下拉列表可以選擇具體的命名方式。用戶還可以直接在對(duì)話框里輸入自定義的元件標(biāo)識(shí)符命名方式,其中可能會(huì)用到一些關(guān)鍵詞。如表 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
工程被編譯后,我們可以在被多次調(diào)用的子圖紙界面下方看到多了一些標(biāo)簽,如圖 17示。我們可以單擊相應(yīng)的標(biāo)簽查看里面元件標(biāo)識(shí)符的分配情況。之后給工程添加一個(gè)PCB文件,通過“Design->Update PCB”將元件導(dǎo)入到PCB文件中;轉(zhuǎn)換過程會(huì)自動(dòng)為每個(gè)子圖紙建立一組元件中,每組元件有一個(gè)room并將元件都置于room之中。對(duì)一個(gè)通道布局布線后,可通過“Design->Rooms->Copy Room Formats”來復(fù)制該通道的布局與走線到另一通道中。
圖17
單擊“Project->View Channel”即可調(diào)出“Project Components”對(duì)話框,其中顯示了每個(gè)原理圖中元件標(biāo)識(shí)符的分配情況,如圖 18示。之后點(diǎn)擊“Component Report”,彈出“Report Preview”窗口,此時(shí)可以點(diǎn)擊“Export”按鈕導(dǎo)出Excel格式表格(.xls文件),或是點(diǎn)擊“Print”按鈕進(jìn)行打印。
圖18
AD提供的Signal Harness功能,支持將多個(gè)導(dǎo)線、總線包裹在一起進(jìn)行連接。在導(dǎo)線、總線連接較多且復(fù)雜的原理圖中,我們可以使用Signal Harness將這些線路匯集在一起,結(jié)合各種網(wǎng)絡(luò)標(biāo)識(shí)符進(jìn)行圖紙內(nèi)或跨圖紙連接。一般Signal Harness系統(tǒng)包含有四塊:Signal Harness(連線
圖 19
下面簡(jiǎn)單介紹下Signal Harness的使用:
點(diǎn)擊“Place->Harness-> Harness Connector”,在放置前按“TAB”鍵,在“Harness Type”輸入連接器的類型(本例使用“TEST”),之后點(diǎn)擊OK放置。
點(diǎn)擊“Place->Harness-> Harness Entry”,放置接口,并根據(jù)實(shí)際重命名。
放置端口“AUDIO”和其他的網(wǎng)絡(luò)標(biāo)簽,之后進(jìn)行連線;其中AUDIO需用Signal Harness連接。
編譯工程,在左邊工程面板的工程目錄下的“Setting->Harness Definition Files”可以看到(*.Harness)的文件,雙擊打開,可以看到里面就一個(gè)語(yǔ)句“TEST=WCLK,BCLK,DOUT,DIN,MCLK”,表示TEST由多個(gè)連接線組成。
之后可以在圖紙內(nèi)其他需要連接的地方再建一個(gè)Signal Harness,通過端口連接起來;如果需要連接的電路在其他圖紙內(nèi),同樣可以通過端口(port)將電路連接起來。
聯(lián)系客服