¿Por qué no están agrupados los pines en el microcontrolador, uno cerca del otro?

3

Simple pregunta, la curiosidad me está matando. ¿Por qué los microcontroladores (y otros IC también, como las RAM) tienen pines no agrupados?

Como en STM32, por ejemplo, tiene un puerto A y tiene 8 bits en un lado de IC y los otros 8 bits en la esquina opuesta de IC ... ¿Por qué? Hace que enrutar PCB sea mucho más difícil. ¿Cuál es la razón o el propósito de tal alineación? ¿Por qué no podían ponerlo uno al lado del otro? ¿Y por qué los uCs de 32 bits (como STM32) tienen puertos de 16 bits de ancho, cuando podrían tener un ancho de 32 bits?

Lo mismo ocurre con las RAM: los pines de dirección y los pines de datos están dispersos casi al azar sobre el IC. ¿Por qué?

Dentro del IC hay muchas capas de enrutamiento, ¿cuál es la razón por la que no pudieron agregar una más para agrupar los pines en algún orden lógico?

    
pregunta zupazt3

2 respuestas

6

En los chips de RAM, a menudo se desea que todas las líneas de dirección / datos tengan la misma longitud (cuanto más corta mejor), de modo que las señales viajen simultáneamente y la frecuencia de reloj podría ser mayor. Las líneas de dirección y datos deben cubrir toda el área del chip, por lo que se agrupan por la ubicación física de las celdas de almacenamiento que alimentan, no por función lógica.

Los dispositivos heterogéneos como los microcontroladores tienen diferentes tipos de restricciones. Algunas señales podrían interferir entre sí (como un reloj y un ADC sensible) y no pueden ir a los pines adyacentes. Además, la distribución de pines similares en ambos lados del chip puede mejorar el enrutamiento de la PCB. Es probable que el chip se siente en el medio y tenga que hablar con los vecinos de ambos lados. Tener todos los pines similares en un lado haría que el enrutamiento de PCB sea una pesadilla.

    
respondido por el Dmitry Grigoryev
0

También hay mucha historia involucrada.

Muchos diseños de chips están diseñados para coincidir estrechamente con los chips de la generación anterior, por lo que se pueden usar opcionalmente en la misma revisión o en la siguiente. Los diseños de chips ROM / PROM / SRAM / EPROM / EEPROM de 1 kB a 64 kB abarcaban muchas generaciones y las generaciones anteriores tenían restricciones de diseño de chips que se han olvidado hace mucho tiempo.

Los diseñadores de chips se dan cuenta de lo que quieren los clientes y si los clientes solo compran chips con datos ordenados y pines de dirección, eso es lo que estaría en las tiendas. Como es el diseño, tal vez sea exactamente lo que la gente quiere y esto puede no ser obvio sin años o experiencia en tablas de enrutamiento para ahorrar unos centavos aquí y allá.

Las matrices Modern Gate que permiten a los diseñadores elegir casi cualquier pin para cualquier función han simplificado el enrutamiento de la placa, pero nunca puede ser una coincidencia individual para cada combinación de chips aleatorios que utiliza un diseñador.

La gran mayoría de los sistemas de 16 bits utilizaron la memoria de 8 bits durante mucho tiempo, ya que era el estándar disponible. Es más económico colocar un chip de 8 bits más grande que dos memorias de 8 bits más pequeñas solo para obtener un ancho de bus de 16 bits. De la misma forma que ahorra 32 pines en el portador de chips si multiplexa sus datos de 64 bits en dos ciclos en lugar de intentar tener todo en el bus cableado para 64 bits cuando algunos de los buses, chips o periféricos ni siquiera pueden usar 64 bits. Pero, lo que es más importante, si puede multiplexar las líneas de datos (las líneas de dirección en la RAM dinámica también suelen ser multiplexadas), puede ahorrar muchos pines y esto ahorra mucho en el enrutamiento y tamaño de la placa y en el tamaño y costo de los chips y y y. >     

respondido por el KalleMP

Lea otras preguntas en las etiquetas