PCB设计新手-为什么不存在自动放置元件的问题?


23

我见过的电路设计软件具有自动在PCB上布线走线等功能。
但是,为什么该软件没有能力自动将组件放置在PCB上,从而使电路板的总尺寸最小化?
这是否太复杂而无法自动化?


8
自动布线器应能够根据约束条件来最佳地放置组件(即“按钮必须在此处”,“ LED可以在该区域的任何地方”)。他们还应该能够选择最佳的引脚,以用于具有大量等效引脚的部件(即“使用任何具有PWM的io引脚”)。不幸的是,我从未见过能够执行这两个功能的任何一个。也许有一天。
bigjosh

7
位置(和方向,栅极交换,引脚交换)非常重要。获得良好的路由是最重要的。我认为,智能自动放置器应从原理图放置位置开始,除非原理图是那些现代的“被网表包围的盒子”可憎之物之一。
markrages 2015年

2
由于不是电路设计的背景,在我看来,老鼠的窝应该足以将所有组件最佳地布局,也许有一些约束。大多数实际电路是否比这更多的手动设计?
亚当

3
简而言之,即使没有考虑到所有因素都是一个实际的,非理想的电路,对组件进行最佳布局也是一个非常困难的CS问题。实际上,这是旅行商问题的一个实例,因此,最佳解决方案是不可行的。
尼克·约翰逊

2
@ Gregd'Eon我也想知道。当然,随着更多的工作,自动放置器可以理解去耦电容的作用,并模拟电路噪声等
亚当(Adam)

Answers:


19

我最近一直在设计一些PCB,建议您不要在最终产品中使用自动放置器或自动放置器。(Proteus具有自动放置器。)

首先-在自动放置或自动布线方面,您的软件像worm一样智能。换句话说,它像土豆一样傻。

自动布线不知道哪个布局可以为您提供更好的走线图案,这不仅使您可以进行高效的设计,而且可以使电路中的噪声降至最低。同样,自动布线也不知道将组件稍微向左或向右移动可以使您以更好的方式布线。这些工具只会为您提供根据电路正确的设计。但是,关于现实世界的性能,情况就不同了。
例如:

  • 去耦电容应在物理上靠近IC。
  • 应该有最小封闭区域的回路。
  • 接地层应尽可能坚固。
  • 晶体振荡器等附近不应有干扰信号。

您的软件将不遵守这些概念,因为原理图中未提及这些概念。您只有在制造完PCB之后才能知道它,而且并非一直都能正常工作。我并不是说这行不通。在90%的时间内它可能会起作用,但是您也必须考虑到那10%。

我的建议是,您应该学习一些PCB设计概念,并尝试自己进行布线。您可以随时在论坛中发布原理图和电路板布局,专家会给您他们的意见/建议。


5
for和土豆+1。每次我使用自动布局器和自动布线器时,我都会做一些关键的工作,而让它变得容易一些,但即使这样也太多了:在最后一遍之后就放置并布线了60%的电路板。最好自己做所有事情,除非是针对具有大量可用空间的大型需求设计。
米斯特先生(MisterMystère)2015年

1
@先生-是的,你是对的。甚至我不时使用自动路由器来了解布线的想法,最后我完成了关键部分。但是,这些天我正在使用Eagle,它没有自动放置器。
Whiskeyjack,2015年

1
错别字在我上面的评论中:“用于巨大的LOW *需求设计”。显然,高频数字频率无法通过自动路由和自动摆放来实现...
先生,2015年

1
我没有看到任何理论上的理由来解释为什么自动布线器在自动放置零件时不能考虑所有上述约束和最佳实践。实际上,理想的自动布线器应该能够找到比人类更能满足这些目标的最佳位置。可以肯定,这是一个很难的问题,但并非不可能,我敢打赌,很快我们将开始看到基于云的自动路由器和自动放置器,它们甚至可以击败最优秀的人。
bigjosh

1
@bigjosh-您的评论很有道理。正确的布线和放置有一些指导原则,如果将其分解为简单的逻辑,则应使计算机的性能优于人类。剩下的可能是数以万亿计的计算-检查数千个完全布线的电路板并找出最佳解决方案。对于基于云的系统,这应该不太困难。让我们希望一些开源项目能尽快开始实现这一目标。它可能比人类更好,因为人类一旦找到了可行的解决方案就不会真正进行多次迭代-至少我没有。
Whiskeyjack '16

13

我的路由器有一个放置器,并支持“房间”。这样一来,您就可以从原理图中绘制区域并为“房间”分配零件。自动放置器会将它们分组到分配零件的房间中。可以肯定的是,它对此连接器的支持也应该转到该位置。还有一个工具可以根据模拟结果进行自动去耦放置和零件选择/优化。它虽然不便宜:)但确实有效。

通过将所有东西放在一起,自动放置器可以为您节省一些时间。但是我仍然更喜欢将逻辑示意图与放置模式下的布局进行交叉探测。

就像自动路由器一样,您可以了解约束条件以及如何使用它。如果您只是尝试在没有适当限制的情况下使用自动路由器,则它会随处路由。正确设置后,我们将使用它正确路由较大长度的匹配DDR部分。在更大,更密集的板上,这几乎是必需的,并且肯定是需要速度的布局服务店的要求。但是,对于一年只做几个小型董事会的人来说,这些事情可能不值得。


4
您的CAD包装是什么?
米斯特先生(MisterMystère)2015年

5
去耦是高端版本的Allegro,来自节奏控制的Sigrity。我也喜欢护垫。新的基于路径的自动路由器应该看起来像手动路由,看起来很有趣。
某些硬件专家

我预感这可能是Cadence。我将它用作IC设计的介绍,它确实是一个出色的封装,并且我相信,如果正确地制定了约束条件(取决于经验/培训),其自动布线器和自动放置器可能只是高效的。
米斯特先生(MisterMystère)2015年

说得好。放置零件和布线并非不可能,这比原理图捕获更加困难和模糊。首先,电路图远远不足以自动放置零件的完整输入。常规PCB封装设计用于布线,而不是自动放置。
tomnexus 2015年

12

您没有考虑的一件事是原理图没有包含足够的信息来正确布置电路板

基本上,PCB布局需要考虑和适应每个零件的几十个布局要求,原理图中没有一个被编纂。仅考虑旁路电容器。为了使自动化系统正确地为每个组件放置旁路电容器,您需要在原理图上有一些其他指令,这些指令指示自动布线器两个节点之间的走线必须小于一定长度。
大概,然后您需要进一步的指令来编码各种网络的长度最小化的优先级,指示差分对/受控阻抗,保护走线(如果需要)等的内容。
基本上,有许多其他变量可以驱动布局,这些变量通常在原理图/草稿文档中根本没有编码。

此外,即使您假设具有上述所有设计约束,对于通用布局而言,问题空间的绝对大小也是巨大的。这等效于尝试求解具有数千个输入的方程式,其中每个输入对所有其他输入具有不同的非线性影响。实际上,从暴力角度看,这个问题是完全棘手的。因此,任何解决方案都必须涉及某种启发式机制,该机制具有其自身的复杂性。


实际上,至少没有更好的自动布线器的主要原因是没有市场。与许多其他细分市场,专用软件市场相比,EDA市场规模相对较小,即使有史以来最好的自动布线器也无法由实际的人来完成实际的布局。

当我在一个特别无聊的布局中时,我通常会幻想通过设计矢量场和模拟退火来设计自己的自动布线器,但是即使那样也只会接近局部最优布局,而不是一般的最优布局。


10

早在1974-1975年间,我就职于霍尼韦尔(中国)的设计自动化部门。从那以后问题一直没有改变:

  1. 优化在计算上不可行。像大多数全局优化问题一样,它是NP-Complete,这意味着计算的复杂性急剧增加。由于您不能等待一万亿年(或更糟的时间),因此我们可以认为找不到最佳解决方案。
  2. 尚不清楚程序要优化的内容。根据您的电路组织模型进行逻辑分组?迹线长度?董事会面积?寄生耦合?传播延迟?散热(最高温度)?从更高功率的部分到对温度敏感的组件散热?射频发射?噪声?机械性能(例如,在机械支撑件附近放置更多的大型组件?服务特性,例如不使车载连接器比人的手指靠得住更靠近?外部约束,例如连接器的位置,或在可用空间内的配合(与安装位置没有冲突)。案例,粉丝等)

有基于AI的方法来处理此类问题。但是,在某些时候,设计人员可以更轻松地尝试一些事情,并从软件中获得他感兴趣的设计标准的反馈。告诉AI软件您所知道的一切可能是无尽的,不费力气的任务。最终,该软件必须满足您,设计师和您的权衡要求。

因此,实现此目标的最佳方法是将其视为设计师与软件之间的协作,由设计师做出最终决定。该软件可以提供有关属性的信息,并可以提出改进感兴趣的属性的方法,并帮助探索变更的后果。

但是我预测我们永远不会看到全自动的布局-只要我们让人们关注并关注结果即可。


奇异之处非常重要……
Peter Mortensen 2015年

@PeterMortensen奇异之后,人类的观点将变得无关紧要。
Spehro Pefhany 2015年

1
我认为第二点确实是答案的唯一相关部分。有许多算法可以非常迅速地解决NP完全问题,而且问题的大小很大,并且可以接受的时间成本达到“足够好”的程度,足够好通常在最佳值的2-3%之内。
whatsisname 2015年

关于“足够好”,这是一个好观点!尽管从技术上来说是完全准确的,但我们应该仔细地对“解决”一词进行限定(就像您所做的那样)。但是,当时的CPU和存储成本是一个巨大的问题。但是,即使问题规模增加了,我们的计算能力也增加了。
Bob Kerns

9

我的软件有一个放置器。我跑了一次只是为了看看会发生什么。它在董事会上咆哮咆哮,并获得了所有组件。当我看着它的时候,零件无处不在。IC位于一个角落,而去耦电容位于另一个角落。关键路径在整个过程中呈锯齿状弯曲。

我的意思是,布局是布局中最难正确的部分。首先是机械约束。ME /工业设计人员希望您的连接器/开关/电位器/ LED /无论其他外部接口组件是否在某个位置脱离电路板。某些组件可能太高而无法放在机箱内的某些区域。电路的某些部分可能需要保持一定的间隙以进行隔离。

可以对软件进行配置以处理其中的一些因素,但是它永远做不到,也无法像人类一样直观地看到问题。在理想的情况下,如果正确放置位置,进行电源,接地和关键路径布线,则自动布线器的快速通过应该能够完成布局。


我喜欢这个答案,尽管在某种程度上看来该软件还不能完成应有的工作。
亚当

6
@Adam随着您获得更多的经验,您会更好地理解。放置过程非常复杂,老鼠的巢只讲述了故事的一部分。以去耦盖为例,放置器应该如何知道将其放置在哪里?就所有问题而言,这些帽子都可以放置在任意位置。
马特·杨

2
距离约束似乎是可行的选择。
Tim Seguine 2015年

您的软件名称是什么?
Daniele Testa '18

2

我以前使用过自动放置工具,它们的确像一堆石头一样笨。您能疯狂使用它们的唯一一件事就是解开一堆脚印,这些脚印全部导入到您板上的同一位置;别的什么都问不完。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.