26 votos

Nuevo en el diseño de placas de circuito impreso: ¿por qué no existe la autocolocación de componentes?

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

9 votos

Los autorouters deberían ser capaces de colocar los componentes de forma óptima basándose en restricciones (por ejemplo, "el botón debe ir aquí", "el LED puede estar en cualquier lugar de esta zona"). También deberían ser capaces de seleccionar los pines óptimos a utilizar en las partes que tienen un montón de pines equivalentes (es decir, "utilizar cualquier pin io que tiene PWM"). Lamentablemente, nunca he visto uno que haga ninguna de estas funciones. Quizás algún día.

0 votos

Creo que Altium tiene un autoplacer, pero algunos componentes están destinados a ser colocados en lugares estratégicos en el tablero y el software no tiene idea de lo que es estratégico y no. Y si minimizas el área total de la placa, podrías hacer imposible el enrutamiento limpio. Nunca he usado el autoplacer y rara vez uso el autoroute, y cuando lo hago, es para señales selectas como la tierra.

7 votos

La colocación (y la orientación, el intercambio de puertas, el intercambio de pines) es muy, muy importante. Es lo más importante para conseguir un buen enrutamiento. Creo que un autoplacer inteligente debería empezar desde la colocación del esquema, a menos que el esquema sea una de esas modernas abominaciones de "cajas rodeadas de netlists".

22voto

Whiskeyjack Puntos 758

He estado diseñando algunas placas de circuito impreso recientemente y te sugeriría que NO utilizaras el autoplacer o el autoenrutador para tu producto final. (Proteus tiene autoplacer).

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

El enrutamiento automático no sabría qué colocación le dará un mejor patrón de trazado que le permitirá no sólo hacer un diseño eficiente, sino también minimizar el ruido en el circuito. Del mismo modo, el enrutamiento automático no sabe que desplazar un componente ligeramente a la izquierda o a la derecha le permitirá enrutar una pista de una manera mejor. Estas herramientas se limitan a dar un diseño que es correcto según 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 CI.
  • Deben existir bucles de menor superficie cerrada.
  • El plano de tierra debe ser lo más sólido posible.
  • Ninguna señal de interferencia debe estar cerca de su oscilador de cristal etc.

Su software no respetará estos conceptos porque no se mencionan en su esquema. Sólo lo sabrás cuando tengas la placa de circuito impreso fabricada y no funcione siempre como se espera. No estoy diciendo que no funcione. Puede que funcione el 90% de las veces, pero también hay que tener en cuenta ese 10%.

Mi sugerencia es que aprendas algunos conceptos de diseño de placas de circuito impreso e intentes colocar y enrutar por tu cuenta. Siempre puedes publicar tu esquema y el diseño de la placa en los foros y los expertos te darán su opinión/sugerencias.

7 votos

+1 para la lombriz y la patata. Cada vez que usaba el autocolocador y el autorouter, había hecho las partes críticas y había dejado la parte fácil, pero incluso eso era demasiado pedir: el 60% de la placa estaba colocada y ruteada después de la última pasada. Es mejor hacerlo todo nosotros mismos, excepto quizás para los diseños de grandes requisitos con mucho espacio libre.

1 votos

@Mister - Sí, tienes razón. Incluso yo utilizo el auto router de vez en cuando para tener una idea del enrutamiento y remato las secciones críticas. Sin embargo estoy usando Eagle estos días y no tiene auto placer.

1 votos

Error tipográfico en mi comentario anterior: "para diseños con grandes requisitos BAJOS*". Obviamente, una frecuencia digital alta no funcionará bien con autorouting y autoplacing...

14voto

Stephen Denne Puntos 218

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

Básicamente, el diseño de la placa de circuito impreso requiere tener en cuenta y acomodar algunas docenas de requisitos de diseño por parte , ninguno de los cuales está codificado en el esquema. Considere sólo los condensadores de derivación. Para que un sistema automatizado coloque correctamente el condensador de bypass para cada componente, necesitarías tener algunas directivas adicionales en el esquema que dicten al autorouter que la traza entre los dos nodos debe ser inferior a una determinada longitud.
Es de suponer que entonces se necesitarían más directivas para codificar el prioridad de minimización de la longitud de varias redes, algo para dictar pares diferenciales/impedancia controlada, trazas de protección (si son necesarias), etc.
Básicamente, hay un montón de variables adicionales que impulsan la colocación y que normalmente no se codifican en absoluto en los documentos esquemáticos/ratsnest.

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


Siendo realistas, la principal razón por la que no hay al menos mejor autorouters es que simplemente no hay mercado. El mercado de EDA es comparativamente pequeño en comparación con muchos otros nichos de mercado de software de propósito especial, e incluso el mejor autorouter de la historia ni siquiera se acercará a un diseño real realizado por un humano real.

Cuando estoy en medio de un trazado particularmente aburrido, suelo tener algunas fantasías de intentar diseñar mi propio autorouter, haciendo algo con campos vectoriales y recocido simulado, pero incluso eso sólo se acercaría a un óptimo local, más que a un trazado óptimo general.

13voto

George Puntos 487

Mi router tiene un colocador y soporte para "habitaciones". Esto te permite dibujar áreas y asignar partes a "habitaciones" desde el esquema. El colocador automático las agrupará en la sala a la que se asigne la pieza. Estoy seguro de que tiene soporte para este conector debe ir a esta ubicación también. También hay una herramienta que puede hacer la colocación automática del desacoplamiento y la selección/optimización de las piezas basándose en los resultados de la simulación. No es barato :) pero funciona.

El colocador automático puede ahorrarte un poco de tiempo al colocar todo junto de esa manera. Pero sigo prefiriendo el sondeo cruzado del esquema al modo de disposición en el lugar.

Al igual que el router automático, se obtiene lo que se pone en términos de limitaciones y lo bien que se puede utilizar. Si tratas de usar tu auto router sin restringirlo apropiadamente, simplemente se enruta por todas partes. Cuando está bien configurado, lo utilizamos para enrutar correctamente secciones DDR de gran longitud. En placas mucho más grandes y densas 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 sólo unos pocos tableros pequeños al año.

4 votos

¿Cuál es su paquete CAD?

5 votos

La versión de gama alta de Allegro, el desacoplamiento es de Sigrity ahora propiedad de cadence. También me gustan las almohadillas. Ese nuevo enrutador automático basado en la ruta que se supone que se parece al enrutamiento manual parece interesante.

0 votos

Tuve la corazonada de que esto podría ser Cadence. Lo utilicé para una introducción al diseño de circuitos integrados, es de hecho un paquete excelente y creo que su autorouter y autoplacer podrían ser eficientes si las restricciones se formulan correctamente (lo que se reduce a la experiencia/formación).

11voto

Bob Kerns Puntos 171

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

  1. No es computacionalmente factible optimizarlo. Como la mayoría de los problemas de optimización global, es NP-Completo, lo que significa que la complejidad del cálculo crece terriblemente rápido. Como no se puede esperar un trillón de años (o algo peor), podemos considerar que la solución óptima es imposible de encontrar.
  2. El programa no tiene claro qué es lo que quiere optimizar. ¿Agrupación lógica según su modelo de organización del circuito? ¿Longitud de trazado? ¿Superficie de la placa? ¿Acoplamiento parásito? ¿Retraso de propagación? ¿Disipación térmica (temperatura máxima)? ¿Sangrado térmico de las secciones de mayor potencia a los componentes sensibles a la temperatura? ¿Emisión de RF? ¿Ruido? Propiedades mecánicas (por ejemplo, ¿colocar los componentes más masivos cerca de los soportes mecánicos? Características de servicio, como no colocar los conectores de la placa más cerca de lo que pueden manejar los dedos humanos. Restricciones externas, como la ubicación de los conectores o el encaje en el espacio disponible (sin conflictos con carcasas, ventiladores, etc.)

Hay enfoques basados en la IA para tratar problemas como éste. Sin embargo, en algún momento, es más fácil para el diseñador limitarse a probar cosas y obtener información del software sobre los criterios de diseño que le interesan. Decirle al software de IA todo lo que sabes puede ser una tarea interminable e ingrata. En última instancia, el software tiene que satisfacerte a ti, el diseñador, y a tu conjunto de compensaciones.

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

Pero predigo que nunca, nunca, veremos una maquetación totalmente automatizada, mientras haya humanos mirando y preocupándose por el resultado.

1 votos

Tanto para la Singularidad...

0 votos

@PeterMortensen Las opiniones humanas no importarán después de la Singularidad.

1 votos

Creo que el punto 2 es realmente la única parte relevante de la respuesta. Hay muchos algoritmos que pueden resolver muy rápidamente problemas NP-completos, con tamaños de problemas significativos, a un grado "suficientemente bueno" con un coste de tiempo muy aceptable, siendo suficientemente bueno a menudo dentro del 2-3% del óptimo.

9voto

AndroidUser Puntos 26

Mi software tiene un placer. Lo ejecuté una vez sólo para ver qué pasaba. Se fue a toda prisa a través de la placa, y tiene todos los componentes en él. Cuando lo miré, las piezas estaban por todas partes. El CI estaba en una esquina, y su tapa de desacoplamiento estaba en la otra. La ruta crítica se movía en zig-zag por toda la placa.

Lo que quiero decir es que la colocación es la parte más difícil de conseguir. En primer lugar, están las limitaciones mecánicas. El diseñador industrial/EM quiere que el conector/interruptor/pot/LED/cualquier otro componente de interfaz externa salga de la placa en un punto determinado. Algunos componentes pueden ser demasiado altos para estar en ciertas áreas dentro de la caja. Puede haber partes del circuito que necesiten mantener una determinada distancia para el aislamiento.

Los programas informáticos pueden configurarse para hacer frente a algunos de estos factores, pero nunca harán un trabajo tan bueno ni podrán ver los problemas de la misma manera que un ser humano. En un mundo perfecto, si la colocación es la correcta, y el enrutamiento de la energía, la tierra y la ruta crítica, una rápida pasada del autorouter debería ser capaz de terminar el diseño.

0 votos

Me gusta esta respuesta, aunque sigue pareciendo en cierta medida que el software no está a la altura de lo que debería.

6 votos

@Adam A medida que tengas más experiencia, lo entenderás mejor. El proceso de colocación es increíblemente complejo, y un nido de ratas sólo cuenta una parte de la historia. Por ejemplo, los tapones de desacoplamiento, ¿cómo se supone que el colocador va a saber dónde ponerlos? Por lo que a él respecta, esas tapas pueden colocarse todas juntas en un lugar arbitrario.

3 votos

Las limitaciones de distancia parecen una opción factible para ello.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X