当前位置: 首页 > news >正文

Allegro约束规则设计

首先是物理规则。
然后是间距规则。
如果有些特殊要求,还需要设计电气规则。

原则上,把规则设计好,然后把规则赋值给网络。

++++++++++++++++++++++++++++++++++++++
物理规则。PCS。

对于名字为DEFAULT的PCS,这是最基础的整板默认规则。
没有特殊要求的网络,套用这个DEFAULT。
设置line width min为5mil,neck width min为4mil,即可。
max如果没有限制,设置成1000mil即可。
DEFAULT由于不是给DIFFPAIR用的,所以diff pair的属性不需要设置,保持0即可。
vias,选择合适的via,拖进去。一般是via16cir8d或者via24cir12d。
BB via stagger,min设置为5mil即可。max保持0即可。
pad-pad connect,设置为all-allow,
etch,设置为true,
ts,设置为anywhere。

对于名字为PWR的PCS,这是给板上电源网络赋值的规则。从DEFAULT上复制过来,修改几个着重调整的属性。
line width min,要加粗,设置为15mil。
neck width min,要加粗,设置为5mil。
vias,如果需要更粗的via,就拖进去。

对于名字为DIFF100OHM的PCS,这是给板上的DIFFPAIR赋值的规则。从DEFAULT上复制过来,修改几个着重调整的属性。
line width min,要按阻抗调整,设置为4.1mil。
neck width min,要按阻抗调整,设置为4mil。
vias,如果需要更细的via,就拖进去。
重点是调整diffpair相关的属性。
min line spacing,设置为4mil。
primary gap,设置为8.5mil。
neck gap,设置为4mil。
tolerance,保持0即可。

之所以差分对的spacing在PCS,而不是在SCS中,是因为allegro认为,一个差分对,是由3个要素组成的一个整体,两根铜线,一根介质线。

+++++++++++++++++++++++++++++++++++++++++++++++++
为差分对赋值PCS。

首先是为差分对,创建DPR。然后把之前设置的DIFF100OHM的规则赋值给DPR。
如果有多个DPR需要赋值相同的PCS。那么,把这些DPR创建到一个NCLS中,或者NGRP中。
然后把设置的PCS赋值给NCLS或者NGRP。

++++++++++++++++++++++++++++++++++++++++++++++++++++
为电源赋值PCS。

找到对应的电源网络,把之前设置的PWR的PCS赋值给电源。
如果有多个电源网络,需要赋值相同的PCS。那么,把这些电源网络创建到一个NCLS中,或者NGRP中。
然后把设置的PCS赋值给NCLS或者NGRP。

+++++++++++++++++++++++++++++++++++++++++++++++++++
为region赋值PCS。

Region是一个具有名字的shape,存在于对应的subclass。
将PCS赋值给region shape之后,系统在DRC时,会判断是否依据region rule 来检查。而不考虑net rule。

++++++++++++++++++++++++++++++++++++++++++++++++++
间距规则。SCS。
间距约束的是两个不同网络的元素之间的隔离要求,排开要求。
间距越大,越不会发生短路,串扰也越小,但是代价是,板子空间利用率不高。
所以间距设置时,尽可能的设置的小,但是不能太小,起码要满足3W原则。
所以,如果线宽设置为5mil,那么,spacing起码要设置为10mil。以满足3W原则。

间距是两个元素之间的相互关系,所以系统在DRC时,对同一个隔离带,会发起两次DRC检查。
例如,net1 和 net2之间的间距检查。
第一次,是net1为master, net2 为slave,以net1的net rule为依据,检查DRC。
即master element to slave element。
第二次,是net2为master,net1为slave,以net2的net rule为依据,检查DRC。
即master element to slave element。

如果net1和net2 具有相同的规则,那么两次DRC检查,结果是一致的。
如果net1和net2具有不同的规则,那么两次DRC检查,只有满足更苛刻的规则时,DRC才不会报错。

net rule,是这样的概念,即this net to other net。
为NET赋值SCS后,系统会为该NET,生成一系列的master-slave-net-pair,这些MSNP,赋值相同的SCS。
为NCLS赋值SCS时,系统会为NCLS中的每个net,赋值相同的SCS,作为各自的net rule,当然,也可以定制自己的net rule,覆盖掉NCLS所赋值的属性值。
系统会为每个NET,生成一系列的MSNP,赋值对应的SCS。
为CCLS赋值SCS后,系统会为CCLS,生成一系列的MSNP,赋值相同的SCS,并覆盖掉在net rule中或者NCLS rule中生成的同一个MSNP的SCS属性值。
也就是说。CCLS明确指定了MSNP的属性值,而不是由系统遍历生成MSNP。

对于名字为DEFAULT的SCS,这是最基础的整板默认规则。
没有特殊要求的网络,套用这个DEFAULT。

一般,两个元素之间,spacing设置为5mil,或者6mil。
但是,有些元素具有更强的排开要求,如shape,
所以,单独调整shape to 相关的属性,
shape to line,调整为10mil,
shape to pin,调整为10mil,
shape to via ,调整为10mil,
shape to shape,通常是电源与其他电源的隔离,调整为15mil,或者20mil。
shape to finger,通常是电源与金手指的隔离,调整为20mil或者25mil。
shape to hole,通常是电源与机械孔的隔离,调整为20mil或者30mil。

对于名字为PWR的SCS,从DEFAULT上复制过来,并加大间距值。
对于名字为CLK的SCS,从DEFAULT上复制过来,并加大间距值。
对于名字为BGA的SCS,从DEFAULT上复制过来,并减小间距值。

+++++++++++++++++++++++++++++++++++++++++++++++++++
为敏感信号网络赋值SCS。

将之前设置好的SCS,赋值给敏感信号网络。
那么其他网络的元素,被按照更严格的间距规则排开。

如果有多个敏感信号网络需要赋值相同的PCS。那么,把这些创建到一个NCLS中,或者NGRP中。
然后把设置的SCS赋值给NCLS或者NGRP。
+++++++++++++++++++++++++++++++++++++++++++
为电源网络赋值SCS。
将之前设置好的SCS,赋值给电源网络。
那么其他网络的元素,被按照更严格的间距规则排开。

如果有多个电源网络,需要赋值相同的SCS。那么,把这些电源网络创建到一个NCLS中,或者NGRP中。
然后把设置的SCS赋值给NCLS或者NGRP。

++++++++++++++++++++++++++++++++++++++++++
为region赋值SCS。

Region是一个具有名字的shape,存在于对应的subclass。
将SCS赋值给region shape之后,系统在DRC时,会判断是否依据region rule 来检查。而不考虑net rule。

+++++++++++++++++++++++++++++++++++++++++
为 Net class-class赋值SCS。

CCLS是两个NCLS构成的网络组对。
首先设置好SCS。然后把SCS赋值给CCLS 。

++++++++++++++++++++++++++++++++++++++++++
同网间距。SNSC。

SCS中,约束了MSNP的隔离和排开要求。这些,都是不同网络的元素之间的两两关系。
如果是同网的两个元素,如果也有隔离和排开要求,那么,就需要SNSC来约束。
类似与MSNP的建立,系统也会为同网建立MSNP。
只不过,此时的master net和slave net,是同一个网络。
称之为master-slave-net-pair-self,简称MSNPS。

++++++++++++++++++++++++++++++++++++++++++++++
电气规则。ECS。

ECS中,常用的是Routing相关的属性。

Wiring中,
topology,设置走线拓扑,
stub length,设置桩线最大长度,
max parallel,设置平行布线最大长度,
layer sets,设置允许布线的层。

Vias中,
max via count,设置路径中最多使用过孔数目。

Impendance,
设置允许的阻抗值。

MinMax Propagation Delay中,
pin pairs,设置哪些PPR参与DRC检查。longest 通常是max超标,shortest 通常是min超标。

Total Etch Length中,
min,设置最小走线长度,
max,设置最大走线长度,

Diff Pair中,
uncoupled length max,设置最大的非耦合长度,
static phase tolerance,设置相差,
dynamic phase max length,设置动态相差,
dynamic phase tolerance,设置动态相差,

min line spacing,设置差分对内最小间距,
primary gap,设置差分对内主间距,
primary width,设置差分对主宽度,
neck gap,设置差分对内辅间距,
neck width,设置差分对辅宽度,

Relative Propagation Delay中,
pin pair,设置哪些PPR参与DRC检查。
tolerance,设置组内相对差值。

++++++++++++++++++++++++++++++++++++++++++
为差分对设置等长

差分对等长,只需要关注routing-diff pair- static phase tolerance,
通常设置为15mil。如果更严格,则设置为5mil。

有两种方式,一种是建立一个ECS,设置routing-diff pair- static phase tolerance,
然后将ECS 赋值给DPR。
另一种是,直接在NET的routing-diff pair- static phase tolerance上,修改属性值。
推荐使用第二种。

++++++++++++++++++++++++++++++++++++++++++
为匹配组设置等长,MGRP

首先,需要从NET中抽取出PPR,创建出引脚对。
然后,将这些PPR创建为MGRP。
然后,在routing-relative propagation delay中,为MGRP修改各个属性值。
在这个表单中,
MGRP是不能使用ECS的,
且普通的NET,也是不能设置这个表单的属性值的。

也就是说,这个表单,就是专属于MGRP的。

重点关注delta:tolerance这个属性。
这个属性的编辑,可以支持mil单位,也可以支持ns单位,也可以支持百分比单位。
推荐使用mil单位。
两个数值之间,使用冒号分隔。
输入时,不用输入单位,会自动将单位带入。

在delta:tolerance列,某个PPR的对应框上,
右键,选择change,可以编辑属性值。
通常将delta设置为0mil,
通常将tolerance设置为300mil,如果要求更苛刻,可以设置为50mil。
右键,选择set as target,可以将PPR设置为target。
右键,选择clear,可以将PPR取消target。

如果一个MGRP中,存在一个PPR作为target,那么其他的PPR,将相对于这个target,计算delta:tolerance。
如果一个MGRP中,不存在target,那么所有的PPR中,会选择最长的作为target。

++++++++++++++++++++++++++++++++++++++++++++
AIPT
自动等长命令。
在cmd 中输入
aipt,回车,即可启动AIPT。

通常关闭off-angle segment,
开启uncoupled bump,
设置bump的height 为2X,设置bump的width为2X。

+++++++++++++++++++++++++++++++++++++++++++
AIDT
自动等长命令。
在cmd中输入
aidt,回车,即可启动AIDT。

gap,设置为3X,
min amplitude,设置为3X,
max amplitude,根据空间设置,一般设置为8X,空间够的话设置为40X。
miter size,设置为1X,

相关文章:

Allegro约束规则设计

首先是物理规则。 然后是间距规则。 如果有些特殊要求,还需要设计电气规则。 原则上,把规则设计好,然后把规则赋值给网络。 物理规则。PCS。 对于名字为DEFAULT的PCS,这是最基础的整板默认规则。 没有特殊要求的网络&#xff0c…...

PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵

本文目录 PyQt5桌面应用系列鼠标不要钱,手腕还不要钱吗?PyQt5源程序python文件资源定义界面定义文件 技术要素资源文件StyleSheetsQMainWindow设置窗体几何 结论 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQ…...

Talk预告 | 大连理工大学IIAU Lab在读博士生严彬:走向通用实例感知

本期为TechBeat人工智能社区第495期线上Talk! 北京时间5月10日(周三)20:00,大连理工大学IIAU Lab在读博士生—严彬的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “走向通用实例感知”,届时将介绍和探讨通用实…...

2023-05-04 LeetCode每日一题(摘水果)

2023-05-04每日一题 一、题目编号 2106. 摘水果二、题目链接 点击跳转到题目位置 三、题目描述 在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti 个水…...

[工具]Pytorch-lightning的使用

Pytorch-lightning的使用 Pytorch-lightning介绍Pytorch-lightning与Pytorch的区别Pytorch-lightning框架的优势Pytorch-lightning框架 重要资源 Pytorch-lightning介绍 这里介绍Pytorch_lighting框架. Pytorch-lightning与Pytorch的区别 Pytorch-lightning可以简单的看作是…...

互联网摸鱼日报(2023-05-09)

互联网摸鱼日报(2023-05-09) InfoQ 热门话题 面向数字化提质提效的低代码架构设计 | 低代码技术内幕 提升字节规模化效能的平台化思路 | 极客有约 从微服务转为单体架构、成本降低 90%,亚马逊内部案例引发轰动!CTO&…...

MySQL常见的存储引擎

InnoDB:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。 特点:1、DML操作遵循ACID模型,支持事务; 2、行级锁,提高并发访问性能; 3、支持外键FOREIGN KEY约…...

迅为i.MX6ULL开发板生成 KEY 文件,并安装

使用“ssh-keygen” 生成个四个 key 文件“ssh_host_rsa_key” “ssh_host_dsa_key” “ssh_host_ecdsa_key” 和“ssh_host_ed25519_key” 。 1 在虚拟机 Ubuntu 控制台, “ /home/ssh/openssh-4.6p1” 目录下, 使用命 令“ssh-keygen -t rsa -f ssh…...

常见舆情监测系统的分类和特点

随着网络和社交媒体的发展,舆情监测系统逐渐成为企业和政府机构必备的工具之一。舆情监测系统可以帮助企业和政府机构全面了解公众对其品牌、产品、政策等的反应和态度,及时发现和解决问题,提高公信力和形象。本文将介绍常见的舆情监测系统的…...

联合群美叶彦文:坚持,只要有一口气,能坚持多久,就坚持多久

创业之路的成败得失就看有多坚持。 成功并不是终点,失败并不是终结,只有勇气才是永恒。 Success is not final,failure is not fatal,it is the courage to continue that counts. ——温斯顿丘吉尔 迪斯雷利曾经说过:“成功的奥秘在于目标…...

动态规划的学习

文章目录 动态规划的学习一、什么是动态规划?二、如何思考状态转移方程?三、动态规划的基本原理1.[509. 斐波那契数](https://leetcode.cn/problems/fibonacci-number/)1.1 暴力递归解法:1.1.1 递归算法的时间复杂度那为什么时间复杂度会这么…...

计算机网络:HTTPS

目录 HTTP 与 HTTPS 有哪些区别?HTTPS 解决了 HTTP 的哪些问题HTTPS 是如何建立连接的?其间交互了什么TLS 协议建立的详细流程客户端校验数字证书的流程是怎样的? HTTPS 的应用数据是如何保证完整性的HTTPS 一定安全可靠吗参考资料 HTTP 与 H…...

数据库系列-什么是 JDBC?它的作用是什么?

JDBC(Java Database Connectivity)是 Java 语言提供的一种访问数据库的标准接口,它定义了一组 Java 接口和类,用于实现 Java 程序与各种关系型数据库的连接和交互。JDBC 的主要作用是提供了一种标准的、可靠的、跨平台的方式来访问…...

C++学习day--08 数组和字符串

1、什么是数组 数组,就是多个元素的有序“组合”。 C 和 C语言中的数组: 1 )由多个大小相同的小柜子组成 > 相同大小的内存块组成,即相同类型的数据 2 )这些小柜子,有自己对应的编号 > 编号从 …...

系统分析师之系统测试与维护(十六)

目录 一、 测试与评审 1.1 测试类型 1.2 测试阶段 1.3 面向对象的测试 1.4 测试自动化 1.5 软件调试 1.6 软件评审 1.7 验收与确认 二、软件质量管理 2.1 软件过程改进-CMMI 2.2 软件开发环境与工具 三、系统运行与评价 3.1 系统转换计划 3.1.1 遗留系统演化策略…...

板材激光切割机切割穿孔时注意的几个问题

激光切割设备广泛应用于钣金、五金制品、钢结构、汽车配件、广告、工艺品等行业,成为加工行业不可缺少的环节。在厚板加工中穿孔时间占很大比重,随着加工板材越来越厚,板材激光切割机切割穿孔也会相应地增加难度。 激光切割机两种常见的穿孔方…...

奶爸式Swagger教学

目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…...

入门级的家用洗地机怎么样?入门级洗地机推荐

洗地机的功能有很多&#xff0c;比如除菌、洗地机清洁地面的确是一把好手。但是&#xff01;清洁完之后还要手动清洗洗地机&#xff0c;是一件麻烦事啊&#xff01;现在市面上大部分洗地机都有自清洁这个功能&#xff0c;但是很多洗地机的自清洁并不算真正的自清洁&#xff0c;…...

【面试】Java 反射机制(常见面试题)

文章目录 前言一、反射是什么&#xff1f;二、为什么要有反射三、反射 API3.1 获取 Class 对象的三种方式3.2 获取成员变量3.3 获取构造方法3.4.获取非构造方法 四、实践五、常见面试题5.1. 什么是反射&#xff1f;5.2. 哪里用到反射机制&#xff1f;5.3. 什么叫对象序列化&…...

JavaScript最佳实践

JavaScript最佳实践 2023.5.8版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 JavaScript 是一种动态编程语言&#xff0c;可让开发者创建动态和交互式 Web 应用程序。然而&#xff0c;编写 JavaScript 代码比较具有挑战性&#xff0c;尤其…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法

使用 ROS1-Noetic 和 mavros v1.20.1&#xff0c; 携带经纬度海拔的话题主要有三个&#xff1a; /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码&#xff0c;来分析他们的发布过程。发现前两个话题都对应了同一…...