【学习笔记】 使用AD24完成相同电路的自动布线布局(相同模块布局布线ROOM布线快速克隆)

【学习笔记】 使用AD24完成相同电路的自动布线布局

  • 一、适用基本条件
  • 二、基于ROOM的自动布局/布线的方法
  • 三、可能出现的报错
  • 四、ROOM自动布局的一些优点和缺点

在这里插入图片描述

当面对多个相同电路模块时,使用 ROOM 可以一次性对一个模块进行精心布局,然后将该布局快速复制应用到其他相同模块。这大大节省了逐个模块进行布局的时间,尤其在复杂电路中,能显著提高整体设计效率。例如,在一个多通道数据采集系统中,可能有多个相同的信号调理电路模块。通过对一个模块进行布局后,利用 ROOM 可以迅速将相同的布局应用到其他模块,无需重复手动调整每个元件的位置。

现有资料感觉很少能有把ROOM自动布局讲细致的,于是自己使用手头项目整理了一篇。接下来,本文将阐述如何基于AD24完成相同模块布局布线,即使用ROOM进行布线快速克隆。

一、适用基本条件

不是所有的电路都是用于ROOM规则克隆,至少满足以下基本条件:

  1. 原理图设计相同(元器件封装及位置需保持一致)。
  2. 在图纸中布局规范,矩形摆放整齐,元器件命名为系统自动生成。
  3. PCB布线或元器件位置摆放完成一组,需要对其他组进行自动布局。
    在这里插入图片描述
    在这里插入图片描述
    可以看到,在原理图阶段,设计的尽可能规整,在PCB使用矩阵布局,将元器件摆放规整。

二、基于ROOM的自动布局/布线的方法

  1. 选取已完成布线的部分,
    【设计】-【ROOM】-【从选择的器件产生矩形的ROOM (T)】
    此时,会在已完成布线的元器件上生成一个ROOM。
    在这里插入图片描述

  2. 框选未完成布线的元器件,进行同样的ROOM生成操作。
    【设计】-【ROOM】-【从选择的器件产生矩形的ROOM (T)】
    在这里插入图片描述

  3. 打开PCB List,【视图】-【面板】-【PCB List】。接下来的步骤很重要,请仔细遵循。
    在这里插入图片描述

  4. 在未框选任何元器件的情况下,PCB List是空的,框选【已完成布线的部分】,可以发现PCB List已经显示了框选出的元器件及布线,现在我们点击【Designator】将这些元器件进行排序。
    在这里插入图片描述

  5. 记住这个排序(正或者反,为方便记忆,这里将芯片U放在上侧),注意看【Channel Offset】这一列,这将是接下来自动布线的核心。注意不要点击Channel Offset,防止元器件列表顺序发生改变。
    在这里插入图片描述

  6. 拉动鼠标,框选所有的Channel Offset数字,右键复制这些数字。
    在这里插入图片描述

  7. 框选【未进行自动布线的元器件】,点击【Designator】将这些元器件进行排序(正或者反,为方便记忆,这里将芯片U放在上侧)。
    在这里插入图片描述

  8. 拉动鼠标,框选所有的Channel Offset数字,右键粘贴,替换掉原有的数字。
    在这里插入图片描述

  9. 进行自动布线,【不框选任何元器件】-【设计】-【ROOM】-【拷贝ROOM格式©】-【已布线区域】-【未布线区域】
    在这里插入图片描述

  10. 弹出窗口【确认通道格式复制】,可以进行一些自定义设置,可以根据自己的需求对需要复制的格式进行复制。
    在这里插入图片描述

  11. 发现23个频道偏移错误,无视即可,点击【YES】。
    在这里插入图片描述

  12. 已完成自动布线,如果像下图这样发射区域重合,是由于前期没有留好足够的空间,可以在空旷的区域自动布线,拖动到目标位置即可。
    在这里插入图片描述

三、可能出现的报错

  1. 如果在自动布局之后有个别元器件报错,大概率是相应元器件的Channel Offset位号错误。选中对应的元器件,和正确布局的进行比对。(相同位置的Channel Offset位号应相同)修正之后重新进行ROOM布局复制。
    在这里插入图片描述
  2. 如果是某线的网络错误,可以点击单独修改其网络,点击Assign Net吸管,选取正确的网络,更改完成。
    在这里插入图片描述
  3. 至此,基于ROOM的布局克隆完成。
    在这里插入图片描述

四、ROOM自动布局的一些优点和缺点

在 Altium Designer(AD)中使用 ROOM(空间定义)进行相同电路的快速自动布局布线具有以下优点:

  1. 快速布局:当面对多个相同电路模块时,使用 ROOM 可以一次性对一个模块进行精心布局,然后将该布局快速复制应用到其他相同模块。这大大节省了逐个模块进行布局的时间,尤其在复杂电路中,能显著提高整体设计效率。例如,在一个多通道数据采集系统中,可能有多个相同的信号调理电路模块。通过对一个模块进行布局后,利用 ROOM 可以迅速将相同的布局应用到其他模块,无需重复手动调整每个元件的位置。
  2. 自动布线一致性:ROOM 使得相同电路模块的布线具有高度一致性。软件可以根据已完成的一个模块的布线策略,自动为其他模块进行布线,减少了人为布线不一致带来的问题,同时也加快了布线速度。对于高速电路设计,布线的一致性对于信号完整性至关重要。使用 ROOM 可以确保相同模块的信号路径长度、阻抗等参数保持一致,提高电路性能。
  3. 模块化设计:ROOM 有助于实现模块化设计理念。将电路划分为不同的 ROOM 可以使设计结构更加清晰,便于设计团队成员之间的协作和分工。每个成员可以专注于特定的 ROOM 进行设计和优化,提高团队整体效率。例如,在一个大型项目中,可以将不同功能的电路模块分别放置在不同的 ROOM 中,方便进行设计管理和版本控制。
  4. 批量修改:如果需要对相同电路模块进行修改,使用 ROOM 可以方便地进行批量操作。只需修改一个模块中的元件参数、布局或布线,然后通过更新 ROOM 的方式,可以快速将这些修改应用到其他相同模块,大大减少了修改的工作量。比如,当发现某个元件的参数需要调整时,只需在一个模块中进行修改,然后更新所有包含该模块的 ROOM,即可实现批量修改,确保整个设计的一致性。
  5. 优化布局:通过精心设计一个模块的布局,可以更好地考虑元件之间的电磁兼容性(EMC)、散热等因素。利用 ROOM 将该布局应用到其他模块,可以确保整个电路在这些方面具有较高的质量。例如,对于高功率电路模块,可以合理安排元件位置以优化散热,避免局部过热问题。使用 ROOM 可以确保所有相同模块都具有相同的优化布局。
  6. 减少错误:手动布局和布线容易出现错误,尤其是在处理多个相同模块时。而使用 ROOM 进行自动布局布线可以减少人为错误的发生概率,提高设计的可靠性。软件在自动布线过程中会遵循预设的设计规则,避免出现短路、开路等常见布线错误。

在 Altium Designer 中使用 ROOM 进行相同电路的快速自动布局布线存在一些缺点:

  1. 布局调整困难:ROOM 定义了一个固定的区域和布局方式,当设计中有特殊需求或需要对某个元器件的位置进行微调以满足特定的布线要求、散热需求或电磁兼容性要求时,可能会受到 ROOM 的限制。例如,如果某个芯片需要靠近散热器放置,但由于 ROOM 的限制,无法将其移动到合适的位置,这就需要花费额外的时间和精力去调整或打破 ROOM 的限制。
  2. 布线策略单一:自动布线是基于 ROOM 内已有的布线策略进行的,对于一些复杂的电路或特殊的布线要求,可能无法满足设计需求。例如,在高频电路中,需要特殊的布线长度和间距来保证信号的完整性,但 ROOM 的自动布线可能无法按照这些特殊要求进行布线。
  3. 错误排查困难:当使用 ROOM 进行布局布线后出现问题时,排查错误可能会比较困难。因为 ROOM 涉及到多个元器件和复杂的参数设置,需要仔细检查每个元器件的属性、通道偏移值、ROOM 的范围等,才能找到问题的根源。这对于经验不足的设计师来说是一个挑战。
  4. 文件体积增大:使用 ROOM 会增加 PCB 文件的复杂性和数据量,特别是当有多个相同的 ROOM 存在时,文件体积会明显增大。这可能会影响软件的运行速度和性能,尤其是在处理大型项目时,可能会导致软件响应缓慢或出现卡顿现象。
  5. 兼容性问题:不同版本的 Altium Designer 对 ROOM 的支持和兼容性可能会有所不同。如果在一个版本中创建的 ROOM 在另一个版本中打开,可能会出现布局布线错误或不兼容的情况。这就需要在设计过程中注意软件版本的兼容性,或者在不同版本之间进行转换时进行仔细的检查和调整。
  6. 规则设置不当导致错误:ROOM 的自动布局布线是基于设计规则进行的,如果设计规则设置不当,可能会导致 ROOM 的布局布线结果不符合预期。例如,如果安全间距规则设置得过大或过小,可能会导致元器件之间的间距不合理,影响电路的性能和可靠性。
  7. 难以应对特殊情况:在一些特殊情况下,设计规则可能无法完全覆盖所有的设计需求,例如对于一些非标准的元器件或特殊的电路结构,ROOM 的自动布局布线可能无法正确处理,需要手动进行调整。

最后,欢迎交流学习。
文章为作者原创,转载请标明出处。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429046.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

粒子向上持续瀑布动画效果(直接粘贴到记事本改html即可)

代码&#xff1a; 根据个人喜好修改即可 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>宽粒子向上…

正则表达式匹配整数与浮点数失败与解决方案

正则表达式匹配整数与浮点数失败与解决方案 问题描述问题分析解决方案总结 问题描述 在处理数据的时候需要提取文本内整数与浮点数&#xff0c;这个时候想到使用正则表达式&#xff0c;咨询百度文心一言给出以下方案及参考代码 import re text "我有100元&#xff0c;…

解决mac下 Android Studio gradle 下载很慢,如何手动配置

抓住人生中的一分一秒&#xff0c;胜过虚度中的一月一年! 小做个动图开篇引题 前言 平时我们clone git 上项目&#xff0c;项目对应gradle版本本地没有&#xff0c;ide编译会自动下载&#xff0c;但是超级慢可能还下载失败&#xff0c;下面讲解下此问题如 如下图所示&#xff…

ML 系列:机器学习和深度学习的深层次总结(04)多元线性回归 (MLR)

图 1.多元线性回归与简单线性回归 一、说明 线性回归从一维推广到多维&#xff0c;这与单变量线性回归有很多不同&#xff0c;情况更加复杂&#xff0c;而在梯度优化也需要改成向量梯度&#xff0c;同时&#xff0c;数据预处理也成了必要步骤。 二、综述 多元线性回归是简单线性…

【AI算法岗面试八股面经【超全整理】——深度学习】

AI算法岗面试八股面经【超全整理】 概率论【AI算法岗面试八股面经【超全整理】——概率论】信息论【AI算法岗面试八股面经【超全整理】——信息论】机器学习【AI算法岗面试八股面经【超全整理】——机器学习】深度学习【AI算法岗面试八股面经【超全整理】——深度学习】CVNLP …

【RabbitMQ】⾼级特性

RabbitMQ ⾼级特性 1. 消息确认1.1 消息确认机制1.2 代码示例 2. 持久化2.1 交换机持久化2.2 队列持久化2.3 消息持久化 3. 发送⽅确认3.1 confirm确认模式3.2 return退回模式3.3 问题: 如何保证RabbitMQ消息的可靠传输? 4. 重试机制5. TTL5.1 设置消息的TTL5.2 设置队列的TTL…

vue3集成google第三方登陆

网上资源很多&#xff0c;但乱七八糟&#xff0c;踩坑几小时后&#xff0c;发现下面的方式没问题。 npm install vue3-google-login 插件文档&#xff1a;vue3-google-登录 (devbaji.github.io) 修改main.js import ./assets/main.css import { createApp } from vue impor…

医院伤员消费点餐限制———未来之窗行业应用跨平台架构

一、点餐上限 医院点餐上限具有以下几方面的意义&#xff1a; 1. 控制成本 - 有助于医院合理规划餐饮预算&#xff0c;避免食物的过度供应造成浪费&#xff0c;从而降低餐饮成本。 2. 保障饮食均衡 - 防止患者或陪护人员过度点餐某一类食物&#xff0c;有利于引导合…

【AcWing】873. 欧拉函数

#include<iostream> using namespace std;int main(){int n;cin>>n;while(n--){int x;cin>>x;int resx;for(int i2;i<x/i;i){if(x%i0){//resres*(1-1/i);整数1/i等于0&#xff0c;算不对且会溢出//以下几种都能ac//resres/i*(i-1);i*(1-1/i)i-1&#xff0…

[JavaEE] TCP协议

目录 一、TCP协议段格式 二、TCP确保传输可靠的机制 2.1 确认应答 2.2 超时重传 2.3 连接管理 2.3.1 三次握手 2.3.2 四次挥手 2.4 滑动窗口 2.4.1 基础知识 2.4.2 两种丢包情况 2.4.2.1 数据报已经抵达&#xff0c;ACK丢包 2.4.2.2 数据包丢包 2.5 流量控制…

音视频入门基础:AAC专题(7)——FFmpeg源码中计算AAC裸流每个packet的size值的实现

音视频入门基础&#xff1a;AAC专题系列文章&#xff1a; 音视频入门基础&#xff1a;AAC专题&#xff08;1&#xff09;——AAC官方文档下载 音视频入门基础&#xff1a;AAC专题&#xff08;2&#xff09;——使用FFmpeg命令生成AAC裸流文件 音视频入门基础&#xff1a;AAC…

Vue3:v-model实现组件通信

目录 一.性质 1.双向绑定 2.语法糖 3.响应式系统 4.灵活性 5.可配置性 6.多属性绑定 7.修饰符支持 8.defineModel使用 二.使用 1.父组件 2.子组件 三.代码 1.父组件代码 2.子组件代码 四.效果 一.性质 在Vue3中&#xff0c;v-model指令的性质和作用主要体现在…

AI健身之俯卧撑计数和姿态矫正-角度估计

在本项目中&#xff0c;实现了Yolov7-Pose用于人体姿态估计。以下是如何在Windows 11操作系统上设置和运行该项目的详细步骤。 环境准备 首先&#xff0c;确保您的计算机已经安装了Anaconda。Anaconda是一个开源的Python发行版本&#xff0c;它包含了conda、Python以及众多科…

【滑动窗口】算法总结

文章目录 滑动窗口算法总结1.暴力求解vs滑动窗口2.需要注意的细节问题 2.滑动窗口的基本模板1.非固定窗口大小的滑动窗口2.固定窗口大小的滑动窗口细节 滑动窗口算法总结 1.暴力求解vs滑动窗口 遇到那些可以转化成一个子数组的长度的问题时&#xff0c;往往需要用到双指针。 …

安全基础学习-AES128加密算法

前言 AES&#xff08;Advanced Encryption Standard&#xff09;是对称加密算法的一个标准&#xff0c;主要用于保护电子数据的安全。AES 支持128、192、和256位密钥长度&#xff0c;其中AES-128是最常用的一种&#xff0c;它使用128位&#xff08;16字节&#xff09;的密钥进…

探索人工智能绘制宇宙地图的实现

人工智能 (AI) 已成为了解世界的重要工具。现在&#xff0c;随着人们对太空探索的兴趣重新升温&#xff0c;人工智能也可能对其他世界产生同样的影响。 尽管经过了几十年的研究&#xff0c;科学家们对地球大气层以外的宇宙仍然知之甚少。绘制行星、恒星、星系及其在太空中的运…

python爬虫初体验(一)

文章目录 1. 什么是爬虫&#xff1f;2. 为什么选择 Python&#xff1f;3. 爬虫小案例3.1 安装python3.2 安装依赖3.3 requests请求设置3.4 完整代码 4. 总结 1. 什么是爬虫&#xff1f; 爬虫&#xff08;Web Scraping&#xff09;是一种从网站自动提取数据的技术。简单来说&am…

安卓14剖析SystemUI的ShadeLogger/LogBuffer日志动态控制输出dumpsy机制

背景&#xff1a; 看SystemUI的锁屏相关代码时候发现SystemUI有一个日志打印相关的方法调用&#xff0c;相比于常规的Log.i直接可以logcat查看方式还是比较新颖。 具体日志打印代码如下&#xff1a; 下面就来介绍一下这个ShadeLogger到底是如何打印的。 分析源码&#xff1…

前端JavaScript导出excel,并用excel分析数据,使用SheetJS导出excel

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f…

OpenWrt 定时重启

问题 想设置 OpenWrt 定时重启&#xff0c;避免因长期不重启导致的问题。 方法 参考 Scheduling tasks with cronopenwrt设置定时重启&#xff08;天/周/月&#xff09;定时重启openwrt (istoreos) 软路由系统 设置 cron 自启动 System - Start up - 找到 cron - 设置成自…