• 注册 / 登录
  • 切换到窄版
  • 查看: 1082|回复: 0

    Allegro PCB 转换 PADS Layout 文件

    [复制链接]

    26

    主题

    26

    帖子

    124

    积分

    注册会员

    Rank: 2

    积分
    124
    发表于 2024-1-30 11:39:11 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    操作系统:Windows 10 x64

    工具1:Allegro PCB Design XL (legacy) version 16.6-2015

    工具2:PADS Layout VX.2.3

    由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

    1.png

    2.png

    到D:\Cadence\SPB_Data\pcbenv。

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

    3.png

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

    4.png

    5.png

    步骤3:

    创建一个新文件夹,将需要转换的.brd设计文件复制到这里面,使用Allegro PCB Design XL (legacy) 打开该设计文件。

    在command提示窗口中输入下列命令:skill load "dfl_main.il",并按回车键。dfl_main.il文件来自<PADS安装目录>\SDD_HOME\translator\skill_scripts。

    注意:第一次输入可能没有反应,你需要再次输入。反正我的就是这样,第一次输入之后,按回车键,只显示一个“t”。

    1. Command > skill load "dfl_main.il"
    2. t
    3. Command > skill load "dfl_main.il"
    4. function make_DC_sControlVars redefined
    5. function copy_DC_sControlVars redefined
    6. function make_DC_sPackage redefined
    7. function copy_DC_sPackage redefined
    8. function make_DC_sText redefined
    9. function copy_DC_sText redefined
    10. function make_DC_sClearance redefined
    11. function copy_DC_sClearance redefined
    12. function make_DC_sDefClearance redefined
    13. function copy_DC_sDefClearance redefined
    14. function make_DC_sWidth redefined
    15. function copy_DC_sWidth redefined
    16. function make_DC_sNetData redefined
    17. function copy_DC_sNetData redefined
    18. function make_DC_sElectricalRule redefined
    19. function copy_DC_sElectricalRule redefined
    20. function make_DC_sMatchedDelayRule redefined
    21. function copy_DC_sMatchedDelayRule redefined
    22. function make_DC_sRuleArea redefined
    23. function copy_DC_sRuleArea redefined
    24. function make_DC_sFormula redefined
    25. function copy_DC_sFormula redefined
    26. function make_DC_netPinData redefined
    27. function copy_DC_netPinData redefined
    28. function make_DC_netKeyData redefined
    29. function copy_DC_netKeyData redefined
    30. function make_DC_sSymbolProps redefined
    31. function copy_DC_sSymbolProps redefined
    32. function DC_ShowVersion redefined
    33. function DC_EnableAl2ExpDebug redefined
    34. function DC_DisableAl2ExpDebug redefined
    35. function DisableDynamicFillMode redefined
    36. function EnableDynamicFillMode redefined
    37. function CreatePinName redefined
    38. function DC_Output_Choice_BuildForm redefined
    39. function DC_Output_Choice_Callback redefined
    40. function DC_Output_Choice redefined
    41. function DC_Output_Callback redefined
    42. function DC_Output_BuildForm redefined
    43. function DC_Output_Stub redefined
    44. function DC_Output redefined
    45. function DC_Set_Void redefined
    46. function DC_write_Dfile redefined
    47. function DC_write_Netlist redefined
    48. function DC_add_symbols redefined
    49. function DC_rem_symbols redefined
    50. function DCFindRuleSchemes15 redefined
    51. function DCFindRuleSchemes redefined
    52. function DCprocessNetClassStuff redefined
    53. function DCprocessPadstacks redefined
    54. function DCprocessNetProps redefined
    55. function DCprocessAXLLayers redefined
    56. function DCprocessTechFileLayers redefined
    57. function DCprocessTechFileRules redefined
    58. function DCcreateDummyRules redefined
    59. function DCissueTechFileRules redefined
    60. function DCprocessFormulaTable redefined
    61. function DCprocessWidthTable redefined
    62. function DCprocessBoardOutline redefined
    63. function DCprocessBoardAreas redefined
    64. function DCprocessDevicePad redefined
    65. function DCprocessPlacement redefined
    66. function DCprocessClearanceTable redefined
    67. function DCoutputViaAsKeepout redefined
    68. function DCprintCompPackage redefined
    69. function DC_Input_Callback redefined
    70. function DC_Input_BuildForm redefined
    71. function DC_Input redefined
    72. function DC_read_ndd redefined
    73. function DC_read_rules redefined
    74. function DC_netin redefined
    75. function DC_initialize_path_for_tracks redefined
    76. function DC_build_path_for_tracks redefined
    77. function DC_build_arc_for_tracks redefined
    78. function DC_commit_path_for_tracks redefined
    79. function DC_Print_Bad_Path_To_Error_Log redefined
    80. function DC_InitForOutput redefined
    81. function DC_ExportConstraints redefined
    82. function DC_ReadViaSideFile redefined
    83. function DCsetUnits redefined
    84. function DCprocessNetNums redefined
    85. function DCprocessPartNums redefined
    86. function DCprocessGenericNums redefined
    87. function DCprocessRuleSchemes redefined
    88. function DCprocessPackageNums redefined
    89. function DCprocessUnits redefined
    90. function DCprocessPhysicalLayers redefined
    91. function DC_findSpecialPins redefined
    92. function DC_matchWildCardStacks redefined
    93. function DC_searchWildCardStack redefined
    94. function DCfindPackages redefined
    95. function DCoutputEOF redefined
    96. function DCupdateDiffpairEntries redefined
    97. function DCfindParts redefined
    98. function DCprocessActiveRoutingLayers redefined
    99. function DCprocessRuleAreas15 redefined
    100. function DCprocessRuleAreas redefined
    101. function DCscaled redefined
    102. function DCprintLorRVoid redefined
    103. function DCprintLineVoid redefined
    104. function DCprintPolyVoid redefined
    105. function DCprintRectangleVoid redefined
    106. function DCprintKeepoutText redefined
    107. function DCgetCompPart redefined
    108. function DCfindPlaneNets redefined
    109. function DCcheckBadBoundary redefined
    110. function DCoverlapBbox redefined
    111. function DCintersect redefined
    112. function DCdrawBoundary redefined
    113. function DCdrawBoundaryGeneric redefined
    114. function DCgetHeight redefined
    115. function DCprintCircleVoid redefined
    116. function DCdrawCircle redefined
    117. function DCpointOnArc redefined
    118. function DCpointsOnArc redefined
    119. function DCpointsOnPathArc redefined
    120. function DCClineDummyList redefined
    121. function DCViaDummyList redefined
    122. function DCFindAllClines redefined
    123. function DCFindAllVias redefined
    124. function DCfindAllOfType redefined
    125. function DCsaveSelSet redefined
    126. function DCrestoreSelSet redefined
    127. function DCaddWidthOverride redefined
    128. function DCaddClearOverride redefined
    129. function DCaddPowerNet redefined
    130. function DCsetLayerSignal redefined
    131. function DCprintableString redefined
    132. function DCreplaceChars redefined
    133. function DCremoveQuotes redefined
    134. function DCaddLayerNumber redefined
    135. function DCgetLayerNumber redefined
    136. function DCgetPartNumber redefined
    137. function DCgetComponentNumber redefined
    138. function DCcheckSpacingNetClassNumber redefined
    139. function DCgetSpacingNetClassNumber redefined
    140. function DCcheckPhysicalNetClassNumber redefined
    141. function DCgetElectricalNetClassNumber redefined
    142. function DCgetPhysicalNetClassNumber redefined
    143. function DCgetRuleSchemeData redefined
    144. function DCgetNetClassNumber redefined
    145. function DCgetPadstackNumber redefined
    146. function DCgetPackage redefined
    147. function DCenableDC_Debug redefined
    148. function DCdisableDC_Debug redefined
    149. function DCDebugDump redefined
    150. function DCgetMatchedGroupNumber redefined
    151. function DCgetNetNumber redefined
    152. function DCselectRouting redefined
    153. function DCcreateFormula redefined
    154. function DCcreateWidthEntry redefined
    155. function DCCopyWidths redefined
    156. function DCaddViaListEntry redefined
    157. function DCcopyViaListEntry redefined
    158. function DCcreateMatchedDelayEntry redefined
    159. function DCcreateElectricalEntry redefined
    160. function DCcreateClearanceEntry redefined
    161. function DCCopyClearance redefined
    162. function DCupdateSpacingRule redefined
    163. function DCupdateSingleSpacing redefined
    164. function DCisPadstackVia redefined
    165. function DCprocessProperties redefined
    166. function DCprintGlobalPoly redefined
    167. function DCtransformGlobalPoly redefined
    168. function DCtransformPoly redefined
    169. function DCtransformPoint redefined
    170. function DCExportSummary redefined
    171. function DCShowExportLog redefined
    172. function DCemptyTables redefined
    173. function DCgetRelRotation redefined
    174. function DCdeg2rad redefined
    175. function DCgetVoidType redefined
    176. function DCinitPoly redefined
    177. function DCaddPolyPoint redefined
    178. function DCcreateError redefined
    179. function DCSetupErrorLog redefined
    180. function DCgetFromRefDesPin redefined
    181. function DCgetFromDelayString redefined
    182. function DCisMatchedDelayLengthTime redefined
    183. function DCgetFromCompositeName redefined
    184. function DCgetLayerName redefined
    185. function DCmakeLayerList redefined
    186. function DCcreateDir redefined
    187. function DCdeleteClasses redefined
    188. function DCdeleteProps redefined
    189. function DCdeleteItems redefined
    190. function DCgetFileType redefined
    191. function DCremoveDirString redefined
    192. function DCmakeDirList redefined
    193. function DCmakeDirName redefined
    194. function DCComparePathPts redefined
    195. function DCGetSymbolProps redefined
    196. function DCprintCompGeometry redefined
    197. function DCwriteGraphicShape redefined
    198. function DCdrawGraphicShape redefined
    199. function DCgenLineVoids redefined
    200. function DCisClosedPath redefined
    201. function DCprocessRoutingExtract redefined
    202. function DCcreateExtractScripts redefined
    203. function DCcreateForcedNetExtractScript redefined
    204. function DCdeleteExtractScripts redefined
    205. function genHKPPadstacks redefined
    206. function parseThermalPad redefined
    207. function genCustomPads redefined
    208. function issuePad redefined
    209. function displaySymbolsNum redefined
    210. function al2expIsDebug redefined
    211. function al2exp_287110 redefined
    212. function al2exp_enable_287110 redefined
    213. function al2exp_disable_287110 redefined
    214. function genHKPCells redefined
    215. function all2expFindArc redefined
    216. function all2expOutputCoordinates redefined
    217. function all2expGetRelRotation redefined
    218. function all2expTransformPoint redefined
    219. function all2expDeg2rad redefined
    220. function all2expSetSelectSymbols redefined
    221. function all2expGetPackageGroupAndMount redefined
    222. function all2expAddBreakoutToPinNet redefined
    223. function all2expFindPinByCoord redefined
    224. function all2expIssueEtch redefined
    225. function all2expIssueNetEtch redefined
    226. function genHKPTestPoints redefined
    227. function SetupDir redefined
    228. function createAll2ExpFileHeader redefined
    229. function fillinAll2ExpBaseview redefined
    230. function createAll2ExpBaseview redefined
    231. function NE_Main redefined
    232. function NE_NetClass redefined
    233. function NE_Physical redefined
    234. function NE_Spacing redefined
    235. function NE_ClassBody redefined
    236. function NE_ProcessTiming redefined
    237. function NE_replaceChars redefined
    238. function NE_DebugInfo redefined
    239. W- *WARNING* defstruct: Redefining Structure DC_sControlVars.
    240. W- *WARNING* defstruct: Redefining Structure DC_sPackage.
    241. W- *WARNING* defstruct: Redefining Structure DC_sText.
    242. W- *WARNING* defstruct: Redefining Structure DC_sClearance.
    243. W- *WARNING* defstruct: Redefining Structure DC_sDefClearance.
    244. W- *WARNING* defstruct: Redefining Structure DC_sWidth.
    245. W- *WARNING* defstruct: Redefining Structure DC_sNetData.
    246. W- *WARNING* defstruct: Redefining Structure DC_sElectricalRule.
    247. W- *WARNING* defstruct: Redefining Structure DC_sMatchedDelayRule.
    248. W- *WARNING* defstruct: Redefining Structure DC_sRuleArea.
    249. W- *WARNING* defstruct: Redefining Structure DC_sFormula.
    250. W- *WARNING* defstruct: Redefining Structure DC_netPinData.
    251. W- *WARNING* defstruct: Redefining Structure DC_netKeyData.
    252. W- *WARNING* defstruct: Redefining Structure DC_sSymbolProps.
    253. t
    复制代码

    根据Allegro to PADS? Layout Translator User's Guide(提取码:x8fs)给出的信息,执行脚本之后,如果有错误,是必须解决的,否则无法正确地生成输出文件。上面列出的信息,只有警告,我也不知道是否会产生什么特别严重的问题。

    执行命令skill load "dfl_main.il"之后,还需要在Command提示窗口中输入另一命令main out,这会打开Allegro To Xpeditio...对话框,点击Start Translation启动转换,转换期间会弹出许多窗口,这个不用管。

    注意:.brd设计文件的文件名不能带有空格或其它特殊字符,存放设计文件的文件夹也类似。我一开始转换的时候,就是因为文件名、文件夹名中带有空格,导致错误而折腾了很久。

    6.png

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

    1. Command > main out
    2. Please wait...extracting and processing technology file
    3. Starting Export techfile...
    4. techfile completed successfully, use Viewlog to review the log file.
    5. techfile completed successfully, use Viewlog to review the log file.
    6. Converting techfile...
    7. Executing command E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work\techconv.bat
    8. Techfile conversion successfull!
    9. extracting Layer Stackup
    10. extracting Design Rules
    11. Deleting Existing Classes File
    12. Deleting Existing Props File
    13. Deleting Existing Board Items File
    14. Exporting Electrical Constraints...
    15. Reading report definition file 'D:/Cadence/Cadence_SPB_16.6-2015/share/pcb/signal/reports.dat'.
    16. Finished reading report definition file successfully.
    17. Reading report definition file 'D:/Cadence/Cadence_SPB_16.6-2015/share/pcb/signal/custom_rep.dat'.
    18. Finished reading report definition file successfully.
    19. extracting device files
    20. extracting Net Properties
    21. extracting Board Extent
    22. Loading axlcore.cxt
    23. DCprocessWidthTable - DEFAULT width used
    24. extracting padstacks
    25. extracting padstack completed
    26. extracting Placement
    27. leaving placement
    28. extracting Device Pads
    29. devices pads extraction completed
    30. extracting Board Areas
    31. Loading skillExt.cxt
    32. Starting report...
    33. report completed successfully, use Viewlog to review the log file.
    34. report completed successfully, use Viewlog to review the log file.
    35. Exporting net information.
    36. There are 8 different component properties in this database.
    37. There are 103 different net properties in this database.
    38. Hierarchical net constraints have been flattened onto individual nets for export.
    39. There are no pin properties in this database.
    40. E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work/propdelay_raw.tmp has been created.
    41. Loading cmds.cxt
    42. E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC/Work/LayoutDB.dfl Output Complete.
    43. Generating Padstack HKP FIle.
    44. ---------------------------
    45. Create .PAD Definitions.
    46. Create .HOLE Definitions.
    47. Create .PADSTACK Definitions.
    48. Generating Cell HKP File.
    49. ---------------------------
    50. Info: Database transaction started.
    51. Cell HKP Added temp instance of symbol: "CAP6D3"
    52. Cell HKP Added temp instance of symbol: "MARK_1MM"
    53. Cell HKP Added temp instance of symbol: "R0603"
    54. Cell HKP Added temp instance of symbol: "JL-0603RGB-TRB"
    55. Current Symbol: DRILL_HOLE_P_3MM2
    56. Current Symbol: R4D03
    57. Current Symbol: C0603
    58. Current Symbol: PH2MM54-12P_THRU90
    59. Current Symbol: JL-0603RGB-TRB
    60. Current Symbol: SW_12MMX12MM_SMD
    61. Current Symbol: TSSOP16
    62. Current Symbol: R0603
    63. Current Symbol: SOD-323
    64. Current Symbol: MARK_1MM
    65. Current Symbol: CAP6D3
    66. Removing temporarily added symbols.
    67. 4 symbols removed.
    68. Creating Net Properties
    69. Creating Net Class
    70. ---------------------- Al2Exp summary ----------------------
    71. Al2Exp - 0 error(s), 13 warning(s)
    72. Export log file saved at "E:/Allegro2PADSLayout/GE300_LITE_PEDAL_DOWN_B02_MGC\LogFiles\interfacelog.txt" file
    73. Run "show log" command to view log file
    74. ------------------------------ Done -------------------------------
    复制代码

    执行完上一步骤之后,在存放.brd设计文件的文件夹下面,会生成一些文件和文件夹。

    7.png

    先关闭Allegro PCB Design XL (legacy);打开PADS Layout,选菜单File > Import...

    8.png

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

    9.png

    正在执行转换...

    10.png

    完成转换之后生成的日志:

    1. Allegro(R) to PADS Layout Translator (Version VX.2.3) 05/22/19 09:41:27
    2. Copyright (c) 2018 Mentor Graphics Corp. - All rights reserved

    3. ------------------------------------------------------------
    4. Input folder: E:\Allegro2PADSLayout\GE300_LITE_PEDAL_DOWN_B02.brd
    5. Output folder: GE300_LITE_PEDAL_DOWN_B02_pads.pcb

    6. [I] Preparing data...
    7. Output file: GE300_LITE_PEDAL_DOWN_B02_pads.pcb
    8. [I] Loading...
    9. [I] Translating Xpedition design files from 'C:\Users\MK\AppData\Local\Temp\' to PADS Layout design file
    10. [I] Reading Pad Stacks...
    11. [I] Reading Cells...
    12. [I] Reading Part Numbers...
    13. [I] Reading Job Prefernces...
    14. [I] Reading Net Classes...
    15. [I] Reading Net Properties...
    16. [I] Reading Layout...
    17. [I] Translating data...
    18. [W] Discriminate Pad Entry rules found, and the rules were not translated.
    19. [W] Tie legs option was not found, and was translated to 2 spokes.
    20. [W] Hole name 'ROUND 0.4000 P' is duplicated. The hole was not translated.
    21. [W] Hole name 'ROUND 0.3000 P' is duplicated. The hole was not translated.
    22. [W] Hole name 'ROUND 1.0000 P' is duplicated. The hole was not translated.
    23. [W] Inner sizes of thermal pad 'AB00' will be changed, according to it's regular counterpart.
    24. [W] Part type name 'CAP POL1_CAP6D3__220UF/16V' contained invalid characters, and was translated to 'CAP_POL1_CAP6D3__220UF/16V'.
    25. [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'.
    26. [W] Part type name 'FERRITE BEAD_R0603_220R' contained invalid characters, and was translated to 'FERRITE_BEAD_R0603_220R'.
    27. [W] Part type name 'MARK POINT_MARK_1MM_MARK POINT' contained invalid characters, and was translated to 'MARK_POINT_MARK_1MM_MARK_POINT'.
    28. [W] Part type name 'RES PACK 2_R4D03_1K' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_1K'.
    29. [W] Part type name 'RES PACK 2_R4D03_360R' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_360R'.
    30. [W] Part type name 'RES PACK 2_R4D03_430R' contained invalid characters, and was translated to 'RES_PACK_2_R4D03_430R'.
    31. [W] Route outlines are not supported, and was not translated.
    32. [I] Completed
    复制代码

    完成导入后的PCB如下:

    11.gif

    转换完后的文件乱糟糟,不能直接使用,处理方法请看Allegro PCB 转 PADS Layout 之后的修修补补

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-9-8 08:51 , Processed in 0.047981 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表