Las presiones constantes relativas a los plazos y costes implican que cada vez sea más importante que las startups y las empresas maduras transfieran sus ideas de concepto a producción de la forma más rápida y fiable posible. Por ello, algunas plataformas de desarrollo se han convertido en los cimientos de los productos finales. Un ejemplo es la tarjeta IdC FPGA MAX1000, desarrollada por Arrow Electronics en colaboración con Trenz Electronic. Partiendo de la FPGA Intel MAX10, la MAX1000 fue diseñada inicialmente para ser una tarjeta de fabricante de bajo precio, pero ahora se utiliza extensamente como componente de muchas aplicaciones diferentes. El motivo es que no se trata tan sólo de una tarjeta básica fácil de usar, sino que es una tarjeta completamente cualificada y, por lo tanto, ideal para emplearse en productos terminados. Son muchas las versiones posibles. Se puede incorporar sin cambios, con extensiones o modificaciones según fuera necesario, o remodelarse para ofrecer un sistema MAX10 específico del cliente y ampliado.
En unas pocas semanas, se puede preparar un prototipo de un nuevo modelo MAX1000 basado en las especificaciones detalladas del cliente. Y si hablamos del tiempo de comercialización, esta velocidad supone una ventaja concreta, ya que cualquier desarrollo interno con los consiguientes procesos de aprovisionamiento y producción llevaría mucho más tiempo; por no mencionar el tiempo necesario para completar el proceso de cualificación. La disponibilidad de los proyectos y diseños de software existentes de Quartus Prime supone además que ya hay puntos de acceso disponibles, lo que, de nuevo, reduce el tiempo necesario para realizar la aplicación. Utilizar la tarjeta supone un ahorro en tiempo y dinero en todo el proceso de desarrollo, mientras que el riesgo asociado se reduce porque se está utilizando un producto ya cualificado.
Múltiples variantes
Actualmente, existen tres variantes de la MAX1000 con diferentes densidades de lógica y capacidades de memoria disponibles como extensiones. Además, se han desarrollado versiones compatibles con soldadura SMD y sistemas en módulo (SoM) conectables para responder a las necesidades de los clientes, en colaboración con otros que ofrecen interfaces y funciones suplementarias, sensores y opciones de almacenamiento. En la versión estándar, MAX1000 ofrece numerosas funciones útiles, diseñadas con gran esmero, que los clientes pueden adoptar directamente para sus propias aplicaciones. El corazón del conjunto es un concepto monochip FPGA Intel MAX10, con densidad de lógica ampliable de 2 a 16 KLE, sistema de arranque dual integrado y memoria flash de usuario, un convertidor analógico digital de 12 bits, bloques de procesamiento digital de señales, reacción de encendido instantáneo y un procesador softcore NIOS II para programación sencilla en C.
Security Flash
Se suministra una SDRAM externa como tarjeta de memoria adicional, o para el almacenamiento volátil de datos. En la FPGA hay una memoria flash QSPI integrada para ayudar con programas y volúmenes de datos mayores. En lugar del sistema flash convencional, utiliza autentificación W74M Winbond y Security Flash con funciones ampliadas. Además de la memoria flash, la W74M incluye un criptoacelerador HMAC-SHA-256 y cuatro contadores independientes con claves de seguridad volátiles y no volátiles que se seleccionan individualmente. Esto significa que a los valores de la memoria transmitidos por SPI se les puede aplicar un marcador de tiempo (Time stamp) y codificarlos correctamente, protegiendo así, de manera efectiva, la información frente a los hackers externos. La W74M permite a los desarrolladores proteger sus códigos y datos, y además facilita una seguridad mayor mediante sus múltiples opciones de autentificación en todos los niveles.
Gracias a las cuatro llaves suministradas, se pueden iniciar los procesos de autentificación para la propia CPU/FPGA, la pasarela de mayor nivel y la nube de datos vinculada con la app en dispositivos móviles, para conseguir una transmisión de datos completamente codificada. Para los proyectos demo iniciales con la MAX1000, se incorporaron un sensor de acelerómetro de 3 ejes, ocho LED y dos interruptores; que se podrían usar, por ejemplo, para ejecutar una aplicación de nivel de burbuja de aire o, incluso, un sistema de rastreo en interiores. Para facilitar la conectividad a funciones externas, como sensores, interfaces o señales, hay un conector para PMOD y Arduino MKR, compatibles con varias tarjetas existentes en el mercado. Se alimenta mediante un módulo convertidor DC/DC eficiente y compacto con el cable integrado del carrete Enpirion que suministra los 5 V necesarios por USB, que es la única fuente de alimentación que necesita la MAX1000. También hay integrado un oscilador MEMS que proporciona los impulsos para la MAX1000 y para el puente FTDI USB a JTAG como interfaz de programación/ depuración.
Herramientas de depuración incluidas
Otra de las ventajas de la tarjeta MAX1000 es que incluye el USB Programmer2 de Arrow, que ahora funciona a gran velocidad y ofrece muchas funciones adicionales prácticas. Mediante el puerto USB, se abren dos canales a un PC, un JTAG y un UART, con lo que se puede depurar la FPGA mediante conexión USB, al mismo tiempo que los datos UART se muestran en pantalla. Gracias a las condiciones de licencia del software de controladores USB Programmer2, usarlo junto con las tarjetas diseñadas por Arrow no cuesta nada. El USB Programmer2 resulta además especialmente útil a los clientes para desarrollar tarjetas FPGA, está disponible también como una tarjeta independiente de bajo coste, con tamaño pequeño y conector JTAG, para utilizarla en el desarrollo y como módulo SMD soldable licenciado para utilizar en aplicaciones finales.
Futuros desarrollos
Con el mismo factor de forma que la MAX1000, está disponible la tarjeta CYC1000 que incorpora el nuevo Cyclone10 LP con 25 KLE y ofrece una variedad de funciones similares a las de MAX1000. Al igual que MAX1000, la CYC1000 se puede integrar con o sin cambios en productos finales, puesto que ya está totalmente cualificada. En un futuro próximo, estará disponible el Cyclone10 LP Reference Kit con 55 KLE. Incluirá la gama completa de interfaces y funciones de memoria, incluyendo 2 Ethernet 10/100, USB 2.0, VGA, convertidor ADC/DAC multicanal, SDRAM, HyperRAM, flash, un oscilador, PMOD, Arduino, LVDS, pantalla de 7 segmentos, LED e interruptores. En estos momentos, se está desarrollando un sistema en módulo (SoM) Cyclone 10 GX que tendrá un rendimiento mayor, con las siguientes características: 220 KLE, 12 transceptores de 12,5 Gbit, un gran número de conectores LVDS, Ethernet Gbit, DDR3, seguridad, sincronización y mucho más. Este SoM permitirá crear aplicaciones rentables para interfaces 10 Gbit Ethernet, USB3.x, JESD204B y aplicaciones en el campo de la aceleración, BigData, pasarelas, industrial, vídeo y cámara, por mencionar sólo algunas. En una era en la que el cambio se produce a mayor velocidad aún y los sistemas son cada vez más complejos, se precisan soluciones que puedan ejecutarse con un plazo y costes realistas. La tarjeta MAX1000 puede ser una buena base para conseguirlo.