ARTICLE DETAIL

资讯详情

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

Allegro 16.6 效率配置指南:从快捷键到Gerber导出的实用避坑手册

Allegro 16.6 效率配置指南:从快捷键到Gerber导出的实用避坑手册 年前换工作电脑把常用的 Cadence Allegro 16.6 重新装了一遍又老老实实把那些散落在各处的小设置一个个找了回来。说实话Allegro 这个软件功能强大是强大但很多好用的配置藏得深不常折腾的人根本不会去翻。我当年刚接触的时候光一个快捷键设置就折腾了一下午后来用得时间长了才发现这些设置一旦配好效率的提升是肉眼可见的。这篇东西就把我在 16.6 上摸爬滚打攒下来的一些设置和排坑经验整理出来主要写给正在用 Allegro 画板、或者从其他 EDA 工具转过来的工程师、学生朋友按着操作一遍至少能让你的 Allegro 顺眼一半。1. 装完软件第一步环境变量、快捷键与脚本路径先把“顺手”配好很多人装完 Allegro 16.6 就直接开始画板结果用半天就觉得别扭其实问题往往出在环境没有配好。Allegro 跟 AD 这种“开箱即用”的软件不一样它的用户配置是高度文件化的也就是一切设置都写在环境目录里搞清楚这个机制才算真正入门。1.1 HOME路径与env文件改之前先搞清楚改的是哪个文件Allegro 16.6 的启动逻辑是读 HOME 环境变量然后在 HOME 目录下找pcbenv文件夹再从这个文件夹里读取env文件。默认安装时HOME 一般被指向C:\SPB_Data也就是说你的所有用户配置都在C:\SPB_Data\pcbenv\env这个文件里。这里我强烈建议在重装系统或者换电脑后第一件事就是把 HOME 改到一个你自己好找、方便备份的地方。右键“此电脑” → 属性 → 高级系统设置 → 环境变量添加一个系统变量 HOME指向比如D:\Cadence\Home。改完之后记得在D:\Cadence\Home下手动建一个pcbenv文件夹不然 Allegro 启动时会因为找不到用户目录而报错或者干脆不加载你的配置。env 文件是纯文本格式里面可以写很多东西最常用的就是快捷键别名、skill 脚本路径、以及一些启动参数。新手改 env 前一定要先备份一份万一写错了还能恢复。另外注意Allegro 16.6 对路径里的空格和中文支持不太友好HOME 路径和后续所有工程路径尽量都用英文、不要带空格。1.2 funckey和alias快捷键设置的正确姿势Allegro 的快捷键不像 AD 那样有图形化配置界面你得直接改 env 文件。env 文件里定义快捷键有两种方式alias和funckey很多新手搞不清区别。alias定义的是“按快捷键后还需要回车才执行”的命令funckey定义的是“按下立即执行”的命令不用回车。所以实际使用中我们绝大多数都会用funckey操作更跟手。我个人的常用配置是这样一段alias F2 done alias F3 cancel alias F4 oops alias F5 undo funckey F6 add connect funckey F7 add arc funckey F8 add text funckey F9 pop ribbon funckey F10 zoom fit funckey PGUP zoom in funckey PGDN zoom out比如funckey F6 add connect意思就是按 F6 立即启动走线命令。这些命令名在 Allegro 的 command 窗口里都有对应名称你输入命令时命令栏右下角会显示名字熟了之后就可以自己往 env 里加。这里提醒一下编辑 env 时命令名和引号一定用英文半角中文输入法状态会让人白折腾半天。1.3 skill脚本加载allegro.ilinit与自动启动项Allegro 的强大一半在于它能跑 skill 脚本。很多效率工具、自动检查脚本都是 .il 格式的 skill 程序比如自动生成测试点、批量修改封装、检查 90° 折角走线等等。16.6 默认在pcbenv目录下会有一个allegro.ilinit文件你可以新建或编辑这个文件在启动时自动加载你常用目录下的所有 skill 脚本。比如load(D:/Cadence/skill/tools/xxx.il)如果是批量加载还可以在 env 文件里设置set skillPath来指定 skill 搜索路径这样在命令栏执行skill my_func()就能调用。这里有一个坑skill 文件路径同样不要带中文有些 skill 对路径编码判断很死带中文直接 load 失败。1.4 单位与设计参数模板把新项目起点统一起来每个公司、每个项目对 PCB 的要求都不同但如果每次新建板子都要重新去设置单位、格点、设计参数那就太浪费时间了。Allegro 支持把一套设计参数保存为模板在Setup → Design Parameters里设置好线宽单位、角度模式、走线模式之后直接在空白板子上另存为template.brd以后新建工程时在 File → New 里选这个模板文件所有参数就自动带上了。我习惯把单位固定为 mil角度固定为 45°男45这些基础参数直接影响后续所有走线效率尤其是从毫米思维切到 mil 思维刚开始会不适应但 PCB 行业的标准封装基本上都是 mil让工具适配行业规范是最省心的。2. 显示与编辑设置铜皮、栅格、颜色和飞线别让眼睛受罪显示设置是我见到抱怨最多的一块尤其是铜皮只显示轮廓这个问题几乎每隔几天就会有人在群里问一次。其实这些问题大多不是软件坏了而是显示配置被切换了或者某些显示选项处在非预期状态。2.1 铜皮只有轮廓先查shape fill再查OpenGL打开一个旧项目发现所有铜皮只剩一个边框看起来像被掏空了一样这不是文件损坏极大概率是显示设置为“无填充”了。在菜单栏进入Display → Shape Fill可以看到有 No Fill、Static Solid Fill、Dynamic Solid Fill 等选项如果当前选的 No Fill所有 shape 自然只剩轮廓。如果你是做动态铜皮还可能出现轮廓都正常、但怎么刷新都不显示填充的情况这时候建议先执行一次Setup → User Preferences → Display找到shape_fill相关选项确认外层 fill 是开着的然后再用Display → Update Shapes快捷键一般是 U刷新全部 shape。如果还是不行八成是 16.6 在 Win10/Win11 下 OpenGL 渲染兼容性的老毛病可以在 User Preferences 里把enable_opengl关掉图形会回到传统 GDI 渲染虽然流畅度略降但显示稳定很多。2.2 颜色方案备份与快速切换Color View的作用很多从 AD 过来的人一到 Allegro 就被各种层颜色搞晕。Allegro 的层颜色非常细单是一个 TOP 层就分 Etch、Pin、Via、Silkscreen 等子类每种子类都可以单独设置颜色和可见性。配色方案是可以用文件带走的路径在Display → Color/Visibility配置完后点Display → Color View Save保存为.color文件。我一般把常用的一套配色存成my.color放在pcbenv目录下换电脑后直接命令栏输入colorview load my.color就能秒恢复。这里分享一个习惯我把所有走线层Etch统一配色内层电源层用紫红色区分机械层如 Outline、Dimension 用灰色丝印层用白色/黄色这些看似不起眼的习惯在查阅高密度板时能省不少眼力。2.3 栅格、设计格点和走线角度锁定Allegro 的格点设置在Setup → Grids但这个菜单下有多个标签很多人只看 Etch 那一页。实际使用时要注意区分走线层格点控制走线时的捕捉步进非走线层格点控制光标移动的粒度。我常用的一套参数是这样场景非走线层走线层布局阶段25mil / 25mil5mil / 1mil布线阶段25mil / 25mil5mil / 5mil精细调整5mil / 5mil1mil / 1mil布局阶段非走线层用大格点方便对齐元件布线阶段走线层用小格点走线更精细。另外在Setup → Design Parameters → Route页面里可以把默认角度锁定为 45°。很多人画板画到一半发现折角变成 90°就是因为这里的角度设置被改成了 90 或 Any锁定 45 能帮你从源头避免后期检查一堆 90° 折角。2.4 飞线的显示/隐藏与网络高亮设置布局时飞线满天飞挡住底层丝印或者元件位号是常有的事。Allegro 的飞线控制入口在Display → Blank Rats隐藏和Display → Show Rats显示。隐藏全部飞线Display → Blank Rats → All显示选中器件飞线先选中器件再执行Display → Show Rats → Component只看某个网络的飞线右键选Rats → Show Rats → Net然后点网络布线阶段我通常把电源网络和地被特殊颜色高亮再配合飞线显示方便快速观察哪些引脚连过来了。高亮颜色在Display → Color/Visibility的 Highlight 标签里设置注意高亮颜色和层颜色尽量避开相同的色系不然会觉得画面很乱。3. 规则、封装与焊盘设计到一半最常遇到的那几个“卡壳”规则和封装这两个东西是 Allegro 学习曲线里最陡的一段也是实际工程里最容易卡壳的地方。很多人画板画到一半突然说某个封装不能替换、某个焊盘删不掉其实大部分问题都出在配置或者文件属性上。3.1 设计规则设置从线宽/线距到区域规则的配置链路Allegro 的规则系统在Setup → Constraints → Constraint Manager里管理分为 Physical物理规则和 Spacing间距规则两大类。Physical 里最重要的一块是 Net Class 和线宽。你可以在Physical → Net → All Layers页面里定义一个 class比如PWR然后把 5V、3.3V、GND 这些网络归进去设置线宽 Minimum 10mil、Default 20mil、Maximum 100mil。这个“Default”很重要它是你走线时默认使用的线宽也是修改线宽后比如临时改细恢复正常走线的依据。Spacing 规则里我一般会为差分网络单独建立一个 Net Class 并设置对间间距或者使用 Region 规则在板边特殊区域比如BGA出线区用Shape → Add Rect画一个区域然后在 Constraint Manager → Region 里分配规则这样同一层不同区域可以有不同的间距。补充一个常用经验在 PCB 设计中走线到板边的间距建议统一设为 0.5mm约 20mil这在 Allegro 里要到 Spacing → Same Net 或 Design Modes 的相关项里设置具体位置和你的规则模板有关但思路是一样的。3.2 替换封装与更新Symbolcell read-only问题的根源原理图里把电容封装从 0603 改成 0402导入网表后 PCB 上封装却不更新这是很多新手都会遇到的事。Allegro 的库管理逻辑是PCB 文件里的封装symbol是独立于库文件的一份拷贝网表导入不会自动触发封装更新你必须手动执行Tools → Update Symbols → Package Symbols然后选择要更新的封装名勾选“Update symbol padstacks”这样 PCB 上的封装才会和库一致。但如果你在更新时遇到提示 symbol 或者 cell 是 read-only先不要急着删掉重画这个问题的常见根因是库文件或设计文件本身是只读属性。尤其是从同事或服务器上拷贝过来的项目Windows 的文件只读属性经常还保留着右键.brd文件或封装库目录把只读勾选去掉再打开即可。还有一种情况是封装被设置了 Fixed 属性锁在板上这时要先用Edit → Properties选中器件在属性表里把Fixed删除才能执行替换操作。3.3 无用焊盘去不掉问题多半不在“删除”这个动作PCB 上出现无用的焊盘常见有两种情况一种是封装创建时带进来的多余焊盘另一种是导入网表后元件引脚映射错误产生的冗余焊盘。如果右键选中焊盘后发现 Delete 选项是灰的或者在执行Tools → Padstack → Modify Design Padstack后无法删除对应焊盘先检查一下焊盘所属的 symbol 有没有被锁定。另外注意一个容易被忽略的点Allegro 里删除焊盘不等于删除“一个 pad”而是删除这个焊盘符号在 design 里的引用。如果你在一个封装里放了 10 个焊盘但实际连接只有 8 个这时应该回到封装编辑器里修改 symbol删除多余的焊盘保存后回 PCB 用Tools → Update Symbols更新。直接在 PCB 上删焊盘会导致 Symbol 的引脚编号和网表匹配不上后续产生一堆 DRC 报错。3.4 线宽临时修改与Net Class管理实际画板中经常遇到“这一段走线要加粗到50mil”的需求而不是整个网络都要变粗。最直接的操作是用Edit → Change选中线段后在 Options 里改线宽但这个操作需要当前设计参数允许该网络使用 50mil 的线宽所以如果你的 Net Class 的 Maximum 值设小了就会报错。更规范的做法是在 Constraint Manager 里把该网络的 Maximum 调大比如 100mil然后执行 Change 修改线宽。如果你希望同一网络在某些区域用粗线、其他区域用默认细线可以用区域规则Region Assign的方式这样 DRC 检查时才不会产生误报。另外我自己的习惯是给线宽设置一个快捷键宏比如一键切换到 10mil、15mil、20mil用 skill 写起来很简单也能极大提高调线宽时的操作速度。4. 数据导入导出网表、Gerber、坐标、BOM与格式转换的配置细节Allegro 是一个极其擅长“产生数据”的工具但它的导入导出设置如果不仔细很容易出现网表导不进、Gerber 缺层、坐标对不上、转换乱码之类的问题。这个章节我按常用文件的进出场景把容易踩的坑逐个说一遍。4.1 网表导入前的选项设置与常见失败原因从 OrCAD Capture 向导出的流程是在 Capture 里Tools → Create Netlist切换到 Allegro 选项卡勾选“Create Allegro Netlist”生成.net和.dat文件。然后在 Allegro 里执行File → Import → Logic方式选择 Cadence在 Netlist File 处指定生成的.dat文件。这个地方常常遇到的一个报错是“Netlist file not found”但不是文件不存在而是路径里带了中文或空格Allegro 的 Netlist 导入对路径解析很弱尤其是中文编码不匹配时根本读不到。所以工程路径从一开始就养成习惯全部用英文字母、数字和下划线能省掉后面一大堆诡异问题。另一个常见问题是网表导入后一大堆器件没进来报错“Component not found”。这通常是因为 Allegro 的器件库路径没有配置好在Setup → User Preferences → Design Paths → padpath和psmpath里把封装库路径加进去确保Library指向的目录下有对应封装。4.2 Gerber光绘文件导出的分层与格式配置光绘文件是交给板厂的关键文件Allegro 里在Manufacture → Artwork里配置。这里我建议从新板子开始就建一套自己的 film 模板不要每次手动加层。Film 的顺序和 Subclass 对应关系要准确下面是我常用的列表Film NamePCB 对应内容备注TOPETCH/TOP, PIN/TOP, VIA CLASS/TOP顶层走线焊盘BOTTOMETCH/BOTTOM, PIN/BOTTOM, VIA CLASS/BOTTOM底层走线焊盘GNDETCH/GND, PIN/GND, VIA CLASS/GND内层负片或正片按实际SILKSCREEN_TOPBOARD GEOMETRY/SILKSCREEN_TOP, REF DES/SILKSCREEN_TOP顶层丝印SOLDERMASK_TOPBOARD GEOMETRY/SOLDERMASK_TOP, PIN/SOLDERMASK_TOP, VIA CLASS/SOLDERMASK_TOP顶层开窗PASTEMASK_TOPBOARD GEOMETRY/PASTEMASK_TOP, PIN/PASTEMASK_TOP顶层钢网贴片用DRILL钻孔符号层注意 drill legend光绘格式统一用 RS-274-X也就是 Gerber 274X它把 D 码内嵌在文件里板厂不需要额外 D 码表。输出前一定记得在Manufacture → Artwork → Film Control里点击“Create Artwork”把所有层一次性输出再去 CAM350 里叠加检查一遍这是我不论多急都不跳过的步骤。补充一个小经验如果板厂说开短路有问题先检查是不是 Film 里没有把“UNFILLED SHAPE”或“Thermal Relief”相关选项设置对很多内层电源层的问题都出在负片/正片设置和光绘填充方式不一致。4.3 坐标文件与BOM导出的字段设置SMT 贴片需要的坐标文件在 Allegro 里通过File → Export → Placement导出文件格式选 CSV里面包含 RefDes、X、Y、Rotation、Layer 等字段。导出的坐标单位一定要跟板厂确认一般用 mil 或 mm不过 Allegro 默认经常是 mil。BOM 导出一般不从 Allegro 做直接在 OrCAD Capture 里Tools → Bill of Materials可以按需要勾选分组方式比如按 Value 合并、按 Footprint 合并。如果你的 BOM 还需要包含位号、数量、封装、厂家等字段可以在 Capture 的属性编辑里统一维护这些自定义属性导出的模板用 Open in Excel 方式生成 CSV方便后续处理。我自己的习惯是在导出前先对所有元件做一次属性核对避免 BOM 里出现“C?”这种非法位号这在板厂贴片时会非常麻烦。4.4 转PADS、转AD的几种路径与版本坑先聊 Allegro 转 PADS。PADS现在叫 Mentor PADS自带一个转换器常见的操作是打开 PADS LayoutFile → Import → Allegro Design选择.brd文件PADS 会调用自带的 translator 进行转换16.6 的文件一般可以直接转。如果你的 PADS 版本比较老不支持直接读.brd另一条路径是在 Allegro 里File → Export → IPC-2581需要安装对应补丁生成一个通用的 IPC 格式压缩包再用 PADS VX 以上版本导入。但无论哪种方式转完之后一定要抽查内层铜皮、过孔和网络连接情况这种跨工具转换十次有八次要丢点东西尤其是动态铜皮转过去后经常变成一大块静态填充或者干脆消失。再聊 Allegro 转 ADAltium Designer。AD 的导入器对 Allegro 的版本识别非常挑剔常见的报错是“not recognized or version is too old”。如果遇到这种情况最稳妥的办法是在 Allegro 里先把版本降下来File → Export → Downrev Design把设计保存为 16.6 或更低版本再由 AD 导入。AD 导入后网络、封装基本能保留但 3D body、部分自定义属性可能会丢失转换后的板子同样要做 DRC 全套复查。4.5 ODBC数据源与CIS的配置衔接跟数据库相关的设置可能是最容易被忽略的。如果你的公司用 Capture CIS 做元件库管理就一定会遇到 ODBC 数据源的配置问题。Allegro 16.6 是 32 位程序所以 ODBC 数据源必须配置成 32 位版本的。在 Windows 10/11 里打开“控制面板 → 管理工具 → ODBC 数据源(32位)”——注意不是 64 位那个16.6 读取不了 64 位 DSN。新建一个“用户DSN”驱动类型根据你的库选择比如 Access、Excel 或 SQL Server填好数据库路径后再回到 Capture 的Options → CIS Configuration里指定该数据源。配置完可以打开 CIS Explorer 验证能否正常浏览元件库。这个环节报错最多的就是“找不到数据源”九成原因是配了 64 位 ODBC 或数据源名称对不上。5. 原理图与仿真联动从Capture到Allegro之间容易被忽略的设置很多画板工程师只关心 PCB 编辑器里的操作但 Allegro 生态里原理图和仿真部分同样有大量“隐藏开关”尤其是那些看起来无关紧要的报警处理不好会影响整个设计流程。5.1 引脚类型报Power报警的处理用 OrCAD Capture 做原理图时经常会在 DRC 检查里看到类似“Pin type is power”的报警很多人一看就慌了以为是电源接错了。这个报警的含义是说某个器件引脚的类型是 Power但它当前连接的网络不是一个电源网络或者反过来引脚类型非 Power 却连到了电源网络。处理方法主要有两种一是修改原理图符号里引脚的属性进入Edit Part选中引脚后在属性框里把 Pin Type 改成 Power 或 Passive存盘后返回原理图更新二是确认该引脚是否确实应该连电源如果确实没问题可以忽略这条 DRC。但我不建议一上来就忽略尤其是项目中所有人共用一套库引脚类型定义混乱会影响多人协作时的检查效率建议统一库里的引脚类型规范。5.2 Intersheet References报错与跨页参考设置多页原理图里生成网表或做打印输出时经常会用到 intersheet references跨页参考它可以在 off-page connector 旁边自动标出目标网络所在的页面。如果在 Capture 的Options → Preferences → Miscellaneous → Intersheet References中启用这一功能后生成报错绝大多数情况是 off-page connector 的网络名前后不一致比如一页叫“PWR_5V”另一页叫“PWR5V”Allegro 在匹配时会因为找不到同名网络而中断。处理思路是先用网络表检查工具把所有 off-page connector 的网络名列出来逐一比对拼写是否完全一致包括下划线、大小写。另外一个容易被忽略的点是重新生成 intersheet references 之前先删除旧的参考标记否则会报“duplicate reference”的错误。5.3 PSpice仿真器件未定义与瞬态不收敛的典型设置问题虽然这是仿真模块的内容但既然用 Cadence 生态总会碰到。仿真时最常报的“Model ... not defined”意思是器件没有指定 PSpice 模型。一种情况是原理图里放的元件只有 PCB 封装属性没有 PSpice 模型属性另一种情况是模型库文件.lib没有加载。打开PSpice → Edit Simulation Profile → Configuration Files → Library把对应的库文件添加进去如果报模型缺失但库已加载检查库文件里的模型名是否和器件属性里的“PSpice Template”一致。瞬态仿真不收敛是另一个高频问题。在Analysis Type里选择 Time Domain(Transient) 后把“Maximum Step Size”设置得足够小非常关键。比如一个 1MHz 的时钟信号最大步长建议不要超过 100ns周期十分之一如果是高速边沿还要更小。另外把“Skip initial transient bias point calculation”勾选上很多由于初始工作点计算发散导致的不收敛问题都能绕过去。如果还是不收敛可以试着把相对误差容限从默认的 0.001 放宽到 0.01但注意这会牺牲一定精度只能作为排查手段而非最终方案。5.4 90°走线检查默认DRC里没有怎么处理这个话题值得单独拿出来说。很多从 AD 转过来的工程师会习惯性去 DRC 设置里找“禁止 90° 折角”选项但 Allegro 16.6 的 DRC 体系里确实没有一个显式的“90 degree check”开关这个功能在更新的版本里才被直接做进界面。那老版本怎么查我自己的做法是分三步第一源头控制。走线时默认角度锁定 45°并在Setup → Design Parameters → Route里把 Line Lock 设置为 45这样新画的线天然不会有 90° 折角。第二板子画完后用 skill 脚本检查。社区里有不少现成的 skill 脚本比如遍历所有 cline segments计算相邻线段夹角如果夹角为 90°允许一定容差就高亮并输出坐标。我没有固定推荐某一份脚本因为各家库不一样重点是理解脚本逻辑读取线段两端坐标用向量点积算出夹角超过阈值就标记。第三如果项目比较急、脚本又不方便装可以用笨办法在Display → Highlight里选择网络类的 Cline Seg 后再按 45° 方向视觉扫一遍高密度板确实累但总比漏掉强。这里也提醒一个反差认知有些板子比如射频板或高密度 BGA 区域局部确实需要 90° 折角走线这是设计需求不是错误。所以检查的目的不是“消灭所有 90°”而是“找到所有 90°然后一个一个确认它们该不该存在”。从环境变量到显示设置从封装焊盘到文件转换这篇文章里写的每一个点都是我在实际项目里真金白银踩出来的。如果你也在用 Allegro 16.6建议先从快捷键和颜色方案入手把最常用的操作调到顺手再慢慢深入规则和转换这些高级设置。配置这种东西没有绝对的对错适合自己的项目习惯就是最好的。我每次给新同事配环境时都会强调把这些小设置当成你自己的工具箱每次换电脑都想着带它们走而不是重新开始习惯默认界面。最后再唠叨一句改 env 文件之前记得备份转文件格式之前记得另存这两个习惯能让你在 Allegro 世界里走得安稳很多。
返回列表