Dracon

Dracon es una plataforma modular basada en open-hardware que permite la implementación de dispositivos IoT sobre dispositivos reconfigurables, así como el test de co-procesadores y cores IP. La plataforma incluye un procesador de 8 bits T80, versión open-hardware del conocido procesador Zilog Z80, que permite la realización de aplicaciones complejas con necesidades reducidas de memoria. Las bajas necesidades de área y memoria permiten implementarla en FPGAs de bajo coste, sin necesidad de chips adicionales. La plataforma está desarrollada íntegramente en VHDL sintetizable, de manera que puede utilizarse sobre FPGAs de cualquier fabricante, con lo que el software desarrollado para la misma es completamente portable entre dispositivos.  Es uno de los resultados del proyecto HardSec4IoT (B-TIC-588-UGR20) Las principales características de Dracon pueden resumirse en lo siguiente:

  • Descrita íntegramente en VHDL. Implementable en FPGAs de cualquier fabricante.
  • Utiliza un microprocesador de 8 bits con el juego de intrucciones del Zilog Z80
  • Memoria ROM de 4KB incluyendo firmware y Programa Monitor para poder cargar programas y ejecutarlos (ampliable si se quiere disponer del sistema completamente embebido).
  • Memoria RAM entre 4 y 48KB
  • Memoria RAM de video de hasta 16KB
  • Modular: Pueden añadirse nuevos periféricos, puertos de entrada/salida o memoria según necesidades
  • Se pueden implementar sistemas IoT completamente embebidos introduciendo el software dentro de la ROM.

Las siguientes páginas proporcionan más información sobre la versión mínima de Dracon (mDracon, descargable de froma gratuita), y de implementaciones extendidas para aplicaciones IoT incluyendo altos niveles de seguridad y privacidad.

  • Dracon con características mínimas implementable en (casi) cualquier FPGA: mDracon
  • Dracon con sistemas de encriptación simétrica (AES)
  • Dracon con criptosistema simétrico (AES) y de llave pública (ECC): sDracon