¿Qué influye en el enrutamiento en el consumo de energía estático / dinámico en el diseño de FPGA?
Quiero saber que, ¿el enrutamiento diferente produce un consumo de energía diferente?
¿Qué influye en el enrutamiento en el consumo de energía estático / dinámico en el diseño de FPGA?
Quiero saber que, ¿el enrutamiento diferente produce un consumo de energía diferente?
Definitivamente habrá efectos. Los cables más largos tienen más capacidad que será necesario cargar en cada transición, lo que aumenta el consumo de energía. En general, las herramientas de lugar y ruta intentarán que los cables sean lo más cortos posible para minimizar el retraso. También podría haber variaciones en el consumo de energía estática de los componentes de enrutamiento, aunque esto sería extremadamente dependiente de la arquitectura.
Sí, con cada traza en el PCB habrá resistencia parasitaria e inductancia .
El problema es que los FPGA tienen muchas compuertas que cambian al mismo tiempo (incluso se pueden extraer amperios de corriente de algunos FPGA), esto hace que la carga aumente y la demanda de corriente aumente en escalas de tiempo muy cortas. Esto provoca una caída de voltaje en los pines de alimentación en el FPGA. Si la caída de voltaje es demasiado grande, las compuertas no recibirán alimentación y emitirán 'ruido' en lugar del voltaje correcto para un 1 o un 0, lo que resultará en un error en un cálculo booleano.
Las trazas de PCB son simplemente conductores, cada conductor tiene resistencia (lo que provoca una caída de voltaje) e inductancia (que evita que la corriente se mueva de un lugar a otro inmediatamente). Esto contribuye al voltaje en el FPGA a caer.
¿Qué puedes hacer al respecto? Hay dos formas de combatir este problema:
1) Asegúrese de tener suficientes condensadores de filtro de potencia. Los condensadores de filtro de alimentación proporcionan un almacenamiento a corto plazo junto al FPGA para combatir la inductancia de la línea.
2) Asegúrese de que la caída de voltaje en las trazas de PCB sea lo suficientemente pequeña como para que la corriente se mueva a través de ella. Lo primero que deberá hacer es encontrar una calculadora de traza de PCB que pueda estimar la resistencia de la traza. Luego, calcule la corriente que necesita el FPGA, la mayoría proporciona una herramienta o una hoja de cálculo (como Xilinx ) que puede estimar la corriente.
Si su FPGA necesita a lo sumo 1A, y la traza de la PCB es 0.100 result, esto resultaría en una caída de 0.1V (V = I * R). Es posible que esto no sea aceptable para un diseño de 1.2 V o 1.5 V; consulte la hoja de datos del FPGA para conocer los límites de alimentación. Si aumentara el tamaño del trazado en 5x, solo tendría 0.020Ω y una caída de 0.02V.
Un FPGA, al menos los Xilinx que he usado, tiene una variedad de recursos de enrutamiento.
La distribución del reloj está optimizada para el reloj de alta velocidad y cubre todo el chip. Esto se usa preferentemente para los relojes por parte del PAR.
Los datos tienen diferentes longitudes de línea. Algunos van de LUT a LUT para conexiones muy locales, por ejemplo, cadenas de transporte rápido. Existen las llamadas 'líneas largas' que cruzan el dado, que pueden dividirse en pequeñas secciones para limitar el consumo dinámico de energía, o enrutarse directamente. También hay varios tipos de línea de longitud intermedia. Todos estos tendrán diferentes consumos dinámicos de energía.
El PAR seleccionará de los recursos disponibles para cumplir con las restricciones de tiempo. Con un dado escasamente poblado, podría ser posible anticipar qué se utilizará para qué. Con un diseño denso, donde el PAR lucha, será difícil adivinar qué va a utilizar para qué.
Esto significa que solo los informes posteriores al diseño le darán estimaciones precisas.
Solo hay tanto que puede hacer para controlar la disipación de energía desde la interconexión, una vez que haya hecho lo obvio de organizar los sumadores en columnas, coloque la lógica junto a su IO para que no cruce el chip, usando el reloj dedicado buffers y así sucesivamente, las cosas obvias. Básicamente, si el PAR cumple con las restricciones de tiempo, entonces tiene que usar lo que usa.