Nuevo en el diseño de PCB: ¿por qué no existen componentes de colocación automática?

21

El software de diseño de circuitos que he visto tiene la capacidad de enrutar automáticamente trazas, etc. en una PCB.
Pero, ¿por qué este software no tiene la capacidad de colocar automáticamente componentes en una PCB para minimizar el tamaño total de la placa? ¿Es esto demasiado complicado para ser automatizado?

    
pregunta Adam

6 respuestas

16

Recientemente he estado diseñando algunos PCB y le sugeriría que NO use auto-placer o auto-router para su producto final. (Proteus tiene auto placer.)

En primer lugar, su software es tan inteligente como una lombriz de tierra cuando se trata de la colocación automática o el enrutamiento automático. En otras palabras, es tonto como una papa.

El enrutamiento automático no sabría qué ubicación le proporcionará un mejor patrón de trazado que le permitirá no solo realizar un diseño eficiente, sino también minimizar el ruido en el circuito. De manera similar, el enrutamiento automático no sabe que desplazar un componente ligeramente hacia la izquierda o hacia la derecha le permitiría enrutar una pista de una mejor manera. Estas herramientas solo le darán un diseño que es correcto de acuerdo con el circuito. Pero cuando se trata del rendimiento en el mundo real, las cosas son diferentes.
Por ejemplo:

  • Los condensadores de desacoplamiento deben estar físicamente cerca del IC.
  • Debe haber bucles de área menos cerrada.
  • El plano de tierra debe ser lo más sólido posible.
  • No debe haber señales de interferencia cerca de su oscilador de cristal etc.

Su software no respetará estos conceptos porque no se mencionan en su esquema. Solo sabrá cuando haya fabricado el PCB y no funcionará como se esperaba en todo momento. No estoy diciendo que no funcionará. Puede funcionar, el 90% de las veces, pero también debe tener en cuenta ese 10%.

Mi sugerencia es que debes aprender algunos conceptos de diseño de PCB e intentar colocar y enrutar por tu cuenta. Siempre puede publicar su esquema y diseño de la placa en foros y los expertos le darán su opinión / sugerencias.

    
respondido por el Whiskeyjack
11

Mi enrutador tiene un placer y soporte para "habitaciones". Eso le permite dibujar áreas y asignar partes a "habitaciones" del esquema. El auto placer los agrupará en la sala a la que está asignado. Bastante seguro de que tiene soporte para este conector debe ir a esta ubicación también. También hay una herramienta que puede realizar el desacoplamiento automático de la colocación y la selección / optimización de piezas en función de los resultados de la simulación. Aunque no es barato :) pero funciona.

El auto placer puede ahorrarte un poco de tiempo al colocar todo junto así. Pero sigo prefiriendo realizar una prueba cruzada del esquema al diseño en modo de lugar.

Al igual que el enrutador automático, usted obtiene lo que agrega en términos de restricciones y qué tan bien puede usarlo. Si solo intenta utilizar su enrutador automático sin restringirlo correctamente, simplemente se enruta a todas partes. Cuando se configura correctamente, lo usamos para enrutar correctamente las secciones de DDR de longitud coincidente. En tableros mucho más grandes y densos es casi una necesidad, y ciertamente un requisito para una tienda de servicios de diseño que necesita la velocidad. Sin embargo, estas cosas pueden no valer la pena para alguien que hace solo unas cuantas tablas pequeñas al año.

    
respondido por el Some Hardware Guy
10

Una cosa que no estás considerando es que un esquema no contiene suficiente información para diseñar una pizarra correctamente .

Básicamente, el diseño de PCB requiere consideración y adaptación para unas pocas docenas de requisitos de diseño por parte , ninguno de los cuales está codificado en el esquema. Considere sólo los condensadores de bypass. Para tener un sistema automatizado que coloque correctamente el capacitor de derivación para cada componente, deberá tener algunas directivas adicionales en el esquema que dicten al autorouter que la traza entre los dos nodos debe estar por debajo de cierta longitud.
Presumiblemente, necesitaría más instrucciones para codificar la prioridad de minimización de longitud para varias redes, algo para dictar pares diferenciales / impedancia controlada, rastros de guarda (si es necesario), etc ...
Básicamente, hay muchas variables adicionales que controlan la ubicación que generalmente no están codificadas en los documentos de esquemas / ratsnest.

Además, incluso si asume que tiene todas las restricciones de diseño anteriores, el gran tamaño del espacio del problema para un diseño común es enorme . Es el equivalente a tratar de resolver una ecuación con miles de entradas, donde cada entrada tiene un efecto diferente, no lineal en todas las demás. Efectivamente, el problema es completamente intratable desde una perspectiva de fuerza bruta. Por lo tanto, cualquier solución debe involucrar algún tipo de mecanismo heurístico, que tiene sus propias complejidades.

De manera realista, la razón principal por la que no hay al menos mejores autocursores es que simplemente no hay mercado. El mercado de EDA es comparativamente pequeño en comparación con muchos otros nichos, los mercados de software para propósitos especiales, e incluso el mejor autodirigido ni siquiera se acerca a un diseño real por un humano real.

Cuando estoy en medio de un diseño particularmente aburrido, generalmente tengo algunas fantasías de intentar diseñar mi propio enrutador automático, haciendo algo con campos vectoriales y recocido simulado, pero incluso eso solo se acercaría a un óptimo local, en lugar de a un general diseño óptimo.

    
respondido por el Connor Wolf
9

Mi software tiene un placer. Lo ejecuté una vez para ver qué pasaba. Rompió rugiendo a través del tablero, y consiguió todos los componentes en él. Cuando lo miré, las partes estaban por TODAS PARTES. El IC estaba en una esquina, y su tapa de desacoplamiento estaba en la otra. El camino crítico zigzaguea hacia adelante y hacia atrás a través del tablero.

Mi punto aquí es que la ubicación es la parte más difícil del diseño para hacerlo bien. Primero están las restricciones mecánicas. El diseñador industrial / ME quiere que su conector / interruptor / pot / LED / cualquier otro componente externo de interfaz salga de la placa en un lugar determinado. Algunos componentes pueden ser demasiado altos para estar en ciertas áreas dentro de la caja. Puede haber partes del circuito que necesiten mantener un cierto espacio libre para el aislamiento.

El software puede configurarse para lidiar con algunos de estos factores, pero nunca hará un trabajo tan bueno, ni podrá ver los problemas visualmente como lo puede hacer un ser humano. En un mundo perfecto, si se realiza correctamente la colocación, se realiza el enrutamiento de la energía, la conexión a tierra y la ruta crítica, un pase rápido del enrutador automático debería poder finalizar el diseño.

    
respondido por el Matt Young
9

En 1974-1975 trabajé en el departamento de Automatización de diseño en Honeywell. El problema no ha cambiado desde entonces:

  1. No es computacionalmente viable optimizar. Al igual que la mayoría de los problemas de optimización global, es NP-Complete, lo que significa que la complejidad de los cálculos crece de manera horriblemente rápida. Dado que no puede esperar un billón de años (o peor), podemos considerar que la solución óptima es imposible de encontrar.
  2. No está claro para el programa qué es lo que desea optimizar. ¿Agrupación lógica según su modelo de organización del circuito? Longitud de traza? Área de la junta? ¿Acoplamiento parasitario? ¿Retardo de propagación? ¿Disipación térmica (temperatura máxima)? ¿Purga térmica de secciones de mayor potencia a componentes sensibles a la temperatura? Emisión de RF? ¿Ruido? Propiedades mecánicas (por ejemplo, ¿colocar componentes más masivos cerca de los soportes mecánicos? ¿Características de servicio, como no colocar los conectores integrados más cerca de lo que los humanos pueden manejar?) Restricciones externas, como ubicaciones de conectores, o encajar dentro del espacio disponible casos, fans, etc.)

Existen enfoques basados en la IA para tratar problemas como este. Sin embargo, en algún momento, es más fácil para el diseñador probar cosas y obtener retroalimentación del software en cuanto a los criterios de diseño en los que está interesado. Decirle al software de AI todo lo que sabe puede ser una tarea infinita e ingrata. En última instancia, el software debe satisfacerlo a usted, al diseñador y a su conjunto de compensaciones.

La mejor manera de que esto funcione es verlo como una colaboración entre el diseñador y el software, y el diseñador toma las decisiones finales. El software puede proporcionar información sobre las propiedades y puede sugerir formas de mejorar una propiedad de interés y ayudar a explorar las consecuencias de un cambio.

Pero predigo que nunca, nunca, veremos un diseño completamente automatizado, siempre que tengamos humanos observando y cuidando el resultado.

    
respondido por el Bob Kerns
2

He usado auto-colocadores antes, y de hecho son tan tontos como una pila de rocas. Acerca de lo único que puede usarlos de forma segura es para desenredar un montón de huellas que todas se importaron en su pizarra en el mismo lugar que en ellas; cualquier otra cosa es simplemente mucho pedir.

    
respondido por el ThreePhaseEel

Lea otras preguntas en las etiquetas