Allegro PCB 转 PADS Layout

时间:2023-03-09 04:51:03
Allegro PCB 转 PADS Layout

操作系统: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(异常解决方法)

参考4:Allegro转PADS以及后续修改

参考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

Allegro PCB 转 PADS Layout

Allegro PCB 转 PADS Layout

D:\Cadence\SPB_Data\pcbenv

注意:Cadence一般是安装在C盘的,而我是将Cadence安装在D盘。

Allegro PCB 转 PADS Layout

步骤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

Allegro PCB 转 PADS LayoutAllegro PCB 转 PADS Layout

步骤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设计文件的文件名不能带有空格或其它特殊字符,存放设计文件的文件夹也类似。我一开始转换的时候,就是因为文件名、文件夹名中带有空格,导致错误而折腾了很久。

Allegro PCB 转 PADS Layout

转换完成之后,提示没有错误,但是有警告!始终不尽人意!

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 转 PADS Layout

先关闭Allegro PCB Design XL (legacy)

打开PADS Layout,选菜单File > Import...

Allegro PCB 转 PADS Layout

选择已执行过转换操作的设计文件

Allegro PCB 转 PADS Layout

正在执行转换...

Allegro PCB 转 PADS Layout

完成转换之后生成的日志

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

Allegro PCB 转 PADS Layout

Allegro PCB 转 PADS Layout 之后的修修补补