Últimamente muchos de mis compañeros que están cursando la materia de Digitales II me han preguntado sobre como realizar diagramas de tiempo en el programa Quartus II. En este post detallaremos paso a paso como realizar el diagrama para un Generador de números aleatorios de 5 bits realizado en vhdl, el cual estoy usando en mi proyecto de Laboratorio de Digitales. Este diagrama es de gran utilidad para analizar el funcionamiento del componente con respecto al comportamiento de las variables de entrada clock, enable y/o reset que influyen en los valores de salida, a su vez esta herramienta nos permite hacer una simulación antes de implementar en una tarjeta de desarrollo DE0-Nano con FPGA y evitar posibles errores y daños a la misma.

El código del Generador de números aleatorios de 5 bits (numale) es el siguiente:

numale

Luego de verificar el numero de bits de cada entrada y salida, lo cual es importante en el momento de realizar el diagrama, compilamos el código.

En la opción File >New buscamos la opción Vector Waveform File y seleccionamos OK

3

Y obtenemos la siguiente ventana, en la cual damos click derecho en la opción Name y luego en Insert Node o Bus…

5

Luego damos click en la opción Node Finder y verificamos que en la opción Filter este Pins: all y damos click en la opción List

6

Verificamos y colocamos todas las entradas y salidas en el recuadro derecho y seleccionamos OK 2 veces y tenemos la siguiente ventana:

7

Como podemos observar, en el diagrama de tiempos están las entradas inicialmente e 0 y la salida con su correspondiente numero de bits. Para dar valores damos click en la opción Waveform Editing Tool 8

9

Como podemos observar se dieron valores a la entrada clock de acuerdo a como esta diseñado el componente y en la entrada enable se coloco un valor para cada caso, cuando genera solo ceros (enable =0) y cuando genera los numeros aleatorios (enable =1).

Luegp de la asignacion de valores, compilamos nuevamente y luego inciamos la simulacion dando click en el icono 10 y obtenemos la siguiente ventana.

Como podemos observar, ya tengo los valores de mi variable de salida count y se puede comprobar cada valor bit a bit de la variable, lo que nos ayuda en el caso de posibles errores. Luego de tener la simulación completa, ya se puede implementar en la tarjeta realizando las conexiones correctamente.