经本人实际测试Cadence 17.2 – 2019这个版本, 曾遭遇过原理图符号跟PCB封装不相匹配的状况。也曾碰到Constraint Manager规则不断反复报错的情况。还遇见过Allegro……
经本人实际测试Cadence 17.2 – 2019这个版本, 曾遭遇过原理图符号跟PCB封装不相匹配的状况。也曾碰到Constraint Manager规则不断反复报错的情况。还遇见过Allegro差分走线呈现断断续续的问题。对于新手而言, 要是都能跟着步骤一步步去进行操作, 那么便能够轻易躲开这类较为常见的问题。
1 原理图符号复用与CIS配置
在OrCAD Capture里头, CIS也就是Component Information System, 是用于管理元器件库的具备高效特性的工具。首先, 开启Place Database Part, 其路径是菜单栏Place这一选项下点击Database Part, 在弹出的窗口里挑选本地或者服务器上的ODBC数据源。第二步, 针对*.dbc文件进行配置: 于Capture.ini里, 手动去添加[Part Management]这个字段, 进而指定CIS_DLL为OleDbPart.dll以及数据库的路径。当进行第三步操作时, 也就是关联属性这一环节, 具体是通过右键点击元件, 进而选择Link Database Part, 要把Part Number字段绑定到封装的PCB Footprint。
新手需防备, 常见的报错是“无法连接上数据库”, 其核心的起因是ODBC驱动版本不相匹配, 或者路径包含中文字符。解决的办法是统一运用64位的ODBC管理工具, 路径全部采用英文形式, 重新启动Capture之后再去尝试。
在CIS属性映射里, 【关键参数推荐值】所要求的Part_Number推荐采用固定20位字符长度, 倘若过短则易于重复, 要是过长那么就会影响检索速度。其理由在于, 多数企业的物料编码是规整的, 20位长度恰好能够容纳前缀 加上 流水号 再加上 版本号。
2 Constraint Manager规则分层与拓扑约束
Allegro PCB Editor的Constraint Manager默认的那些规则宽泛得很, 得手动去分层。首先, 要进入Setup -> Constraints -> Constraint Manager。然后, 在Electrical标签那里新建Net Group, 就像DDR4_Group这样。接着进行第二步, 要进行物理规则的设置,是什么样的设置呢, 是切换到Physical视图, 然后对于DDR4_Group设定这样的参数, Line Width Min要等于5mil, Neck Width要等于4mil。第三步, 对于拓扑约束而言, 要在Relative Propagation Delay里将信号线拖拽进去, 填写目标长度比如5000mil, 并且勾选Match使得等长匹配被激活。
刚入门的新手经常会碰到“规则不生效”这种状况, 其缘由在于优先级相互冲突。当默认规则跟自定义规则同时出现匹配情况时, 高优先级的规则将会被忽视。解决的应对方法是: 在Analysis Modes里把自定义规则的Priority调整为1, 并且进行Apply。
有着两种实操方案进行对比, 方案A为全局设置All Nets, 其特点是简单然而冗余规则众多, 适用于低速板, 方案B是按Net Group逐组约束, 起初设置麻烦且复杂, 不过后期调整是灵活的, 适用于高速DDR/SerDes , 存在取舍逻辑, 当量产板或者关键信号数量多的时候, 一定要选择方案B, 若是原型验证板则能够使用方案A快速出图。
3 Allegro差分走线自动布线技巧
通过手动方式去拉那条差分线的话, 很容易出现断掉的情况, 然而要是运用Auto Router并搭配Tuning功能, 那么就能在很大程度上提升效率。首先是第一步, 在Route这个选项里面的Unsupported Prototypes中的Auto Router那里, 要先去加载AIF脚本, 其路径是Cadence这个文件夹下的share文件夹中的pcb文件夹里的text文件夹中的autoplace文件夹下。接着, 进行第二步操作, 设定那为最小的线宽以及间距: 于Setup当中, 找到Constraints 然后进入Spacing 继而来到Line to Line处, 填入数值5mil, 而对于差分对的内部间距, 要填入8mil。第三步, 去执行, Route, 指向, Unsupported Prototypes, 接着是, Auto Router, 再去点击, Run, 等完成之后, 通过Route, 找到, Tune, 选择, Relative Delay, 以手动方式进行, 微调等长。
【新手需避坑项】 出现报错“Auto Router Failed: No free routing channels”, 其原因一般来讲, 是布线的区域当中存在着没有关闭状态的铜皮或者是没有解扣情况的过孔。快速的解决办法是, 首先去执行Edit -> Delete -> Nets, 以此来清除所有已经布置好的线段, 接着通过Shape -> Delete Islands除去孤立的铜皮, 最终再次运行Auto Router。
【高频完整报错以及解决流程】, 报错信息为: “ERROR(ORCAP – 3605): Database part not found”, 其原因是, CIS链接的数据库表里面, 缺少了对应Part_Number。解决流程是这样, 第一步, 去查看Capture.ini里, 那个[Part Management]的DBC File路径是不是正确的;第二步, 进到Database Part窗口里面, 去点一下Refresh;第三步, 要是出现了再次报错的情况咧, 那就手动把ODBC管理工具给打开, 要去测试连接, 得确认表名跟CIS里的Table Name是一致的。解决后,重新放置元件即可。
Cadence高级功能的这一套方法, 不适用于单纯的射频版图, 也不适用于柔性电路板, 这是由于Auto Router对于非矩形板框的支持欠佳。替代的方案是, 手动进行推挤布线, 或者使用第三方工具, 比如HyperLynx, 在做信号完整性分析之后再回导。在新手起步的时候, 建议率先在小尺寸的两层板上进行演练,接着把该流程固化到项目模板里, 以此避免每次都要从头进行配置。
微信扫一扫
还没有评论呢,快来抢沙发~