Está en la página 1de 5

Universidad Central de Venezuela

Escuela de Ingenierı́a Eléctrica


Dpto. de Electrónica, Computación y Control
Lógica Digital

TRABAJO #1 DESCRIPCIÓN DE CIRCUITOS CON VERILOG

Autor:
Roberto Torres
C.I V.25533084

29/01/2021
RESUMEN
De acuerdo a las especificaciones dadas se realizará el diseño, verificación y simulación del circuito cuyo
objetivo consiste en controlar el encendido de una lámpara que se active solo durante la noche por medio de
la descripción conceptual mediante lenguaje verilog.

ESPECIFICACIONES
Realice en Verilog la descripción conceptual mediante lenguaje del circuito que controle el encendido de
una lámpara que se active solo durante la noche, que cumpla con las siguientes condiciones:

El circuito posee dos entradas: ’N’ y ’M’. La entrada ’N’ proviene de una foto-resistencia (resistencia
cuyo valor depende de la intensidad de la luz) y ’M’ proviene de un sensor de proximidad o movi-
miento.

Posee dos salidas: ’LB’ y ’LA’. La salida ’LB’ controla el encendido de una placa de leds que emite
poca intensidad de luz, activándola con un nivel alto. La salida ’LA’ con un nivel alto activa una placa
de led de alta intensidad para alumbrar el área circundante a la lámpara.

La entrada ’N’ es 1 cuando la luz del ambiente es baja o casi nula (noche) y 0 durante el dı́a.

La entrada ’M’ normalmente está en nivel bajo (0) y cambia a 1 sólo cuando el sensor detecta movi-
miento en el área circundante (por ejemplo una persona que se acerca).

La placa de leds de baja intensidad debe encenderse al hacerse de noche y apagarse durante el dı́a.

La placa de leds de alta intensidad sólo debe encenderse durante la noche y mientres esté activado el
sensor de movimiento.

Realice además el módulo de prueba (testbench) para el módulo que describe al circuito y simule la
operación del mismo para verificar el diseño.

DISEÑO
En el diseño es importante resaltar que se utilizó el editor ATOM de APIO que es un entorno de desa-
rrollo integrado, donde además incluye un compilador y un simulador (GTKWave) por medio del cual se
realizará la simulación y verificación del circuito, se puede apreciar en la figura 1 como luce el editor y
además el módulo correspondiente al código representativo de las especificaciones dadas anteriormente, se
puede observar que se utlizó la descripción conductual mediante lenguaje y se hace evidente que se asemejan
a elementos empleados en los numerosos lenguajes de programación los cuales permiten describir procesos
de forma mas abstracta.

El condicional mostrado a partir de la lı́nea 10 en la figura 1 indica que cuando la luz del ambiente es
baja, es decir, de noche los leds de alta intensidad identificado como ’LA’ toma los mismos valores que la
entrada ’M’ ya que al llegar la noche los leds de alta intensidad están en nivel 1 y mienras esté activado el
sensor de movimiento mientras que la entrada ’M’ sólo puede estar en nivel 1.

Por otro lado en la lı́nea 14 especifica que de no cumplirse la igualdad del condicional (if) significa que
estamos en presencia del dı́a por lo que ambas placas de leds de alta y baja intensidad sólo pueden tomar el
nivel lógico bajo (0).

2
Figura 1: Módulo enc lampara.v

SIMULACIÓN Y VERIFICACIÓN
A fin de verificar la operación del circuito descrito se puede realizar su simulación dinámica, permite
visualizar el comportamiento en el tiempo de las señales involucradas, para esta simulación se diseñó la
descripción del módulo Testbench llamado enc lampara tb mostrado en la figura 2

Se puede observar en las lı́neas 1, 3 y 4 la unidad de tiempo de 10ns con resolución de 1ns, la definición
de sus entradas y salidas correspondientes a las salidas y entradas del módulo enc lampara.v respectivamen-
te. La instanciación del módulo cuyo comportamiento será analizado (lı́nea 6), el archivo que será simulado
con extensión .vcd (lı́nea 9) y la asignación de los valores iniciales a las variables de salida.

A partir de la lı́nea 15 se utilizó un proceso always para especificar los valores que van tomando las sa-
lidas en el tiempo cuyas combinaciones permitirán corroborar la operación del circuito, que simplemente va
incrementando en 1 la data en las salidas del Testbench, de modo que pueda generar todas las combinaciones
de las salidas en código binario natural para ası́ contemplar la totalidad de las combinaciones mostradas en
la tabla de la verdad de la figura 4

3
Figura 2: Módulo enc lampara tb.v

El resultado de la simulación realizada con el simulador GTKWave, que incluye el paquete APIO se
muestra en la figura 3, en la que respecta se puede observar que la señal correspondiente a los leds de baja
intensidad ’LB’ (gráfico de color púrpura) toma el nivel lógico ’1’ cuando las entradas son 10 y 11, por
otro lado la señal correspondiente a los leds de alta intensidad ’LA’ (gráfico de color amarillo) toma el nivel
lógico ’1’ sólo cuando las entradas son 11 tal como lo indica la tabla de la verdad de la figura 4.

Observese también que la señal tb data[1:0] de color verde toma una nueva combinación de las dos
entradas cada 20 unidades de tiempo del simulador, lo que obedece a que en la lı́nea 17 de la figura 2 se
especifica un retardo de dos unidades de tiempo para sumar ’1’ al valor anterior pero en la lı́nea 1 se define
la escala de tiempo en 10ns, de modo que en total resultan 20 unidades de tiempo por cada retardo.

De este modo se comprueba mediante la simulación del circuito descrito, se comporta de acuerdo a las
especificaciones dadas al inicio, de modo que prosigue la sı́ntesis y programación del FPGA.

4
Figura 3: Resultado de la simulación del módulo enc lampara tb.v

ANEXOS

Figura 4: Tabla de la verdad, mapas de karnaugh y ecuaciones caracterı́sticas

Figura 5: Esquema del circuito del control de encendido de una lámpara

También podría gustarte