操作系統:Windows 10 x64
工具1:Allegro PCB Design XL (legacy) version 16.6-2015
工具2:PADS Layout VX.2.3
參考1:http://bbs.elecfans.com/jishu_460638_1_1.html(教程)
參考2:https://jingyan.baidu.com/article/4b07be3ca79a7c48b380f331.html(教程)
參考3:http://www.eda365.com/thread-106414-2-1.html(異常解決方法)
參考5:Allegro to PADS® Layout Translator User's Guide(用戶手冊)提取碼:x8fs
由PADS提供的參考手冊,只要安裝了PADS,就可以在X:\MentorGraphics\PADSVX.2.3\docs\pdfdocs里面找到該文件,文檔原名《allegro2pads.pdf》。
情況1:Cadence、PADS安裝在同一台機器上。
步驟1:
復制:<PADS安裝目錄>\SDD_HOME\translator\skill_scripts中的內容,以及<PADS安裝目錄>\SDD_HOME\translator\win32\bin\tech_translator.exe
到D:\Cadence\SPB_Data\pcbenv
注意:Cadence一般是安裝在C盤的,而我是將Cadence安裝在D盤。
步驟2:
確保以下列出的三個環境變量已設置正確。
變量:SDD_HOME,值:D:\MentorGraphics\PADSVX.2.3\SDD_HOME(值取決於PADS的安裝路徑)
變量:AEX_BIN_ROOT,值:D:\Cadence\SPB_Data\pcbenv(值取決於Cadence的安裝路徑)
變量:AEX_ENABLE_JOBPREFS_LAYER_FIX,值:1
步驟3:
創建一個新文件夾,將需要轉換的.brd設計文件復制到這里面,使用Allegro PCB Design XL (legacy) 打開該設計文件。
在command提示窗口中輸入下列命令:skill load "dfl_main.il",並按回車鍵。dfl_main.il文件來自<PADS安裝目錄>\SDD_HOME\translator\skill_scripts。
注意:第一次輸入可能沒有反應,你需要再次輸入。反正我的就是這樣,第一次輸入之后,按回車鍵,只顯示一個“t”。
Command > skill load "dfl_main.il" t Command > skill load "dfl_main.il" function make_DC_sControlVars redefined function copy_DC_sControlVars redefined function make_DC_sPackage redefined function copy_DC_sPackage redefined function make_DC_sText redefined function copy_DC_sText redefined function make_DC_sClearance redefined function copy_DC_sClearance redefined function make_DC_sDefClearance redefined function copy_DC_sDefClearance redefined function make_DC_sWidth redefined function copy_DC_sWidth redefined function make_DC_sNetData redefined function copy_DC_sNetData redefined function make_DC_sElectricalRule redefined function copy_DC_sElectricalRule redefined function make_DC_sMatchedDelayRule redefined function copy_DC_sMatchedDelayRule redefined function make_DC_sRuleArea redefined function copy_DC_sRuleArea redefined function make_DC_sFormula redefined function copy_DC_sFormula redefined function make_DC_netPinData redefined function copy_DC_netPinData redefined function make_DC_netKeyData redefined function copy_DC_netKeyData redefined function make_DC_sSymbolProps redefined function copy_DC_sSymbolProps redefined function DC_ShowVersion redefined function DC_EnableAl2ExpDebug redefined function DC_DisableAl2ExpDebug redefined function DisableDynamicFillMode redefined function EnableDynamicFillMode redefined function CreatePinName redefined function DC_Output_Choice_BuildForm redefined function DC_Output_Choice_Callback redefined function DC_Output_Choice redefined function DC_Output_Callback redefined function DC_Output_BuildForm redefined function DC_Output_Stub redefined function DC_Output redefined function DC_Set_Void redefined function DC_write_Dfile redefined function DC_write_Netlist redefined function DC_add_symbols redefined function DC_rem_symbols redefined function DCFindRuleSchemes15 redefined function DCFindRuleSchemes redefined function DCprocessNetClassStuff redefined function DCprocessPadstacks redefined function DCprocessNetProps redefined function DCprocessAXLLayers redefined function DCprocessTechFileLayers redefined function DCprocessTechFileRules redefined function DCcreateDummyRules redefined function DCissueTechFileRules redefined function DCprocessFormulaTable redefined function DCprocessWidthTable redefined function DCprocessBoardOutline redefined function DCprocessBoardAreas redefined function DCprocessDevicePad redefined function DCprocessPlacement redefined function DCprocessClearanceTable redefined function DCoutputViaAsKeepout redefined function DCprintCompPackage redefined function DC_Input_Callback redefined function DC_Input_BuildForm redefined function DC_Input redefined function DC_read_ndd redefined function DC_read_rules redefined function DC_netin redefined function DC_initialize_path_for_tracks redefined function DC_build_path_for_tracks redefined function DC_build_arc_for_tracks redefined function DC_commit_path_for_tracks redefined function DC_Print_Bad_Path_To_Error_Log redefined function DC_InitForOutput redefined function DC_ExportConstraints redefined function DC_ReadViaSideFile redefined function DCsetUnits redefined function DCprocessNetNums redefined function DCprocessPartNums redefined function DCprocessGenericNums redefined function DCprocessRuleSchemes redefined function DCprocessPackageNums redefined function DCprocessUnits redefined function DCprocessPhysicalLayers redefined function DC_findSpecialPins redefined function DC_matchWildCardStacks redefined function DC_searchWildCardStack redefined function DCfindPackages redefined function DCoutputEOF redefined function DCupdateDiffpairEntries redefined function DCfindParts redefined function DCprocessActiveRoutingLayers redefined function DCprocessRuleAreas15 redefined function DCprocessRuleAreas redefined function DCscaled redefined function DCprintLorRVoid redefined function DCprintLineVoid redefined function DCprintPolyVoid redefined function DCprintRectangleVoid redefined function DCprintKeepoutText redefined function DCgetCompPart redefined function DCfindPlaneNets redefined function DCcheckBadBoundary redefined function DCoverlapBbox redefined function DCintersect redefined function DCdrawBoundary redefined function DCdrawBoundaryGeneric redefined function DCgetHeight redefined function DCprintCircleVoid redefined function DCdrawCircle redefined function DCpointOnArc redefined function DCpointsOnArc redefined function DCpointsOnPathArc redefined function DCClineDummyList redefined function DCViaDummyList redefined function DCFindAllClines redefined function DCFindAllVias redefined function DCfindAllOfType redefined function DCsaveSelSet redefined function DCrestoreSelSet redefined function DCaddWidthOverride redefined function DCaddClearOverride redefined function DCaddPowerNet redefined function DCsetLayerSignal redefined function DCprintableString redefined function DCreplaceChars redefined function DCremoveQuotes redefined function DCaddLayerNumber redefined function DCgetLayerNumber redefined function DCgetPartNumber redefined function DCgetComponentNumber redefined function DCcheckSpacingNetClassNumber redefined function DCgetSpacingNetClassNumber redefined function DCcheckPhysicalNetClassNumber redefined function DCgetElectricalNetClassNumber redefined function DCgetPhysicalNetClassNumber redefined function DCgetRuleSchemeData redefined function DCgetNetClassNumber redefined function DCgetPadstackNumber redefined function DCgetPackage redefined function DCenableDC_Debug redefined function DCdisableDC_Debug redefined function DCDebugDump redefined function DCgetMatchedGroupNumber redefined function DCgetNetNumber redefined function DCselectRouting redefined function DCcreateFormula redefined function DCcreateWidthEntry redefined function DCCopyWidths redefined function DCaddViaListEntry redefined function DCcopyViaListEntry redefined function DCcreateMatchedDelayEntry redefined function DCcreateElectricalEntry redefined function DCcreateClearanceEntry redefined function DCCopyClearance redefined function DCupdateSpacingRule redefined function DCupdateSingleSpacing redefined function DCisPadstackVia redefined function DCprocessProperties redefined function DCprintGlobalPoly redefined function DCtransformGlobalPoly redefined function DCtransformPoly redefined function DCtransformPoint redefined function DCExportSummary redefined function DCShowExportLog redefined function DCemptyTables redefined function DCgetRelRotation redefined function DCdeg2rad redefined function DCgetVoidType redefined function DCinitPoly redefined function DCaddPolyPoint redefined function DCcreateError redefined function DCSetupErrorLog redefined function DCgetFromRefDesPin redefined function DCgetFromDelayString redefined function DCisMatchedDelayLengthTime redefined function DCgetFromCompositeName redefined function DCgetLayerName redefined function DCmakeLayerList redefined function DCcreateDir redefined function DCdeleteClasses redefined function DCdeleteProps redefined function DCdeleteItems redefined function DCgetFileType redefined function DCremoveDirString redefined function DCmakeDirList redefined function DCmakeDirName redefined function DCComparePathPts redefined function DCGetSymbolProps redefined function DCprintCompGeometry redefined function DCwriteGraphicShape redefined function DCdrawGraphicShape redefined function DCgenLineVoids redefined function DCisClosedPath redefined function DCprocessRoutingExtract redefined function DCcreateExtractScripts redefined function DCcreateForcedNetExtractScript redefined function DCdeleteExtractScripts redefined function genHKPPadstacks redefined function parseThermalPad redefined function genCustomPads redefined function issuePad redefined function displaySymbolsNum redefined function al2expIsDebug redefined function al2exp_287110 redefined function al2exp_enable_287110 redefined function al2exp_disable_287110 redefined function genHKPCells redefined function all2expFindArc redefined function all2expOutputCoordinates redefined function all2expGetRelRotation redefined function all2expTransformPoint redefined function all2expDeg2rad redefined function all2expSetSelectSymbols redefined function all2expGetPackageGroupAndMount redefined function all2expAddBreakoutToPinNet redefined function all2expFindPinByCoord redefined function all2expIssueEtch redefined function all2expIssueNetEtch redefined function genHKPTestPoints redefined function SetupDir redefined function createAll2ExpFileHeader redefined function fillinAll2ExpBaseview redefined function createAll2ExpBaseview redefined function NE_Main redefined function NE_NetClass redefined function NE_Physical redefined function NE_Spacing redefined function NE_ClassBody redefined function NE_ProcessTiming redefined function NE_replaceChars redefined function NE_DebugInfo redefined W- *WARNING* defstruct: Redefining Structure DC_sControlVars. W- *WARNING* defstruct: Redefining Structure DC_sPackage. W- *WARNING* defstruct: Redefining Structure DC_sText. W- *WARNING* defstruct: Redefining Structure DC_sClearance. W- *WARNING* defstruct: Redefining Structure DC_sDefClearance. W- *WARNING* defstruct: Redefining Structure DC_sWidth. W- *WARNING* defstruct: Redefining Structure DC_sNetData. W- *WARNING* defstruct: Redefining Structure DC_sElectricalRule. W- *WARNING* defstruct: Redefining Structure DC_sMatchedDelayRule. W- *WARNING* defstruct: Redefining Structure DC_sRuleArea. W- *WARNING* defstruct: Redefining Structure DC_sFormula. W- *WARNING* defstruct: Redefining Structure DC_netPinData. W- *WARNING* defstruct: Redefining Structure DC_netKeyData. W- *WARNING* defstruct: Redefining Structure DC_sSymbolProps. t
根據Allegro to PADS® Layout Translator User's Guide(提取碼:x8fs)給出的信息,執行腳本之后,如果有錯誤,是必須解決的,否則無法正確地生成輸出文件。上面列出的信息,只有警告,我也不知道是否會產生什么特別嚴重的問題。
執行命令skill load "dfl_main.il"之后,還需要在Command提示窗口中輸入另一命令main out,這會打開Allegro To Xpeditio...對話框,點擊Start Translation啟動轉換,轉換期間會彈出許多窗口,這個不用管。
注意:.brd設計文件的文件名不能帶有空格或其它特殊字符,存放設計文件的文件夾也類似。我一開始轉換的時候,就是因為文件名、文件夾名中帶有空格,導致錯誤而折騰了很久。
轉換完成之后,提示沒有錯誤,但是有警告!始終不盡人意!
Command > main out Please wait...extracting and processing technology file Starting Export techfile... techfile completed successfully, use Viewlog to review the log file. techfile completed successfully, use Viewlog to review the log file. Converting techfile... Executing command E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work\techconv.bat Techfile conversion successfull! extracting Layer Stackup extracting Design Rules Deleting Existing Classes File Deleting Existing Props File Deleting Existing Board Items File Exporting Electrical Constraints... Reading report definition file 'D:/Cadence/Cadence_SPB_16.6-2015/share/pcb/signal/reports.dat'. Finished reading report definition file successfully. Reading report definition file 'D:/Cadence/Cadence_SPB_16.6-2015/share/pcb/signal/custom_rep.dat'. Finished reading report definition file successfully. extracting device files extracting Net Properties extracting Board Extent Loading axlcore.cxt DCprocessWidthTable - DEFAULT width used extracting padstacks extracting padstack completed extracting Placement leaving placement extracting Device Pads devices pads extraction completed extracting Board Areas Loading skillExt.cxt Starting report... report completed successfully, use Viewlog to review the log file. report completed successfully, use Viewlog to review the log file. Exporting net information. There are 8 different component properties in this database. There are 103 different net properties in this database. Hierarchical net constraints have been flattened onto individual nets for export. There are no pin properties in this database. E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work/propdelay_raw.tmp has been created. Loading cmds.cxt E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work/LayoutDB.dfl Output Complete. Generating Padstack HKP FIle. --------------------------- Create .PAD Definitions. Create .HOLE Definitions. Create .PADSTACK Definitions. Generating Cell HKP File. --------------------------- Info: Database transaction started. Cell HKP Added temp instance of symbol: "CAP6D3" Cell HKP Added temp instance of symbol: "MARK_1MM" Cell HKP Added temp instance of symbol: "R0603" Cell HKP Added temp instance of symbol: "JL-0603RGB-TRB" Current Symbol: DRILL_HOLE_P_3MM2 Current Symbol: R4D03 Current Symbol: C0603 Current Symbol: PH2MM54-12P_THRU90 Current Symbol: JL-0603RGB-TRB Current Symbol: SW_12MMX12MM_SMD Current Symbol: TSSOP16 Current Symbol: R0603 Current Symbol: SOD-323 Current Symbol: MARK_1MM Current Symbol: CAP6D3 Removing temporarily added symbols. 4 symbols removed. Creating Net Properties Creating Net Class ---------------------- Al2Exp summary ---------------------- Al2Exp - 0 error(s), 13 warning(s) Export log file saved at "E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC\LogFiles\interfacelog.txt" file Run "show log" command to view log file ------------------------------ Done -------------------------------
執行完上一步驟之后,在存放.brd設計文件的文件夾下面,會生成一些文件和文件夾。
先關閉Allegro PCB Design XL (legacy)
打開PADS Layout,選菜單File > Import...
選擇已執行過轉換操作的設計文件
正在執行轉換...
完成轉換之后生成的日志
Allegro(R) to PADS Layout Translator (Version VX.2.3) 05/22/19 09:41:27 Copyright (c) 2018 Mentor Graphics Corp. - All rights reserved ------------------------------------------------------------ Input folder: E:\Allegro2PADSLayout\GE300_LITE_PEDAL_DOWN_B02.brd Output folder: GE300_LITE_PEDAL_DOWN_B02_pads.pcb [I] Preparing data... Output file: GE300_LITE_PEDAL_DOWN_B02_pads.pcb [I] Loading... [I] Translating Xpedition design files from 'C:\Users\MK\AppData\Local\Temp\' to PADS Layout design file [I] Reading Pad Stacks... [I] Reading Cells... [I] Reading Part Numbers... [I] Reading Job Prefernces... [I] Reading Net Classes... [I] Reading Net Properties... [I] Reading Layout... [I] Translating data... [W] Discriminate Pad Entry rules found, and the rules were not translated. [W] Tie legs option was not found, and was translated to 2 spokes. [W] Hole name 'ROUND 0.4000 P' is duplicated. The hole was not translated. [W] Hole name 'ROUND 0.3000 P' is duplicated. The hole was not translated. [W] Hole name 'ROUND 1.0000 P' is duplicated. The hole was not translated. [W] Inner sizes of thermal pad 'AB00' will be changed, according to it's regular counterpart. [W] Part type name 'CAP POL1_CAP6D3__220UF/16V' contained invalid characters, and was translated to 'CAP_POL1_CAP6D3__220UF/16V'. [W] Part type name 'DRILL HOLE_DRILL_HOLE_P_3MM2_DR' contained invalid characters, and was translated to 'DRILL_HOLE_DRILL_HOLE_P_3MM2_DR'. [W] Part type name 'FERRITE BEAD_R0603_220R' contained invalid characters, and was translated to 'FERRITE_BEAD_R0603_220R'. [W] Part type name 'MARK POINT_MARK_1MM_MARK POINT' contained invalid characters, and was translated to 'MARK_POINT_MARK_1MM_MARK_POINT'. [W] Part type name 'RES PACK 2_R4D03_1K' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_1K'. [W] Part type name 'RES PACK 2_R4D03_360R' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_360R'. [W] Part type name 'RES PACK 2_R4D03_430R' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_430R'. [W] Route outlines are not supported, and was not translated. [I] Completed
完成導入(轉換)之后的PCB