Utilizar tecnología integrada para diseñar un dispositivo electrónico portátil multifuncional. ¿Escribir el plan de diseño, las tecnologías y los métodos utilizados?
Utilice FPGA para desarrollar productos portátiles. Los FPGA son cada vez más potentes y ricos en funcionalidades, mientras que el número de puertas, el área y la frecuencia también aumentan. Los tiempos de desarrollo y respuesta de FPGA son mucho más cortos que los de los ASIC personalizados, y la ventaja adicional de la reprogramabilidad hace que los FPGA sean una solución atractiva en el campo de los sistemas integrados portátiles. En los diseños basados en ASIC o FPGA, los diseñadores deben considerar cuidadosamente ciertos criterios de rendimiento. Los desafíos que enfrentan se reflejan principalmente en el área, la velocidad y el consumo de energía.
Al igual que con los ASIC, los proveedores también deben abordar los desafíos de área y velocidad en los diseños de FPGA. A medida que el número de puertas sigue aumentando, las FPGA requieren un área y un tamaño mayores para dar cabida a más aplicaciones, y las herramientas de diseño deben utilizar mejores algoritmos para utilizar el área de manera más eficiente. La evolución de la tecnología FPGA también plantea una serie de nuevos desafíos para los diseñadores. La utilización de energía es uno de ellos. Este es un problema urgente para el diseño de sistemas integrados basados en FPGA para dispositivos portátiles.
FPGA en sistemas integrados
Un sistema integrado típico consta de un procesador, memoria, interfaces estándar que incluyen USB, SPI, I2C, pantalla LCD, salida de audio, etc. Composición del conjunto. El núcleo del dispositivo sigue siendo el procesador y la interfaz del procesador, que están conectados a varios periféricos mediante cableado integrado. El rendimiento del sistema depende principalmente del rendimiento del procesador, que a menudo tiene una arquitectura muy estándar y, por lo tanto, no es fácilmente personalizable.
A veces el procesador puede estar ocupado procesando información de periféricos lentos. Aunque la utilización del procesador puede alcanzar el 100% en este caso, no está realizando transacciones centradas en el microprocesador, sino que está funcionando a un nivel de rendimiento particularmente bajo. Independientemente de su frecuencia central, el microprocesador debe esperar datos del reloj más lento. Esto también resulta en un mayor consumo de energía ya que el procesador se utiliza al 100%. El resultado será una duración reducida de la batería y la necesidad de disipadores de calor o ventiladores más grandes para la refrigeración, lo que en última instancia afectará la confiabilidad general del sistema.
Como resultado, los FPGA comienzan a jugar un papel importante en este sentido porque pueden descargar muchas tareas de interacción periférica del procesador. Como se muestra en la Figura 1, se implementa un sistema de distribución integrado para flujos de datos de audio y video sin comprimir utilizando una red Gigabit TCP/IP estándar. Tiene un procesador DSP dedicado, que está conectado a la FPGA de Xilinx a través de una interfaz de bus estándar, y la FPGA está conectada a varios periféricos de baja velocidad.
Figura 1: Arquitectura FPGA para sistema de distribución de audio/vídeo.
Como kit de desarrollo inicial, este FPGA conecta entrada de audio PCM de 12 bits y salida de audio PCM de 12 bits a través de la interfaz I2S, también conecta codificadores y decodificadores de video, e interactúa con dispositivos esclavos I2C y RS232; dispositivos para comunicación; hay pocas E/S de uso general conectadas a la FPGA. El bus estándar conectado al procesador opera a una alta velocidad de 66MHz, mientras que los periféricos de audio operan a una baja velocidad de 1.182MHz las interfaces seriales UART e I2C operan a 56,6kHz y 100kHz respectivamente; Debido a que la transferencia de datos ocurre a través de múltiples dominios de reloj, solo el procesador puede configurar el flujo de datos.
En este caso, el procesador ya no interactúa con los periféricos de baja velocidad, pero la FPGA lee datos del dispositivo de audio PCM ADC de baja velocidad y almacena los datos en la caché interna de la FPGA. El procesador puede leer periódicamente datos de este caché, o la FPGA puede enviar una interrupción al procesador cuando hay suficientes datos en el caché. De esta manera, el procesador tiene más tiempo para realizar el trabajo necesario centrado en el procesador y entra en modo de suspensión cuando está inactivo.
Problemas de consumo de energía
En los sistemas integrados que funcionan con baterías, el ahorro de energía es la consideración más importante. El consumo de energía se puede dividir en tres categorías principales: consumo de energía de arranque, consumo de energía estática y consumo de energía dinámica. Los diseñadores no tienen control sobre el consumo de energía inicial, lo que juega un papel importante en las decisiones de selección de fuente de alimentación. La mayoría de los valores máximos de corriente se refieren al valor alcanzado durante esta etapa. Pero el consumo de energía estática y el consumo de energía dinámico son dos áreas diferentes. Con una planificación adecuada y las siguientes pautas correctas, los diseñadores integrados que utilizan FPGA pueden realizar mejoras significativas en la optimización de la energía.
El consumo de energía estática se refiere al consumo de energía generado cuando la corriente aún fluye a través de los componentes cuando el sistema no está funcionando. Generalmente es causado por la corriente de polarización del dispositivo y la corriente de fuga. El consumo de energía estática también depende del voltaje de funcionamiento. Reducir el voltaje de funcionamiento puede reducir el consumo de energía estática, pero esta estrategia no siempre está en manos del diseñador. Lo que los diseñadores pueden hacer es definir una arquitectura razonable que utilice la menor cantidad de recursos, maximice el intercambio de recursos y utilice módulos FPGA de la manera más eficiente.
Otra técnica para reducir el consumo de energía estática es estimar el consumo de energía al principio del ciclo de diseño, cambiar la topología o utilizar diferentes bloques de IP. Por ejemplo, la herramienta xPower Estimator de Xilinx es muy útil en este momento y puede saber desde muy temprano si el diseño cumple con el presupuesto de energía. Es posible que las estimaciones del consumo de energía en las primeras etapas no sean completamente precisas, pero pueden resultar útiles como herramienta de orientación.
El consumo de energía dinámico es causado por algunos comportamientos de las puertas FPGA (como la conmutación de señales). Cuando dos puertas se encienden temporalmente, se generará flujo de corriente y capacitancia. La velocidad de conmutación de la señal determina la cantidad de consumo de energía. Otro factor que afecta el consumo de energía dinámica es la capacitancia inherente formada en la estructura interna del circuito. El consumo de energía dinámico es una función de la frecuencia del reloj, la cantidad de puertas que se conmutan y la velocidad a la que esas puertas cambian. Las cargas capacitivas en los ventiladores y las pistas de las puertas aumentan la disipación de potencia dinámica, y el valor de disipación de potencia es proporcional al producto de la capacitancia, el voltaje y la frecuencia al cuadrado.
Los diseñadores tienen el mayor control sobre este consumo de energía y pueden aprovechar muchas técnicas para lograr la mayor mejora en el consumo de energía dinámico. Reducir la frecuencia de conmutación de la señal puede reducir exponencialmente el consumo de energía. Como se muestra en la Figura 1, la lógica de control para UART, los errores de paridad o desbordamiento de tramas ocurren en el dominio del reloj más lento. Incluso si el número de puertas no disminuye, el consumo de energía disminuirá. Los diseñadores también pueden reducir el consumo de energía dinámica reduciendo la frecuencia operativa general, si es posible. Por ejemplo, después de completar el análisis de viabilidad y rendimiento, los diseñadores decidieron que el diseño anterior no sólo podría funcionar a 133 MHz, sino también a 66 MHz. El DSP admite ambas velocidades y reducir el voltaje también ayuda a reducir el consumo de energía.
Otra técnica consiste en reducir el número de puertas efectivas en modo de trabajo. A veces, cierta parte de la lógica se activa y configura en el arranque, pero en realidad no requiere que se haga nada. Por ejemplo, la unidad de captura de audio analógico está activa, pero el dispositivo no realiza ninguna captura de audio digital SPDIF. En este caso, el circuito general de captura de audio digital SPDIF seguirá realizando muestreo de datos, decodificación bifásica, etc., desperdiciando así energía innecesariamente. Si se desactiva todo el circuito de captura de audio digital SPDIF para que no se produzca ninguna conmutación de señal en el circuito, el consumo de energía dinámica se reducirá significativamente.
El diseñador puede lograr esto desactivando el reloj entregado a esta parte del circuito. Un enfoque simple es combinar la señal del reloj con la señal de habilitación, como se muestra en la Figura 2. Si la señal de habilitación es baja, entonces la salida de la puerta AND permanecerá baja. Si la señal de habilitación es alta, la puerta AND emitirá una señal de reloj.
Figura 2: Un mecanismo de compuerta de reloj simple.
También se pueden utilizar otros métodos. Si es posible y la topología lo admite, el número de líneas de señal se puede reducir multiplexando líneas de dirección y de datos. En nuestro ejemplo, la salida al codificador de video son datos de 16 bits, que podemos multiplexar en 8 bits y enviar en ambos flancos del reloj (ascendente y descendente). Hacerlo también ahorra energía dinámica. Además, elegir una interfaz serie en lugar de una interfaz paralela también puede reducir el consumo de energía. También es útil utilizar E/S LVTTL o LVCMOS con menor carga capacitiva.
Procesador integrado
Integrar el procesador en una FPGA es otra estrategia que los diseñadores de dispositivos portátiles pueden adoptar y puede aportar muchos beneficios. En primer lugar, se reducen los desafíos antes mencionados que plantean los procesadores personalizados. En segundo lugar, la interacción entre los periféricos y el procesador se produce dentro de la FPGA, reduciendo así el número de E/S. Dado que la E/S consume una cantidad considerable de energía, esto también puede lograr un cierto grado de ahorro de energía. La versión de Xilinx de Virtex-5 admite procesadores PowerPC 440, procesadores duros y procesadores blandos MicroBlaze, todos los cuales pueden ser utilizados por los diseñadores para crear sistemas de aplicaciones de gama alta o baja.
Con la invención de las tecnologías de semiconductores de 90 my 65 nm, el tamaño de las puertas se reduce constantemente, lo que hace que el problema del consumo de energía estática se vuelva cada vez más prominente hoy en día, cuando los indicadores de consumo de energía son cada vez más altos. sensible, se trata de una cuestión extremadamente importante y desafiante. A medida que el tema del consumo de energía ha llamado la atención de muchos proveedores de FPGA, han surgido muchas tecnologías nuevas e interesantes en este campo. El diseño de bajo consumo de energía determinará qué tan fuertes son las capacidades de integración de un sistema, y la industria también necesita urgentemente estandarizar tecnologías de diseño que se centren en el consumo de energía.