Cada vez es más y más inevitable que los diseñadores de placas tengan que fabricar PCB de alta velocidad cuando trabajan con microcontroladores. Con la potencia de CPU como los de la familia de dispositivos Freescale iMX6 con arquitectura ARM multinúcleo, pero con un muy bajo coste por MIP, es más y más interesante el uso de estos en dispositivos para conseguir un software y experiencias de usuario positivas en tu producto.
Pero al utilizar estos supermicrocontroladores con controladores de memoria integrada tenemos que hacer frente a los desafíos de diseños de alta velocidad, interfaces de memoria densas con pautas de composición de DDR3. En este blog para invitados, el usuario de Altium Robert Feranec de Fedevel Academy nos ofrece una serie de consejos muy valiosos sobre enrutado de interfaces de memoria DDR3, siguiendo su diseño de hardware abierto iMX6 Rex, un kit de desarrollo con un ordenador monoplaca compacto y potente.
La memoria DDR3 se encuentra en todo; es prácticamente inevitable que los diseñadores profesionales de placas impresas se enfrenten al enrutamiento de una placa sin utilizarlas. Este artículo le proporciona consejos para su conexión adecuada y enrutamiento de interfaces de memoria DDR3, incluso en diseños de placas de muy alta densidad y muy compactos.
Todo comienza con las reglas de diseño de alta velocidad recomendadas para enrutar DDR3 en grupos. Durante la composición de memorias DDR3, la interfaz se divide en un grupo de comandos, el grupo de control, el grupo de direcciones y los bancos de datos 0/1/2/3/4/5/6/7, señales de reloj y otros. Se recomienda que todas las señales que pertenecen al mismo grupo se enruten del mismo modo, es decir, utilizando la misma topología y transiciones de capas.
Figura 1: Secuencia de enrutado de memoria DDR3. Todas las señales en el grupo DATA 6 se enrutan del mismo modo, con la misma topología y transiciones de capas
Como ejemplo, consideremos la secuencia de enrutado de la DDR en la figura 1. Todas las señales del grupo DATA 6 van de la capa 1 a la capa 10, y después a la capa 11 y luego a la capa 12. Cada señal del grupo realiza las mismas transiciones de capas y, por lo general, asume la misma distancia de enrutado y topología.
Una de las ventajas de enrutar las señales DDR de esta manera es que durante el ajuste de longitud (es decir, el retraso o el ajuste de fases), puede ignorarse la longitud del eje «z» en las vías. Por este motivo, todas las señales enrutadas del mismo modo tendrán exactamente las mismas transiciones de vías y longitudes en estas.
Altium Designer® permite crear de forma sencilla los grupos de señales necesarios. Este paso se realiza cuando se configura el esquema del proyecto. En primer lugar, se ubica una caja alrededor de cada juego de mallas con los grupos que se están creando. A continuación, se asocia una directriz de la placa impresa con el tipo de malla al borde de la caja para aplicar un tipo de malla al grupo. Se incluye un ejemplo en la figura 2.
Figura 2: Las cajas y directrices de PCB se utilizan para crear grupos de clases de mallas para pautas de enrutado de memoria DDR3
Después de importar las clases de mallas a nuestra placa impresa (con el comando Engineering Change Order (ECO) en Design » Update PCB Document...), es muy útil asignar diferentes colores a cada grupo para que el enrutado sea más sencillo de organizar mentalmente. Vaya al panel de la placa impresa, haga clic en el grupo (clase de malla) al que te gustaría asignar un color y elije Change Net Color (cambiar color de malla) del menú desplegable, tal y como se muestra en la figura 3.
Figura 3: Asignar diferentes colores a cada grupo puede hacer el enrutado de memoria DDR3 más sencillo de organizar
Una vez que has seleccionado un color, haga clic en la clase de malla o en la malla de nuevo y elija Display Override » Selected ON (visualizar anulación » encendido seleccionado). Así se asegura que el color de la malla que seleccionaste anula el color de la capa de cualquier capa que se ha actualizado actualmente por los objetos de esa malla.
Si no has activado Net Color Override (anular color de la malla), las mallas no mostrarán el color que ha seleccionado. En este caso, presione la opción View » Net Color Override (visualizar » anular color de malla) o presione la tecla F5 para habilitar esta configuración globalmente (para todas las mallas). Llegado a este punto está listo para conectar la interfaz DDR3 a la CPU.
Elegir el estilo de vía correcto para un grupo de memoria concreto y decidir cómo las capas de PCB se utilizarán puede hacer la composición de la DDR3 mucho más sencilla. Asignar diferentes colores a cada grupo de memoria ayuda a visualizar la interfaz.
Figura 4: Elegir un tamaño de vía correcto puede ayudar a ahorrar espacio para más pistas en las conexiones del CPU
Una microvía (μVia) ocupa menos espacio que una vía. De este modo, podremos conectar más pistas a la misma área. Las microvías también ahorran espacio en las otras capas. El espacio libre puede utilizarse para pistas.
La dirección, el comando y el grupo de control tienen el número de señales superior de los grupos de memoria. Si elegimos vías, ocuparemos un montón de espacio en todas las capas. Al elegir microvías, solo necesitamos el espacio en la capa 3 y, debido a que la microvía cuenta con un diámetro más pequeño, nosotros también tenemos más espacio para distribuir las señales en la capa 3.
Figura 5: Dos o tres pistas pueden colocarse entre microvías, en el mismo espacio necesario para una pista entre vías
Algunas señales de dirección, comando y grupo control necesitan el espacio de más abajo a los grupos más cercanos.
Figura 6: Algunas de las pistas de dirección, comando y grupo control tienen que enrutarse en los discos de los grupos más cercanos
Cuando el grupo de señales de dirección, comando y grupo control se enruta a través de microvías en la capa 3, quedará espacio libre debajo de este grupo en la capa 10. Este espacio puede utilizarse para conectar los grupos más cercanos.
Figura 7: El espacio libre bajo los grupos enrutados con microvías puede utilizarse para conectar los grupos más cercanos
De la imagen anterior, queda claro de que no quedará espacio en la capa 10 para conectar los grupos exteriores. Así que la ubicación de grupos exteriores en la capa 3 y el uso de microvías es el resultado de la planificación de la conexión.
Nota: La misma técnica de planificación de conexión de capas, vías o microvías puede aplicarse también a otras interfaces (por ejemplo: PCI, ISA…). De este modo, incluso los diseños compactos y de alta densidad pueden enrutarse,
Con un poco de cuidado y planificación con antelación, el enrutado y ajuste de la longitud de las conexiones DDR3 puede ser un proceso relajado, incluso para las directrices de diseños más compactos y densos. El iMX6 Rex es un ejemplo asombroso de este cuidado y planificación, diseñado en parte como una herramienta para demostrar cómo se hace. Siguiendo el plan y los pasos de Robert, cualquier diseño con DDR3 puede completarse en mucho menos tiempo y existen más posibilidades de que salga bien a la primera.
Un proyecto completo de Altium con composición de DDR3 puede descargarse en http://www.imx6rex.com/.
Echa un vistazo a Altium en acción...