¿Qué influencia tiene el enrutamiento en el consumo de energía estático/dinámico en el diseño de FPGA?
Quiero saber que, ¿diferente enrutamiento da como resultado un consumo de energía diferente?
Definitivamente habrá efectos. Los cables más largos tienen más capacitancia que deberá cargarse en cada transición, lo que aumenta el consumo de energía. Por lo general, las herramientas de lugar y ruta intentarán hacer que los cables sean lo más cortos posible en un esfuerzo por minimizar la demora. También podría haber variaciones en el consumo de energía estática de los componentes de enrutamiento, aunque esto dependería en gran medida de la arquitectura.
Sí, con cada rastro en la PCB habrá resistencia parásita e inductancia .
El problema es que los FPGA tienen muchas puertas que cambian al mismo tiempo (incluso se pueden extraer amperios de corriente de algunos FPGA), lo que hace que aumente la carga y la demanda de corriente en escalas de tiempo muy cortas. Esto provoca una caída de tensión en los pines de alimentación de la FPGA. Si la caída de voltaje es demasiado grande, las puertas no se alimentarán y emitirán "ruido" en lugar del voltaje correcto para un 1 o un 0, lo que dará como resultado un error en un cálculo booleano.
Las trazas de PCB son simplemente conductores, cada conductor tiene resistencia (que provoca una caída de voltaje) e inductancia (que evita que la corriente se mueva de un lugar a otro inmediatamente). Esto contribuye a que el voltaje en el FPGA caiga.
¿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 potencia proporcionan un almacenamiento a corto plazo junto a la FPGA para combatir la inductancia de línea.
2) Asegúrese de que la caída de voltaje a través de las trazas de la PCB sea lo suficientemente pequeña para que la corriente se mueva a través de ellas. Lo primero que deberá hacer es encontrar una calculadora de trazas 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 como máximo 1A, y la traza de la placa de circuito impreso es de 0,100 Ω, esto daría como resultado una caída de 0,1 V (V=I*R). Esto puede no ser aceptable para un diseño de 1,2 V o 1,5 V; consulte la hoja de datos de FPGA para conocer los límites de potencia. Si aumentó el tamaño de la traza en 5x, solo tendría 0.020Ω y una caída de 0.02V.
Un FPGA, al menos los de 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. Este es usado preferentemente para relojes por el PAR.
Los datos tienen varias longitudes de línea diferentes. Algunos van de LUT a LUT para conexiones muy locales, por ejemplo, cadenas de transporte rápido. Hay las llamadas "líneas largas" que cruzan el troquel, que se pueden dividir en pequeñas secciones para limitar el consumo de energía dinámico, o se pueden enrutar directamente. También hay varios tipos de línea de longitud intermedia. Todos estos tendrán un consumo de energía dinámico diferente.
El PAR seleccionará de los recursos disponibles para cumplir con las limitaciones de tiempo. Con un dado escasamente poblado, podría ser posible anticipar qué se usará para qué. Con un diseño denso, donde el PAR lucha, será difícil adivinar qué se va a utilizar para qué.
Esto significa que solo los informes posteriores al diseño le darán estimaciones precisas.
No hay mucho que pueda hacer para controlar la disipación de energía de la interconexión, una vez que haya hecho las cosas obvias de organizar los sumadores en columnas, colocar la lógica junto a su IO para que no cruce el chip, usar los búferes de reloj dedicados, etc. en, las cosas obvias. Básicamente, si el PAR debe cumplir con las restricciones de tiempo, entonces tiene que usar lo que usa.
el fotón
Ana Martín
jalalipop
usuario105652
jalalipop