Sei sulla pagina 1di 9

Ejemplo de simulacin con Altera Maxplus II para el caso del Contador de dos dgitos.

1)

Abrir File Open *.GDF( ej c:\isld\altera\contabcd) en este caso se parte del archivo
graficoGraphic Editor files Luego aparecera la ventana

entrar a MAX +plusII al menu simulator y en este seleccionar el rango de tiempo para
simular

luego de presionar start, aparecer un cuadro de mensajes con los errores (Errors) y las
advertencias (Warnings). Despus de terminar la simulacin si se presiona el botn
Open SCF aparecer la ventana Waveform Editor ( tambin puede accederse a esta desde
MAX +plusII menu waveform editor). En esta ventana se puede agregar o deshechar nodos.
En este caso la simulacin se separar segn los bloques conta_bt y conta_cn. El bloque
conta_bt contiene el prescaler que divide hasta x 8 millones y sus salidas son salida_1_seg
que es la base de tiempo para el bloque conta_cn y selec_decodig que es la salida para el
control de los display de 7 segmentos en el caso que veremos se alterar un bloque de
codigo correspondiente a la salida de un segundo para disminuir el tiempo de simulacin
as:
%

Comienzo etapa base de tiempo


%
salida.clrn = !reset;
salida.clk = clock1k; gi
cuenta.clock = clock1k;
Este valor originalmente
era 999
cuenta.sclr = borrar;
IF cuenta.q[] < 9 THEN
salida.d = VCC;
borrar = GND;
ELSE
borrar = VCC;
salida.d = GND;
END IF;
salida_1seg = salida.q;
%
Fin etapa base de tiempo
%
%

Base de tiempo de 10ms.


La frecuencia de clock de entrada es de 1KHz.
salida_1seg se pone en "1" durante 10 ms.
El estado bajo de salida_1seg es de 1ms.

Tambin es posible iniciar la simulacin siguiendo los estos pasos:


1) Abrir File \Project *.tdf( ej c:\isld\altera\conta_bt)
2) Abrir File \Open*.tdf( ej c:\isld\altera\conta_bt)
3) Abrir en MAX +plusII el menu Compiler presionar el botn Start

En esta ventana se puede seleccionar el .SCF correspondiente . En este caso el tiempo


End Time habr cambiado de 99.0s a 50.0 ms., debemos presionar el botn Start y
luego el boton Open SCF
4) Abrir en MAX +plusII el menu Waveform Editor. Luego entrar en File\End Time y
colocar un tiempo de simulacin de 30ms .

5) Ahora debemos volver a la ventana Waveform /Editor.En esta ventana con el botn
derecho picar en el campo Name. Se desplegar una ventana con la opcin Enter
Nodes from SNF.Guardar esta ventana en File\Save as

Luego entrar en la opcin de men MAX +plusII\Simulator. Primero debemos observar


que la opcin Simulation Input en la ventana sea conta_bt.scf . Si no es as, se debe
picar dos veces con el botn derecho en el rengln Simulation Input .Se abrir luego la
ventana Input\Output

El resultado de la simulacin ser obtenido si presionamos open SCF

En este caso sede la linea azul (cursor de referencia ) hasta la flecha hay 10 ms y no
1000ms ( esto por haber puesto en el cdigo 9 en lugar de 999)
Para simular el otro bloque conta_bc los paso son similares Debemos tener en cuenta
que los tiempos de simulacin sern para un reloj que construiremos con periodo 1s y
registraremos 100s tampoco tendremos en cuenta la seal de salida conectada alos
displays de 7 segmentos selec decodig esta seal controla un mux de 2:1 sincrnica con
el mux 2:1 para un bus de 4 bits.
Los pasos a seguir son
1)Abrir File \Project *.tdf( ej c:\isld\altera\conta_cn)
2)Abrir File \Open*.tdf( ej c:\isld\altera\conta_cn)
3)Abrir en MAX +plusII el menu Compiler presionar el botn Start
En esta ventana se puede seleccionar el .SCF correspondiente . En este caso el tiempo
End Time ser de 100.0s., debemos picar el botn Start y luego el botn Open SCF
4)Abrir en MAX +plusII el menu Waveform Editor. Luego entrar en File\End Time y
colocar un tiempo de simulacin de 100s .
5)Ahora debemos volver a la ventana Waveform /Editor.En esta ventana con el botn
derecho picar en el campo Name. Se desplegar una ventana con la opcin Enter Nodes
from SNF.Guardar esta ventana con File\Save as
6) Luego entrar en la opcin de men MAX +plusII\Simulator. Primero debemos
observar que la opcin Simulation Input en la ventana sea conta_cn.scf . Si no es

as, se debe picar dos veces con el botn derecho en el rengln Simulation Input .Se
abrira luego la ventana Input\Output
7) Llegados a este paso debemos construir el reloj y la seal de reset. Para esto nos
posicionamos en clock_1seg (campo name) picamos con el botn derecho sobre las
opciones overwrite y clock

Aparecera una ventana que nos permitira cambiar el periodo de clock clock
period=500ms

Luego debemos generar una seal no peridica de reset. Para esto picamos con el
mouse cerca del cero ( conviene agrandar la escala )y marcamos una zona . como el
contador cuenta si reset esta en cero colocamos esta zona en uno picando en el boton de
la barra de herramientas que indica 1

El resultado de la simulacin ser obtenido si presionamos open SCF en la ventana


Simulation

Puede observarse que los dos ultimos renglones corresponden a una codificacin
decimal de los dos dgitos presentados en el display de 7 segmentos.
Tambien es posible observar cada uno de los bits descomponiendo los 2 ltimos
renglones con la opcion ungroup ( picar con boton derecho sobre el rengln que se
desea descomponer)

el cusor de referencia indica el numero 04.

Diagrama en bloques del contador


8mhz

Prescaler
Control
MUX

Contador
doble BCD

MUX2:1

Conv BCD
7 seg

|_|

|_|

Potrebbero piacerti anche