sábado, 16 de marzo de 2019

Actualización de estado #6

Hoy sábado 16 de marzo de 2019, he dejado funcionando la simulación. Nunca la expresión "dejar funcionando" se había usado de forma tan precisa.

Puedo afirmar que, para la combinación que tengo actualmente en el proyecto de prueba, la simulación funciona correctamente.
Paso a describir la estructura:

HardScratch (la interfaz): está escrita en Java. Hace uso de la librería LWJGL3. Sus componentes para el guardado son BUMLAY (codificador) y BUCKLE.
VME2: escrito en Autoit. Es un generador de código VHDL que recibe por entrada los archivos guardados de BUMLAY (decodificador).
VMESS: escrito en Autoit. Contiene a VME2. Es una herramienta para simular código generador por VME2 en tiempo real. Utiliza el programa GHDL para compilar VHDL a C y ejecutar la simulación.

VMESS: VHDL MADE EASY SIMULATED SIMULATION.
VHDL no puede ser ejecutado en un procesador, requiere de una FPGA para ser ejecutado de forma "nativa". Es por esto que se tiene que traducir a un código C equivalente. No obstante, las simulaciones se realizan simulando el comportamiento de una UUT (unidad bajo pruebas) mediante un archivo que reproduce estímulos secuenciales. Pero estos estímulos están fijos en el archivo de prueba y no pueden ser modificados en tiempo de ejecución.
VMESS simula ser una simulación mediante la conversión de sistemas secuenciales, a sistemas combinacionales más una memoria. Las entradas se introducen en cada ejecución, las señales se inicializan según el código original la primera vez, después se inicializarán al valor que tomaron al final de la ejecución anterior; para ello se añade una salida por cada señal.
VMESS recibe entradas y memoria, y envía salidas y memoria. El programa que usa VMESS debe almacenar esa memoria para realimentarla en cada ejecución.

He apodado este sistema VME Simulated Simulation porque explica perfectamente su función. A demás de llevar la palabra MESS, que también describe perfectamente el código.


Esta vez no hay demo, y no quiero hacer promesas, pero creo que en la siguiente actualización habré terminado el Error Handling y tendré listo un ejemplo interesante.

No hay comentarios:

Publicar un comentario