Translate

jueves, 8 de octubre de 2015

Sistema de operacion entre conjuntos en VHDL con FPGA DE0-NANO

Sistema de operacion entre conjuntos en VHDL con FPGA DE0-NANO

Por: Daniel Calle Rojas (decalle@espol.edu.ec)

Descripción:
Es un separador de números, se ingresan números del 0 al 9, máximo 10 números cada conjunto, es decir no permite números repetidos, se ingresan los números tanto para el conjunto A como para el conjunto B.
Como se usa?
Se da reset, luego start y de ahí por default se ingresan los elementos de A, al terminar se debe presionar “Listo_A” y de ahí se ingresan los números de B y al terminar se ingresa “Listo_B”, luego se presiona “ver” y para ir avanzando los números recopilados se presiona “sigue”, cuando no hay mas números que presentar se queda en el primer numero de la solución.


SEÑALES DE DIAGRAMA ASM
ENTRADAS:
Start: reinicia el sistema.
Listo_A: Se presiona cuando se ha terminado de ingresar los números de A
Listo_B: Se presiona cuando se ha terminado de ingresar los números de B
Last_A: Se activa cuando se ha culminado de monitorear todos los números de A. 
Last_B: Se activa cuando se ha culminado de comparar todos los números de B.
AesB: se activa cuando un elemento de A es igual a uno de B
AfueB: Se activa cuando al menos un elemento de A fue igual a uno de B.
Ver: Es una entrada que el usuario pide ver los números ya procesados.
Fin: Es una entrada con la cual el usuario puede decidir que termina al momento de ir viendo los números procesados.
Progress: Es una entrada con la cual el usuario puede ingresar para ir avanzando los números que se tiene que mostrar.
Finish: Es una señal la cual me dice que el usuario llego al fin del arreglo, y no hay mas números que mostrar. 

SALIDAS:
Eliminar_A, Eliminar_B: Son salidas las cuales resetean los registros de los datos de A y de B respectivamente. 
Again: Es una señal que resetea todos los elementos a utilizarse cuando se empieza a comnprar los números del arreglo A con el arreglo B. 
Reset_g: Es una señal que resetea a todos los elementos de manera general.
Rst_A, rst_B: Son señales que resetean los contadores para recorrer el arreglo de A y de B respectivamente. 
Reset_new: esta señal resetea los elementos necesarios para cuando se termina de comprar todos los elementos de A con B. 
Elegir_B: Esta señal me habilita un mux para que cambie la dirección que es para guardar en A, a leer en A.
Fin_A, Fin_B: Esta señal cambia los habilitadores para que primero se ingrese elementos de A, y luego elementos de B. 
Cg: Esta señal carga un valor para que cambie la dirección de escribir los números a leer los números.

CÓDIGO VHDL