ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库

Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库 Ultra Librarian / Altium 元器件包 → Cadence SPB 16.6 CIS 入库全流程定位本文档是从厂商/立创/LCSC 下载的元器件数据包 → 本机 CIS 库可放置元器件的完整作业指导书。由 RTL8367N-VB-CGUL 包2026-09-23和 RTL8367RB-CGAltium 包2026-10-03两次全流程实战写成。0. 环境事实勿重新探索项值Cadence 安装D:\Cadence\SPB_16.6仅 16.6无 17.xallegro.exeD:\Cadence\SPB_16.6\tools\pcb\bin\allegro.execreate_sym.exe同目录只能在真控制台跑见 FAQ-5Capture/tclshD:\Cadence\SPB_16.6\tools\capture\Capture.exetools\tcltk\8.4\bin\tclsh84.exe跑 Dbo Tcl 前把 tools\capture 加进 PATH符号库D:\CIS_LIBRARY\SCH\*.OLB焊盘/封装库D:\CIS_LIBRARY\PCB\pad\*.pad、D:\CIS_LIBRARY\PCB\symbol\*.dra/.psm/.ssmCIS 数据库D:\CIS_LIBRARY\CIS\Trent_CIS_2022.mdbAccesspyodbc {Microsoft Access Driver (*.mdb, *.accdb)}生效 iniD:\Cadence\SPB_Data\cdssetup\OrCAD_Capture\16.6.0\Capture.ini[Part Management]→DBC[Part Library Directories]→SCH[Allegro Footprints]→PCB关键环境变量用户级CDSROOTD:\Cadence\SPB_16.6、CDS_LIC_FILED:\Cadence\LicenseManager\license.dat、HOMED:\Cadence\SPB_Data、PATH 含tools\pcb\binYC CODEIC 表前缀60501另有60510段在用Oscillator60602取同前缀 MAX1insert_part.py 自动做1. 输入认识三种原料来源特征内容Ultra Librarian 包文件名ul_*.zip立创/LCSC 页 “Ultra Librarian” 按钮下载AllegroV17_2\*.xml封装几何、OrcadCaptureXML\*.xml符号引脚、*.step3D、builder.ile17.2 专用16.6 无用Altium 包Altium_*.zip同页面 Altium 按钮下载*.schdoc符号ASCII 记录流、*.pcbdoc封装ASCII 记录流只有 PDF 手册最苦的情况手工按 Land Pattern 画走 cadence-new-part skill 路线 B选型建议优先下载 UL 包格式结构化最好只有 Altium 包也行本文档 §3 有转换器。2. 文件格式要点2.1 UL Allegro XML目标格式一切以它为准Footprintname封装名Unitstypemilsprecision3/ExtentsminXminYwidthheight/Padstackname...typesingleLayersLayernameTOP|PASTEMASK_TOP|SOLDERMASK_TOPPadshaperectangle|square|circle|oblong|octagonwidthheight/等宽高焊盘必须shapesquare含散热盘 EPAD——rectangle 等宽高会被 axl 拒绝FAQ-9Pin number padName originX originY rotation坐标已相对封装原点单位 milLayer namePACKAGE GEOMETRY/SILKSCREEN_TOP|ASSEMBLY_TOP|PLACE_BOUND_TOP packageHeightPath type“line”线段lineWidth 宽度≥3 点闭合折线→按 shape 处理Label textBlock angle x y text justify文字层名对照Altium TOPOVERLAY→SILKSCREEN_TOPMECH7(courtyard)→PLACE_BOUND_TOP本体→ASSEMBLY_TOP2.2 Altium schdoc/pcbdocASCII 记录流文件头|HEADER或|RECORD记录间以\x00或下一条|RECORD分隔属性|KEYVALUE竖线分隔坐标带单位后缀如3028.7400milpcbdoc 关键记录Component(原点PATTERN 中心)、Pad(NAME/X/Y/XSIZE/YSIZE/SHAPE/ROTATION)、Track(X1 Y1 X2 Y2/LAYER/LINEWIDTH)、Region(VXn/VYn 顶点)schdoc 引脚RECORD2记录里DESIGNATOR脚号、NAME脚名转换器python altium2ul_xml.py pcbdoc schdoc out.xml footprint_name在 workspace可挪进 skill scripts2.3 Generate Part 的 PSpice Model做 .olb 的唯一可行路线.subckt PartName 脚名1 脚名2 ... ← 每行约6个续行以 开头 .ends PartName不要用 Actel Pin File格式不公开、HEADER 规则踩不出来FAQ-7生成器python pins_pspice_lib.py capture_xml PartName out.libUL 包直接用Altium 包从 pins.json 取名3. 完整操作流程六步第 1 步 · 备料解压到独立构建目录如D:\Desktop\rb_build目录名不能含空格以外的中文也可但路径里别有空格更稳。UL 包直接用AllegroV17_2\*.xmlAltium 包先altium2ul_xml.py转成 UL 格式 XML核验输出行padsN、pins in sch but not pcb: []引脚数与名称两边一致才算过第 2 步 · 生成 SKILL 构建脚本pythonC:\Users\38101\.agents\skills\cadence-ul-import\scripts\gen_dra_skill.pybuild_dirxml...产物ul_build.il数据内联的 SKILL、build.scr.txt、template.dra空 Package 绘图模板skill 核心资产勿删。第 3 步 · Allegro 批量构建 .dra/.padcdbuild_dir(allegro.exe-sbuild.scr.txtallegro_run.log21)启动必弹Product Choices对话框 → computer-use选Allegro PCB Librarian XL→ OK每次都弹没有免弹配置轮询allegro.jrl里的ULBUILD行验收标准drawing opened typePACKAGEpins createdN failed0N总脚数含散热盘name saved结束后记 PID 精确杀会话taskkill /PID pid /F严禁 /IM会误杀用户开的工程rm -f *.lck产物name.drapad*.pad第 4 步 · 编译 .psm用户手工1 分钟把skill\scripts\make_psm.bat复制到构建目录让用户双击黑窗里依次输入Symbol Drawing (*.dra): → name.dra Package Symbol (*.psm): → name.psm看到xxx saved to disk.即成功。第 5 步 · 生成 .olb用户在 Capture 里点共 5 次点击先备料python pins_pspice_lib.py ... PartName.libAltium 包从 pins.json 生成同名 .lib。用户在已打开的 Capture里Tools → Generate Part... Netlist/source file: build_dir\PartName.lib ← 文件名框手敲完整路径 Netlist/source file type: PSpice Model ← 改路径后会自动重置必须重选 Part name: PartName Destination part library: D:\CIS_LIBRARY\SCH\短名.OLB → OK生成后.OLB落在源 .lib 旁边 → 拷进D:\CIS_LIBRARY\SCH\。第 6 步 · 入库登记 四查全自动# 拷贝正本cpname.draname.psmname.step → D:\CIS_LIBRARY\PCB\symbol\cppad*.pad → D:\CIS_LIBRARY\PCB\pad\# 大小写与登记名统一cpPartName.OLB → D:\CIS_LIBRARY\SCH\短名.OLB# 验证符号名输出 PART: 行逐字符用于登记PATH.../tools/capture:$PATHtclsh84.exe dump_olb.tclD:/CIS_LIBRARY/SCH/短名.OLB# 写库自动备份 mdb 分配 YC CODE 回查python insert_part.py parts.json# cadence-new-part skill scripts 下parts.json 字段IC 表示例[{table:IC,Part Type:Transceiver,Value:RTL8367RB-CG,Description:Realtek RTL8367RB 5口千兆交换 LQFP-128 0.4mm,Schematic Part:RTL8367RB-CG,← dump_olb 输出的符号名一字不差Allegro PCB Footprint:QFP128_RTL8367RB,←.psm 文件名一字不差Manufacturer Part Number:RTL8367RB-CG,Manufacturer:Realtek}]Part Type 必须复用表内已有词汇SELECT DISTINCT [Part Type] FROM [IC]ADC/DAC, Amplifier, Clock, Logic, MISC, Power, ProcessorController, Programmable IC, Storage, Transceiver。四查全过才算完dump_olb输出含目标符号名insert_part.py回查行内容正确ls PCB\symbol\footprint.*同时有 .dra 和 .psmini 三项指向 D:\CIS_LIBRARY放置验证教用户Capture 原理图页右键 →Place Database Part→ 搜 Value → 双击放置。CIS Explorer 是登记前开的话要重开才刷新。4. 常见问题清单全部实战踩过#报错/现象根因解决1UL 官方 .bat 弹 “Allegro 17.2 or later is required”builder.ile 检查版本16.6 不支持放弃官方流程用 gen_dra_skill.py 自建2阿狸狗降版本工具无法使用它只转 17.x 二进制(.dra/.psm/.brd)UL 包里只有 XML 源数据同上XML 直接生成 16.6 数据无需降版本3allegro -s 启动后一直卡住不动每次启动必弹 Product Choices 对话框等人工点computer-use 点掉选 Librarian XL → OK4pins created0 failedN “can only be applied to symbol drawings”打开的是 BOARD/SHAPE 绘图axlSetSymbolType/axlSetDesignType/newdraw/newsym/gensym在 16.6 全都不可用用 skill 的template\probe_pkg.draaxlOpenDesignForBatch库里 flash*.dra/c1r20_d/aspad20 都是 SHAPE 类型不能当模板5Unable to start program; create_symallegro 会话内拉不起子进程补齐 CDSROOT/PATH 也无效用make_psm.bat在真控制台编译 .psm6axlSaveDesign后没有 .psm16.6 保存只写 .dra正常走 FAQ-5 的 bat7Generate Part 报 ORCAP-1541/1516Actel Pin FileActel 格式不公开HEADER 规则构造不出换PSpice Model路线.subckt 端口引脚实测稳定8Generate Part 的 Browse 看不到 .lib/.txt文件类型过滤文件名框手敲完整路径且每次改路径后 type 会自动重置必须重选 PSpice Model9WARNING(SPMHA1-102): Illegal figure size焊盘建不出RECTANGLE 图形等宽高被拒等宽高必须用 SQUAREgen_dra_skill.py 已内置转换rectangle 等宽高→SQUARE手写 XML 时注意10(axlDBCreatePin): Invalid Text Block - 17模板绘图没有 17 号文字块引脚号文字块统一用311WARNING(SPMHA1-102)连带ERROR(SPMH1-161) dbdoctor焊盘失败后的连锁反应修根因多半是 FAQ-9即可消失12ERROR(SPMHDB-184): Unfilled SHAPE may not exist on PLACE_BOUND_TOPplace bound 用了不填充的 shapeOpenShape 第二参传t填充13WARNING(SPMHA1-108): Illegal line segment ... end pointsXML 里有起止点相同的零长度退化线段生成器已过滤连续重复点14保存时卡 “Do you want to save the changes … unnamed?”会话退出前的保存提示computer-use 点否产物已单独存过15启动弹 “…is being edited by user… override the lock?”上次强杀进程留下 .lckrm -f *.lck后重试16误杀用户的 Allegro 工程用了taskkill /IM allegro.exe铁律只允许taskkill /PID启动会话先记 PID17SKILL sprintf 崩溃too many format specs生成器把 %%s 按字面写入SKILL 里 % 是字面量不需转义修生成器已修18sprintf 报 argument incompatibleSKILL 的 %d/%g 对浮点/整数挑剔调试消息统一用%L打印任意 Lisp 数据19Capture 16.6 找不到 XML 导入该功能 16.6 没有olb.xsd 无脚本引用走 Generate PartFAQ-7 路线20写 mdb 报锁定失败Capture/Access 开着库文件关 CIS 浏览窗/Access 再写5. 硬性规矩违反会翻车杀进程只按 PID见 FAQ-16。写 mdb 前必备份insert_part.py 自动做别绕过它手写 SQL。Schematic Part与 OLB 内符号名一字不差Allegro PCB Footprint与 .psm 文件名一字不差变体后缀 -M/-L 放 Alt_Symbols 或 Description不放主名。Capture 运行中不改 Capture.ini退出时会覆盖你的修改。调试产物只放构建目录入库正本只认D:\CIS_LIBRARY里的拷贝。template\probe_pkg.dra是唯一可用的 Package 模板来源删了就要用 UI 手工重建File→New→Package symbol→命名→CtrlS。6. 两次实战记录可对照排错RTL8367N-VB-CGRTL8367RB-CG原料ul_*.zipUL 格式Altium_*.zipschdocpcbdoc封装QFN88_RTL8367_RTK89 脚88EPADQFP128_RTL8367RB129 脚128EPAD 5.6mmYC CODE605010018待登记特有坑FAQ-4/5/7/8/10/16FAQ-9SQUARE Altium 格式转换7. 增补 FAQ2026-10-03 RB 实战第二轮#报错/现象根因解决21Generate Part 后同会话Place Database Part 报 ORCIS-6085生成的 OLB 被自动挂进当前工程工程树 Library 下出现该 olbCapture 持有 .OLBlck 锁CIS 读取冲突工程树右键该 olb → Remove From Project 释放锁锁文件消失后重开 CIS Explorer 放置22.psm 也能全自动编译bash 管道喂 stdin 会触发 create_sym 批处理模式SPMHUT-39PowerShellStart-Process cmd /c make_psm.bat开真控制台 computer-use 键盘输入两行文件名23Generate Part 对话框可远程驱动活动文档是**项目管理器(.opj)**时 Tools 菜单项才可用原理图页激活时全灰computer-useAXExpand Tools → AXPress Generate Part…对话框字段用 setValue 按 window_id 固定绑定填写24符号太丑Generate Part 单列长条自动生成的固有布局抄参考设计课程/同事的 .dsn 用 export_to_olb.tcl 抽符号路线 A名字一致则数据库零改动直接换 OLB 文件RB 实战结论参考工程02_千兆5口交换机项目\01-工程文件\SCH\RTL8367RB_5PORT_SWITCH.DSN一次抽出 15 个可用符号RTL8367RB-CG、RJ45_053_5、HX5084NL、TMI3253SH、XTAL2 等换入D:\CIS_LIBRARY\SCH\RTL8367RB.OLB原自动版备份为 _auto_backup.OLB。
返回列表