allegro 的reuse功能操作步驟詳解 ——博勵pcb培訓整理 EDA軟件中allegro的模塊復用非常實用,可能通常我們的PCB工程師還用的不多,但它在某些場合下還是很有用的,一個是它能減少我們重復性的工作,可以重用的原理圖和PCB我們就不需要重復設計了,也就是REUSE。 以下給大家講解詳細操作: 1、在orcad中畫好模塊的原理圖,設定好封裝,做好drc,做好元件編號。 2、檢查元件屬性是否設為current properties,其它設定可能出錯。 2、在annotate-->allegro reuse中,選中generate reuse module,renumber design for using modules,選中unconditional,其它不選。 3、生成netlist. 4、將netlist導入到allegro,布線,布局,若無rename等需要與orcad交互的動作,選tools-->creat modules生成mdd文件.mdd文件的文件名一定要定義為:DSN NAME_ROOT SCHEMATIC NAME.mdd。DSN NAME為你定義的orcad中的dsn文件名,ROOT SCHEMATIC NAME是這個文件中的頁名字。這里若定義不對,在reuse時找不到mdd文件。之后跳到第6步。 5、在orcad中back annotate,之后回到第2步。 6、模塊制作完成。 使用生成的模塊 1、在新的orcad設計中,選place-->herarhical block,reference中填入BLK?(注意,這里使用BLK是為了與原理圖中的U?R?C?區別,保證BLK這個名字專用于moduel,不然在做完allegro后,rename 時,導回到orcad中出問題。) 在implementation type中選schematic view,在implementtation name中填入先前模塊的頁名稱,在path and file name中選擇相應的dsn文件,之后在你的原理圖中出現一個block. 2、繼續其它設計,之后在annotate-->packageing中,選中reset part name to "?",同時選中update occurrences,執行一下,將所有的元件 (包括module的name改為?),在annotate-->allegro reuse中,選中 renumber design for using modules,選中incremental,選中do not change the page number,選中select modules to mark for框里的內容。其它不選。 3、drc后,出netlist. 4、導入到allegro后,palce-->manually place,選mudule instances,將module放入。注意一下mdd文件路徑的設定,不正確會找不到mdd 文件的。 5、在allegro中布好線后,可以rename到arcad中,與正常設計無區別。 6、over. 做reuse時的幾個注意事項: 1:當reuse模塊已經放在電路中使用,重新修改reuse模塊的port口后,在使用的原理中右擊這個模塊,選synchronize up,則實現修改的同步。 2:在reuse模塊中,不能使用room屬性,不然可能與使用reuse的電路圖混淆。 3: reuse模塊中不能使用全局變量,特別是電源和地,使用port口傳遞數據。 4: reuse模塊內部修改后,只要port口沒有變,則在使用它的原理圖不用同步。 5: 做好的模塊文件用在pcb中后,若需要修改這部分文件,在修改完成后,在原pcb中使用update symbol功能,選相應的moddle,之后更新就行了,注意生成mdd文件時,原點的選擇,這然更新后一些線會錯位。 6:當導入到allegro的模塊出現dummy net的錯誤時,怎么辦? 出錯的可能原因是由于模塊的orcad文件造成的,可能是對原始的orcad取一部分進行修改,這些元件帶有原來文件的一些屬性。將相關orcad文件的所有元件和連線copy到一個新的頁內,將當前頁的內容刪除,從剛才copy到新頁的內容copy回來,這時看元件的屬性時,沒有黃色的部分,按正常步驟重新生成mdd文件,在調用這個模塊的orcad文件中,重新編一次元件編號,生成網表,問題解決。 7:當含有reuse的設計導入到allegro并布線完成,若重新修改原理圖,比如換一個10pin的IDC插座到16pin,不能用annotate-->allegro reuse命令,不然生成的網表會導入到allegro中會出錯,不知是什么原因? 答:在原理圖設計中,當使用reset to ?后,使用annotate-->allegro reuse命令,將netlist導出到allegro后,不能再使用使用reset to ?,新增的元件使用increase功能,不要將所有的元件reset to ?,不然會出錯。 |