本發(fā)明涉及電子設(shè)計(jì)領(lǐng)域,尤其涉及一種切換顯示pcb圖層的方法及裝置。
背景技術(shù):
目前,我們使用cadenceallegro軟件設(shè)計(jì)pcb圖或查看pcb設(shè)計(jì)圖紙的時(shí)候,如果要顯示我們想要打開的圖層,則需要到color(顏色)配置窗口去逐個(gè)勾選,由于涉及到眾多層面,勾選動(dòng)作很多且很繁瑣、耗時(shí),而這個(gè)操作在軟件使用過(guò)程中使用頻率很高,反復(fù)的操作影響了我們的工作效率。基于以上考慮,我們應(yīng)盡量簡(jiǎn)化工作過(guò)程中影響效率的每一個(gè)環(huán)節(jié)。所以我們需要一種支持快速切換層面顯示的方法。
對(duì)于復(fù)雜的多層pcb設(shè)計(jì)圖紙,如果要逐一顯示每一個(gè)圖層的設(shè)計(jì)情況,需要對(duì)每一個(gè)圖層進(jìn)行手工勾選配置,如果圖層數(shù)很多,還需要對(duì)每一個(gè)圖層進(jìn)行反復(fù)的手工配置操作,這個(gè)過(guò)程中如果配置錯(cuò)誤還需要返回去重復(fù)操作,直至獲得我們需要的配置效果,如圖1所示。這個(gè)過(guò)程對(duì)于設(shè)計(jì)者來(lái)說(shuō)是件頭痛的事情,而且嚴(yán)重影響產(chǎn)品的開發(fā)周期。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種切換顯示pcb圖層的方法及裝置,用以解決現(xiàn)有技術(shù)中手動(dòng)配置pcb圖層顯示的配置信息過(guò)于繁瑣的問(wèn)題。
本發(fā)明方法包括一種切換顯示pcb圖層的方法,該方法包括:
從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù);
根據(jù)所述pcb設(shè)計(jì)圖的配置參數(shù),生成顯示每個(gè)圖層的顯示文件;
根據(jù)用戶輸入的顯示指令,渲染與所述顯示指令對(duì)應(yīng)的顯示文件,其中,所述顯示指令中包含所述顯示文件的索引信息。
基于同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例進(jìn)一步地提供一種切換顯示pcb圖層的裝置,該裝置包括:
確定單元,用于從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù);
生成單元,用于根據(jù)所述pcb設(shè)計(jì)圖的配置參數(shù),生成顯示每個(gè)圖層的顯示文件;
渲染單元,用于根據(jù)用戶輸入的顯示指令,渲染與所述顯示指令對(duì)應(yīng)的顯示文件,其中,所述顯示指令中包含所述顯示文件的索引信息。
本發(fā)明實(shí)施例通過(guò)在基于cadenceallegro的pcb設(shè)計(jì)軟件,使用cadenceskill語(yǔ)言開發(fā)一個(gè)快速切換顯示層面的skill設(shè)計(jì)程式,作為一鍵將所有需要顯示的層面顯示出來(lái)的插件,使原來(lái)繁瑣的勾選顯示變成一鍵完成,也就是說(shuō),我們利用skill的設(shè)計(jì)程式,只需要執(zhí)行一條指令,調(diào)出對(duì)應(yīng)skill設(shè)計(jì)程式,即可任意切換我們自定義好的層面配置效果,在pcb的設(shè)計(jì)過(guò)程或查看pcb設(shè)計(jì)文件時(shí),實(shí)現(xiàn)一鍵快捷切換顯示層面的功能,從而提高了pcb工程師的工作效率,也可以提高其它工程師查看pcb設(shè)計(jì)文件的效率,減少整個(gè)pcb的設(shè)計(jì)時(shí)間。具體地,開發(fā)人員預(yù)先根據(jù)pcb設(shè)計(jì)圖的配置參數(shù)生成腳本文件,并在所述allegro軟件的層面開關(guān)項(xiàng)目visibility中生成供用戶選擇所述顏色文件的菜單,當(dāng)用戶運(yùn)行腳本文件后,就可以自主選擇對(duì)應(yīng)的顏色文件,達(dá)到一鍵顯示目標(biāo)圖層的效果,從而提高工作效率,避免因?qū)訑?shù)多而設(shè)置錯(cuò)誤的問(wèn)題。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)提供的一種查看pcb圖層的方法示意圖;
圖2為本發(fā)明實(shí)施例提供的一種切換顯示pcb圖層的方法流程示意圖;
圖3~圖4為本發(fā)明實(shí)施例提供的一種運(yùn)行腳本文件的指令示意圖;
圖5~圖6為本發(fā)明實(shí)施例提供的一種運(yùn)行腳本文件生成的顯示文件示意圖;
圖7~圖9為本發(fā)明實(shí)施例提供的一種供用戶一鍵查看圖層的窗口示意圖;
圖10為本發(fā)明實(shí)施例提供的一種切換顯示pcb圖層的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前在電子業(yè)界有多款pcb設(shè)計(jì)軟件,allegro軟件作為其中的一種,具有非常豐富而強(qiáng)大的功能。此軟件使用獨(dú)有的數(shù)據(jù)形式存儲(chǔ)設(shè)計(jì)文件,并且每份設(shè)計(jì)文件都有相應(yīng)的獨(dú)立數(shù)據(jù)庫(kù)支撐。數(shù)據(jù)庫(kù)中主要有兩類信息:物理信息和邏輯信息。allegro軟件的各種功能操作,都是對(duì)這個(gè)數(shù)據(jù)庫(kù)的編輯和操作。同樣的情況,如何使用該軟件提供的擴(kuò)展skill接口,對(duì)此數(shù)據(jù)庫(kù)進(jìn)行編輯操作,從而實(shí)現(xiàn)一些程序沒(méi)有提供的功能,提高布局工作的效率是目前急需解決的技術(shù)問(wèn)題。
目前pcb設(shè)計(jì)通常是在多層板上布局,也就是說(shuō),為了增加可以布線的面積,多層板用上了更多單或雙面的布線板。用一塊雙面作內(nèi)層、二塊單面作外層或二塊雙面作內(nèi)層、二塊單面作外層的印刷線路板,通過(guò)定位系統(tǒng)及絕緣粘接材料交替在一起且導(dǎo)電圖像按設(shè)計(jì)要求進(jìn)行互連的印刷線路板就成為四層、六層印刷電路板了,也稱為多層印刷線路板。板子的層數(shù)就代表了有幾層獨(dú)立的布線層,通常層數(shù)都是偶數(shù),并且包含最外側(cè)的兩層。在每層電路板上會(huì)部署各種管腳(pin)、pcb孔(via)、導(dǎo)線(etch)、規(guī)則報(bào)錯(cuò)(drc)等元件信息。其中,pcb孔包括導(dǎo)通孔、盲孔、埋孔、過(guò)孔和元件孔。其中:導(dǎo)通孔(via)是一種用于內(nèi)層連接的金屬化孔,并不用于插入元件引線或其它增強(qiáng)材料。盲孔(bindvia)是一種從印刷板內(nèi)延展到一個(gè)表層的導(dǎo)通孔。埋孔(buriedvia)是一種未延伸到印刷板表面的一種導(dǎo)通孔。過(guò)孔(throughvia)是一種從印刷板的一個(gè)表層延展到另一個(gè)表層的導(dǎo)通孔。元件孔(componenthole)是一種用于元件封子固定于印刷板及導(dǎo)電圖形成電氣連接的孔。
參見圖2所示,本發(fā)明實(shí)施例提供一種切換顯示pcb圖層的方法流程示意圖,具體地實(shí)現(xiàn)方法包括:
步驟s101,從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù)。
步驟s102,根據(jù)所述pcb設(shè)計(jì)圖的配置參數(shù),生成顯示每個(gè)圖層的顯示文件。
步驟s103,根據(jù)用戶輸入的顯示指令,渲染與所述顯示指令對(duì)應(yīng)的顯示文件,其中,所述顯示指令中包含所述顯示文件的索引信息。
上述方法的執(zhí)行主體是本發(fā)明實(shí)施例提供的一種軟件程序,換句話說(shuō),本發(fā)明實(shí)施例使用cadenceskill語(yǔ)言開發(fā)了一個(gè)快速切換層面顯示的skill設(shè)計(jì)程式。使原來(lái)繁瑣圖層顯示配置操作變得簡(jiǎn)單、易用,一鍵切換替換原來(lái)繁瑣的系列操作。在上述步驟中,pcb設(shè)計(jì)圖的配置參數(shù)通常指的是每層電路板上部署的各種管腳(pin)、pcb孔(via)、導(dǎo)線(etch)、規(guī)則報(bào)錯(cuò)(drc)等元件和元件的顏色信息。
利用此skill程式,只需在cadenceallegropcb設(shè)計(jì)軟件里執(zhí)行對(duì)應(yīng)指令,即可快速、準(zhǔn)確配置好所需要顯示的層面,實(shí)現(xiàn)一鍵切換顯示圖層的功能,從而提高工程師的工作效率,也可以提高其它工程師查看pcb設(shè)計(jì)文件的效率,減少整個(gè)pcb的設(shè)計(jì)時(shí)間,其中skill設(shè)計(jì)程式的具體內(nèi)容如下文代碼,該skill設(shè)計(jì)程式作為一個(gè)腳本文件集成在allegropcb設(shè)計(jì)軟件中。
進(jìn)一步地,本發(fā)明實(shí)施例將上述skill設(shè)計(jì)程式保存成一個(gè).il文件,如:my_favorite_layer.il,存儲(chǔ)在固定的路徑下,例如d:\skill目錄下。當(dāng)需要執(zhí)行該.il文件時(shí),就可以打開allegro軟件,在命令行輸入:skillload(“d:/skill/my_favorite_layer.il”),如圖3所示,需要說(shuō)明的是,這個(gè)方法只針對(duì)當(dāng)前窗體有效,如要allegro軟件每次啟動(dòng)都自動(dòng)加載則要在home目錄下面的pcbenv\allegro.ilinit文件加一行,如圖4所示。
另外,在步驟s102中生成的顯示文件主要是上述腳本文件執(zhí)行時(shí)可以讀取用allegro工具設(shè)計(jì)的pcb文件的層名,根據(jù)個(gè)人愛(ài)好,打印成類似圖5所示的文件。其中,01_top.color的內(nèi)容如圖6所示。
具體地,腳本運(yùn)行方法是在allegro軟件命令行輸入命令:w_viewpath回車如圖7所示。需要說(shuō)明的是,該命令在原代碼注冊(cè)過(guò)的,如圖8所示。
當(dāng)運(yùn)行上述命令之后,就會(huì)打印上面圖5提到的那些文件,在pcb的設(shè)計(jì)過(guò)程中,通過(guò)allegro軟件訪問(wèn)上述文件即可快速切換顯示層面。如圖9所示。在圖9中,橫向的菜單中,(1)views是指使用者可以透過(guò)上述命令,將目前的層面顏色開關(guān)存儲(chǔ)成viewfile(附檔名為.color),然后就可在此views下拉式列表中直接選取該viewfile,系統(tǒng)會(huì)立刻調(diào)整其層面顏色。如果使用者已有設(shè)定底片定義,其底片定義的名稱,亦會(huì)出現(xiàn)在此views下拉式列表中,方便其層面顏色。(2)conductors,是針對(duì)所有的走線層一起做層面的開或關(guān),本范例中為top和bottom。(3)planes,是指針對(duì)所有的電源/接地層一起做層面的開或關(guān),本范例中為vcc及gnd。(4)layers,是指針對(duì)單一的層面做開或關(guān),本范例中為top、vcc、gnd及bottom。縱向的菜單中的各個(gè)菜單項(xiàng)是上文中的pcb設(shè)計(jì)圖的元件信息,不再贅述。
考慮到viewfile下面可能有之前進(jìn)行圖層顯示的.color文件,因此,在生成顯示每個(gè)圖層的顯示文件之前,查看該路徑下有已有的.color文件,可以刪除該路徑下已存在的顯示文件。
另外,可以進(jìn)一步地檢測(cè)存儲(chǔ)器中是否存在與所述pcb設(shè)計(jì)圖對(duì)應(yīng)的顯示文件;若不存在,則從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù),若存在的話,就可以直接獲取該路徑下的顯示文件。
當(dāng)然,如果檢測(cè)不存在,從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù),并渲染與所述顯示指令對(duì)應(yīng)的顯示文件之后,建立所述顯示文件與所述pcb設(shè)計(jì)圖的對(duì)應(yīng)關(guān)系,并將所述對(duì)應(yīng)關(guān)系保存至存儲(chǔ)器中。
這樣,假如我們要查看的是vcc內(nèi)電層,現(xiàn)有的查看方法是將vcc內(nèi)電層的顏色設(shè)置為深一點(diǎn)的顏色,如棕黑色;再將背景色設(shè)為平常的紅色,單擊ok關(guān)閉對(duì)話框。再次,還要關(guān)掉其它的一些不需要的層,如:絲印層等,方便我們查看pcb,而采用本發(fā)明實(shí)施例提供的一鍵查看方法,則可以提高效率,可快速準(zhǔn)確定位,經(jīng)測(cè)試每次切換可節(jié)省10秒左右,還有通過(guò)這種方法,可使用設(shè)計(jì)更具連續(xù)性,特別是對(duì)于多層板的pcb設(shè)計(jì)或查看,效果更好。
另外,開發(fā)人員也可以把喜好的圖層的放到代碼里,動(dòng)態(tài)讀取板的層名等信息,自動(dòng)編寫,會(huì)更智能,更靈活。
基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種切換顯示pcb圖層的裝置,該裝置可執(zhí)行上述方法實(shí)施例。本發(fā)明實(shí)施例提供的裝置如圖10所示,包括:確定單元301、生成單元302、渲染單元303,其中:
確定單元301,用于從導(dǎo)入的pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù);
生成單元302,用于根據(jù)所述pcb設(shè)計(jì)圖的配置參數(shù),生成顯示每個(gè)圖層的顯示文件;
渲染單元303,用于根據(jù)用戶輸入的顯示指令,渲染與所述顯示指令對(duì)應(yīng)的顯示文件,其中,所述顯示指令中包含所述顯示文件的索引信息。
進(jìn)一步地,所述裝置還包括刪除單元304,用于在所述生成單元生成顯示每個(gè)圖層的顯示文件之前,刪除設(shè)定路徑下已存在的顯示文件。
進(jìn)一步地,所述確定單元301具體用于:檢測(cè)存儲(chǔ)器中是否存在與所述pcb設(shè)計(jì)圖對(duì)應(yīng)的顯示文件;
若不存在,則從導(dǎo)入的印刷電路板pcb設(shè)計(jì)圖中確定出所述pcb設(shè)計(jì)圖的配置參數(shù)。
進(jìn)一步地,所述裝置還包括:保存單元305,用于在所述渲染單元渲染與所述顯示指令對(duì)應(yīng)的顯示文件之后,建立所述顯示文件與所述pcb設(shè)計(jì)圖的對(duì)應(yīng)關(guān)系,并將所述對(duì)應(yīng)關(guān)系保存至存儲(chǔ)器中。
進(jìn)一步地,所述裝置還包括:接收單元306,用于接收用戶在allegro軟件的層面開關(guān)項(xiàng)目visibility中的圖層顯示菜單中輸入的顯示指令;
所述渲染單元303具體用于:確定與所述顯示指令對(duì)應(yīng)的顯示文件,并渲染所述顯示文件。
綜上所述,本發(fā)明實(shí)施例通過(guò)在基于cadenceallegro的pcb設(shè)計(jì)軟件,使用cadenceskill語(yǔ)言開發(fā)一個(gè)快速切換顯示層面的skill設(shè)計(jì)程式,作為一鍵將所有需要顯示的層面顯示出來(lái)的插件,使原來(lái)繁瑣的勾選顯示變成一鍵完成,也就是說(shuō),我們利用skill的設(shè)計(jì)程式,只需要執(zhí)行一條指令,調(diào)出對(duì)應(yīng)skill設(shè)計(jì)程式,即可任意切換我們自定義好的層面配置效果,在pcb的設(shè)計(jì)過(guò)程或查看pcb設(shè)計(jì)文件時(shí),實(shí)現(xiàn)一鍵快捷切換顯示層面的功能,從而提高了pcb工程師的工作效率,也可以提高其它工程師查看pcb設(shè)計(jì)文件的效率,減少整個(gè)pcb的設(shè)計(jì)時(shí)間。具體地,開發(fā)人員預(yù)先根據(jù)pcb設(shè)計(jì)圖的配置參數(shù)生成腳本文件,并在所述allegro軟件的層面開關(guān)項(xiàng)目visibility中生成供用戶選擇所述顏色文件的菜單,當(dāng)用戶運(yùn)行腳本文件后,就可以自主選擇對(duì)應(yīng)的顏色文件,達(dá)到一鍵顯示目標(biāo)圖層的效果,從而提高工作效率,避免因?qū)訑?shù)多而設(shè)置錯(cuò)誤的問(wèn)題。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。