ARTICLE DETAIL

资讯详情

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

Allegro X 24.1栅格设置全攻略:从原理到PCB设计习惯养成

Allegro X 24.1栅格设置全攻略:从原理到PCB设计习惯养成 很多人在Cadence Allegro里画板子元件摆得歪歪扭扭走线看着也不利索第一反应往往是“我再手动调调”。但真正的原因可能出在最不起眼的那个参数上——栅格。今天借着Cadence Allegro X 24.1中文界面这个话题把栅格设置这件事从头到尾捋一遍顺便聊聊我这么多年在PCB设计里养成的设计习惯。这篇文章适合刚入门的PCB工程师也适合那些画了好几年板子但一直没仔细研究过栅格的人。栅格用得好布局清爽、布线工整、DRC少报错后面对接生产也省心。下面直接进正题。1. 为什么PCB设计离不开栅格——先搞懂栅格到底管什么很多初级工程师把栅格当成一种“辅助线”觉得画板子的时候看得见网格就行。这个理解不算错但远远不够。栅格在Allegro里不是一个简单的视觉参考而是整个设计坐标体系的基准它可以决定你摆放元件的精度、走线对齐的质量甚至影响后端生产制造的可检查性。1.1 栅格不是“辅助线”而是设计体系的地基当你新建一块PCB在Allegro X 24.1中会看到一个密密麻麻的网格点。这些点不是无意义的装饰它们带有的坐标值就是你在布局、布线时所有操作的对齐基准。元件放置在栅格点上走线沿着栅格方向前进过孔打在栅格交点上这些操作一旦形成习惯整块板子会呈现出一种“规整感”。反过来讲如果你在布局时随意放置元件走线时也不关心是否在栅格上那么元器件就会七扭八歪走线会呈现大量不必要的折角后期修改封装、调整结构、生成Gerber都会遇到麻烦。尤其是在和结构工程师对接板框、定位孔坐标时栅格混乱会导致定位偏差。所以我说栅格是设计体系的地基不是夸张。在Allegro中栅格和单位系统是强关联的。你用的是mil还是mm栅格间距自然也要跟着走。国内很多公司在做消费类产品时习惯用mil因为传统的PCB走线线宽、间距规范大多是mil体系比如常见的5mil、8mil、10mil做汽车电子、工控类产品时结构图纸往往是mm单位所以栅格也要对应设成0.1mm或0.25mm这样的值。栅格和单位不匹配坐标对不上后面对接结构图就是一场灾难。1.2 显示栅格、捕捉栅格、走线栅格三者的角色差异在Allegro X 24.1中文界面的栅格设置面板里你会看到很多选项但核心要分清楚三类栅格。栅格类型主要作用影响对象显示栅格Grid Display屏幕上可见的网格点或网格线视觉效果、操作参考捕捉栅格Snap Grid鼠标光标的吸附步进元件放置、走线起点终点走线栅格Etch Grid走线时线段的走向和转折基准铜箔走线的几何形状、DRC检查显示栅格是让你“看得见”的网格它不会限制你的任何操作。捕捉栅格则决定你“抓得住”哪些点鼠标在屏幕上移动时会被吸附到最近的栅格点上。走线栅格更特殊它影响的是布线器在走线时的坐标精度尤其在使用交互式布线命令时线段的端点和拐角会落在走线栅格上。很多新手容易犯的错就是把显示栅格关了以为栅格就不起作用了其实捕捉栅格和走线栅格依然在影响着操作。反过来有人觉得我看得到网格就是有栅格但实际上捕捉栅格被设成了0鼠标是自由移动的元件想放哪就放哪最后板子看起来就是散的。理解这三者的差异后面设置起来就不会糊里糊涂。2. Allegro X 24.1中文界面栅格设置实操Allegro X 24.1的中文界面相比老版本英文界面菜单名称发生了变化但底层逻辑和经典的Allegro PCB Designer是一致的。下面我把实际操作路径和参数讲清楚。2.1 打开栅格设置面板的几种方式在Allegro X 24.1中打开栅格设置最稳的路径是走菜单顶部菜单栏找到“设置”Setup下拉菜单里点击“设计参数编辑器”Design Parameter Editor在弹出的窗口中选择“栅格”Grids选项卡。这里的“设计参数编辑器”就是老版本里的Design Parameter Editor英文缩写叫DPE熟练之后很多人直接叫它“参数编辑器”。除了菜单路径还有几种快速方式。第一种是直接在命令行敲“g”加空格再加两个数值比如输入“g 5 5”回车后捕捉栅格就会变成X和Y方向都是5mil。这个命令在布线时非常常用比打开菜单快太多。第二种是在执行命令的过程中右键比如你在放置元件或走线的时候右键菜单里会有“栅格”Grids选项点开可以直接设置当前命令下的栅格参数。第三种是使用快捷键如果你的env文件里配置了“funckey g grid”之类的快捷映射按一个键就能调出栅格设置。我实际用下来最推荐的组合是平时用菜单或快捷键打开栅格设置面板做详细配置布线时用命令行“g x y”快速切换捕捉栅格。这样既保证了设置的完整性又保证了效率。2.2 等分栅格与不等分栅格的具体参数怎么填打开“栅格”选项卡后你会看到Allegro把栅格分成了两大类区域非走线层Non-Etch和走线层Etch。这两类栅格需要分开设置。非走线层栅格主要影响元件布局、板框绘制、丝印调整这些操作。非走线层的X轴间距和Y轴间距可以设置成不同的值比如X方向设25mil、Y方向设10mil这样就形成了一个非等分栅格。什么时候用非等分栅格呢比如某些板子的定位孔或接口排列是横密竖疏的规律这时候非等分栅格可以让元件快速对齐到结构要求的坐标上。但我必须说绝大多数常规板子用等分栅格就够了也就是X和Y设成相同值。走线层栅格影响的是铜箔走线。走线层的栅格值通常要和线宽、线距匹配。举个例子如果你的设计规则里默认线宽是5mil线距是5mil那走线栅格设成5mil就比较合理。如果你在走一组差分线差分对内的间距是4mil对与对之间的间距是12mil那栅格设成1mil或0.5mil会更灵活因为差分走线经常需要微调。参数面板里还需要留意“偏移”Offset设置。偏移用于让栅格原点偏离设计原点。有些板子为了配合连接器位置或结构安装孔会把栅格偏移到某个特殊坐标上。对于新手我建议偏移先保持0等真正遇到对齐需求时再调整不要一开始就改偏移否则坐标容易算乱。2.3 极坐标栅格圆形板布局的隐藏利器很多人在Allegro里用了几年都没碰过极坐标栅格但如果你做过圆形LED灯板、圆形射频板或者环形排布的多接口板就会知道极坐标栅格有多好用。在栅格设置面板的“栅格类型”或相关选择区域可以切到极坐标模式Polar Grid。切换后栅格不再是以X、Y为坐标的方形网格而是以某个圆心为中心、按半径和角度分布的同心圆和放射线。放置元件时可以按照角度和半径精确定位特别适合环形均匀分布的元件阵列。极坐标栅格设置时要确定几个关键参数圆心坐标、半径间距、角度步进。比如一块圆形板需要在半径为50mm的圆周上均匀放8个LED那角度步进就设为360除以8等于45度半径固定为50mm。这样放置出来的元件圆度和均匀度无可挑剔比手动量坐标再摆放快得多。不过极坐标栅格也有一些限制比如在极坐标模式下长条形元件的旋转角度需要手动配合有时候元件库本身的0度方向不是朝外的需要逐个调整。我的经验是先用极坐标栅格放置所有元件然后统一检查调整每个元件的旋转角效率依然比纯手动高很多。3. 分阶段栅格策略布局、布线、铺铜各用多少栅格不是设置一次就一劳永逸的。不同设计阶段栅格的需求完全不同。如果从头到尾只用一个栅格值要么布局效率低要么布线不精细。我习惯把整个PCB设计过程拆成三个阶段分别设置栅格。3.1 布局阶段大栅格先把器件码整齐布局阶段的核心目标是快速把元件按功能模块摆放到位形成初步的空间规划。这时候栅格设大一点比如25mil或50mil甚至100mil反而更高效。大栅格的好处很明显元件只能落在间距较大的栅格点上排列自然整齐不会出现元件之间差几mil的细微错位。我见过一些工程师布局时把栅格设成1mil结果元件东一个西一个看起来好像每个位置都很“精确”实际上整板元件互相不对齐非常不美观也不利于后续布线的通道规划。元件摆放讲究“物以类聚、边界对齐”大栅格能帮你强制做到这一点。这个阶段需要特别注意接口器件和定位孔。连接器、USB座、天线弹片这些与结构相关的器件坐标必须严格按结构图放置哪怕结构坐标不在你的栅格上也要优先满足结构要求。实际操作中我一般先把结构相关的器件按结构图纸坐标精确摆好然后把它们的坐标“锁定”再用大栅格去摆其他元件做到结构器件精确、普通器件整齐。电源模块的布局也可以用大栅格。比如DC-DC电路输入电容、功率电感、输出电容之间的环路要尽量紧凑用25mil栅格去放这些元件既能让开关环路面积可控又能保持整体布局的清爽。布局阶段的“整洁”会直接降低后面布线的难度。3.2 布线阶段栅格跟着线宽线距走进入布线阶段栅格策略要立刻切换。这时候再用25mil的栅格走线很多走线会卡在栅格点上不能微调非常难受。我的惯用做法是把捕捉栅格和走线栅格设成1mil或0.5mil。为什么不是5mil因为5mil的栅格在走线时跳转幅度太大当你需要把一条线精确地贴着BGA焊盘边缘出去时5mil的步进会让你很难卡到位。如果板子的最小线宽和线距都在5mil以上而且走线密度不高用5mil栅格其实也够用。但现在的消费类产品DDR、HDMI、USB、PCIe这类接口的布线密度很高很多区域的走线间距只有3mil甚至更小栅格设成1mil甚至0.1mil才有足够的调整精度。布线时的栅格还要和角度锁定配合。Allegro默认走线角度是45度也就是走线转折时以45度倍数的角度转向。这个特性对高频信号非常重要直角走线会造成阻抗突变而45度走线能明显减小反射。你在布线时看到的那些斜线本质上就是走线栅格在45度方向上的延伸。所以布线栅格不要设成0设成0等于放弃了对走线几何形状的约束。另外BGA扇出是布线阶段最考验栅格设置的操作。BGA焊盘间距通常是0.8mm、0.65mm或0.5mm换算成mil分别约是31.5mil、25.6mil、19.7mil。扇出时要在焊盘之间穿线、打过孔栅格设成0.1mil或0.05mil才能保证误差足够小。BGA扇出我一般先把栅格调到最小精度把所有通道打通然后再恢复1mil栅格做长线布线。3.3 铺铜与高密度板怎么在效率和精度之间找平衡铺铜操作对栅格的精度要求也很高。如果栅格太粗比如25mil你会发现铺出来的铜箔边缘会呈现出明显的锯齿或阶梯状虽然电气上没太大问题但板子看起来非常粗糙而且容易在铜箔内部留下细小的尖角对制造不利。我的习惯是在铺铜前把栅格切到1mil或0.5mil如果板子高密度、关键区域需要光滑的铜箔边界可以切到0.1mil。铺完铜之后再切换回布线的常规栅格继续工作。虽然频繁切换栅格看起来麻烦但熟络之后并不会耽误时间反而会让设计质量上一个台阶。高密度板还有一个特殊场景就是差分对和内层走线。内层走线经常要参考电源层和地层而内层的铜箔开窗和走线通道如果和栅格不匹配会导致参考平面不连续。我遇到过一块高速板内层走线在参考平面开窗边缘处阻抗突变最后定位发现就是因为走线拐角没有和平面边缘的栅格对齐留出了一个狭长的小铜皮形成了一个意外的寄生电容。这种问题在仿真和实测中都很难查只能前期靠栅格习惯来规避。铺铜时还需要关注热焊盘和过孔连接。Allegro中花焊盘连接thermal relief的角度和连接宽度也会受到栅格精度的影响。有些工程师反馈说铺铜后过孔连接看起来不对称往往就是栅格精度不足导致的几何偏移重新设小栅格后重新铺一遍就正常了。4. 从栅格延伸出去的设计习惯标题里提到“设计习惯”这个点我必须展开讲。栅格设置本身只是一个参数但它能引申出一个工程师对设计规范、可制造性、可维护性的态度。下面这些习惯是我在项目里总结出来的踩过不少坑才形成的。希望你看完能少走弯路。4.1 on-grid一条“在线”的走线有多重要“on-grid”指的是走线、元件、过孔都在栅格点上。老工程师经常强调“走线要在线”意思就是让走线保持在设计栅格网络上不要出现off-grid。为什么这么讲究因为PCB制造时光绘文件是按坐标解析铜箔图形的如果大量off-grid线段存在虽然光绘机依然能输出但在制造前的DFM检查环节CAM工程师经常会反馈一堆坐标异常警告处理起来非常痛苦。更实际的影响是后期修改。你布完线后如果发现某一段网络需要调整off-grid的线段在编辑时非常难选中和移动因为它的起点、终点不在任何整数坐标上。相反一切都在栅格上的设计你只通过坐标窗口就能精准定位问题走线甚至在Allegro的Find面板输入坐标直接跳转。这个差别在改版密集的项目里体会尤其深。有一个简单有效的检查方法设计完成后跑一遍DRC专门查“off-grid”或“location”类型的错误。如果报错数量多说明整个设计过程的栅格控制出了问题需要回头逐条处理。如果报错几乎没有走线的质量大概率是靠谱的。我自己在评审别人图纸时第一眼先看布局齐不齐第二眼就是看走线是否on-grid这两点基本能判断出一个工程师的设计习惯好坏。4.2 设计开始前的三个固定动作很多工程师拿到一个项目原理图导入网表后打开PCB编辑器就开始摆元件这是一个非常不好的习惯。我在开始任何一块PCB设计之前都会强制自己做三个固定动作这三个动作和栅格直接相关。第一个动作是设置图纸单位和显示精度。根据结构图纸决定用mm还是mil单位然后在Allegro的“设计参数编辑器”里把显示精度设为至少两位小数最好四位。因为单位精度不够后面坐标输入会出现肉眼不可见的舍入误差导致栅格对齐失败。第二个动作是设置板框和原点。把结构图导入后将设计原点放在板框的左下角或者某一个定位孔中心这个原点就是你整个设计的坐标基准。随后把栅格原点也设成和设计原点重合这样即使后期调整栅格偏移坐标都能预估。第三个动作是规划分阶段栅格方案。提前想好布局用什么栅格、布线用什么栅格、铺铜用什么栅格并且把这些数值记在设计规范文档里。不要到布线时临时想临时设容易混乱。我一般还会把常用的几组栅格值设置成快捷命令或快捷键比如“1”切到25mil布局栅格“2”切到5mil常规栅格“3”切到1mil布线栅格“4”切到0.1mil精细栅格。切换速度非常快几乎没有操作负担。这个习惯看似琐碎但在多轮改版后优势会越来越明显。即便隔了一个月重新打开这份设计文件你通过栅格设置就能快速想起当时的精度规划而不是一头雾水。4.3 团队协作中的栅格规范和版本统一单兵作战时栅格怎么设定全凭个人习惯但团队协作时栅格规范必须统一。我在一个项目组里带过好几个工程师每人画一块功能模块最后拼板时问题百出A工程师负责的模块元件间距是25mil进制B工程师是10mil进制C工程师干脆完全自由放置。拼在一起后板边的定位孔对不上模块间的连接器高度也不一致整改费了很大功夫。所以团队协作时我强烈建议建立一份PCB设计规范文档里面明确写出统一单位、统一原点位置、统一布局栅格、统一布线栅格、统一BGA处理方式、统一铺铜边界距离。这些规范听起来很教条但实际项目里能省掉大量沟通成本和返工时间。版本统一也值得注意。Cadence Allegro不同版本之间的菜单和默认参数不完全相同如果团队里有人用17.2有人用24.1而栅格设置没有对齐设计文件在流传过程中也会出现显示和捕捉上的差异。Allegro X 24.1的中文界面虽然有很好的汉化但底层参数还是和以前的版本保持一致所以只需要在团队里规定一个统一的版本和一个统一的栅格模板问题就能解决。我习惯把调好的栅格设置保存为一个模板文件新项目直接调用。这样每位工程师打开新设计时看到的网格密度、原点位置、捕捉步进都是一样的从一开始就保证了设计语言的一致性。5. 常见栅格问题与排查技巧栅格配置虽然不难但实际操作中总会遇到一些奇奇怪怪的问题。下面几个是我被问到比较多的也是我自己踩过的坑整理成清单供你排查时参考。5.1 Off-grid DRC报错Off-grid不在栅格上DRC报错是栅格相关最常见的问题。这时候DRC面板会提示某些器件、走线或过孔偏离了栅格位置。遇到这个报错先不要无脑删线重走要先定位报错元素判断它为什么off-grid。如果是元件偏离栅格多半是在布局时用了太小的捕捉栅格或者关闭了捕捉元件被手动拖拽到了非栅格位置。处理方法是重新打开合理的捕捉栅格选中元件后用“移动到栅格”之类的功能对齐。如果是走线偏离栅格可能是走线时切换过不同栅格值或者从其他软件导入的走线没有自动吸附。这种时候可以在命令窗口输入“snap pick to grid”等命令逐段对齐但前提是需要明确哪一段线受影响。我的建议是不要在整板布线完成后再查off-grid而是在每完成一个功能模块布线后就跑一次局部DRC及时把off-grid处理掉。这样能避免问题堆积到后期一次性面对几百条DRC报错那是真的头皮发麻。5.2 栅格设置“失效”的几个原因有时候你明明把捕捉栅格设成了5mil但鼠标移动时依然感觉不到吸附效果。遇到这种情况我第一反应是检查当前是否处于自由绘制模式比如你在画板框外形时用的线和在走线层布线用的线捕捉行为是不一样的。还有一种常见原因是“Grids On”的勾选项被取消了这会让捕捉和显示同时失效。在Allegro中非走线层和走线层的栅格“开/关”状态是独立控制的可能你在走线层设置了5mil栅格但实际走线时用的却是非走线层的状态看起来栅格就没生效。这种问题在中文界面下更容易让人困惑因为两个层级的勾选位置不同。我的办法是把“设计参数编辑器”里的栅格页面固定成常用视图每次打开先看勾选状态。另外别忘了右键菜单中的“捕捉”开关。在执行某个命令时右键菜单里有“捕捉到栅格”Snap Grid或“捕捉到点”Snap Point之类的选项如果你之前误选了“捕捉到自由点”Snap Free那么栅格捕捉就相当于被绕过了。这种问题不是栅格参数不对而是操作模式变了检查方向别搞错。5.3 关于快捷键和工作效率的补充最后补一个关于快捷键的实用经验。Allegro的快捷键可以通过修改env文件来配置也可以直接在“用户偏好”里设置。和栅格相关的高频命令我强烈建议每个PCB工程师都配置好因为它在布线时太常用了。我自己用的比较顺手的几组快捷键是CtrlG调出栅格设置面板G键设置为“g”命令的快速入口D键设置为“gd”命令也就是显示栅格和捕捉栅格分开调整。这样在布线时我输入“g 1 1”就能切到精细栅格输入“g 25 25”就切回布局栅格全程不用鼠标点菜单手不离键盘效率高很多。此外和栅格搭配的“抓取”Snap功能也值得关注。比如走线时右键选择“抓取焊盘中心”、“抓取线段端点”等配合合理的栅格设定几乎可以应对所有复杂布线场景。我见过一些工程师整天为走线对不齐发愁其实就是没有把栅格和抓取组合起来用单一依赖鼠标自由移动精度和效率都很难保证。我个人在实际操作中的体会是栅格这个东西越早琢磨透越省事。我见过不少同事布线布了一半发现off-grid一片只能回头重新处理那个时间成本真的高。如果你现在刚开始用Cadence Allegro X 24.1不妨花半小时把栅格的各种模式和参数都试一遍再配合上面说的分阶段策略和设计习惯多画两三块板子就能形成肌肉记忆。后面再做复杂设计时你会感谢自己当初在这件事上花的这半小时。
返回列表