Professional Documents
Culture Documents
Mediciones Digitales
Laboratorio de Sistemas Digitales - ELO212
Departamento de Electronica, Universidad Tecnica Federico Santa Mara, Av. Espana 1680
Resumen
En este laboratorio se familizaran con sistemas digitales combinacionales, una introduccion a sistemas secuenciales, su descripcion usando Verilog y el uso de un osciloscopio de senal mixta como instrumento de medicion. Como
bibliografa para este laboratorio, se recomienda consultar el tutorial del osciloscopio (elaborado para ELO-212) que
utilizaremos (publicado en el aula virtual) y la bibliografa relativa a Verilog previamente publicada en la experiencia
anterior.
Palabras clave: Mediciones digitales, osciloscopio de senal mixta, Verilog, sistemas digitales, FPGA, HDL.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
1. Objetivos
Los objetivos tecnicos para este laboratorio son los siguientes:
Aprender y familiarizarse con el uso de un osciloscopio de senal mixta.
Conocer, comprender y aplicar los conceptos de prueba estatica de un circuito.
Disenar e implementar un circuito digital usando Verilog.
El resultado de aprendizaje de este laboratorio es el siguiente:
Implementa circuitos digitales, mide y analiza sus caractersticas funcionales.
2 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
seteado). Este tiempo de espera, consiste en el perodo durante el cual el osciloscopio no puede desplegar ninguna
imagen en pantalla, debido a que: a) debe refrescar la misma; b) existe un tiempo de ajuste necesario asociado a la
espera hasta que se de vuelvan a dar las condiciones de disparo (el nivel de tension) nuevamente.
3 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
S
Figura 3: Esquematico de una ALU.
En la Fig. 3, A y B son dos operandos de entrada (generalmente de 32 bits, a menos que se diga lo contrario); F
es la entrada de control (selecciona la operacion a realizar por la ALU); D es una salida de banderas (que no se veran
en esta asignatura), mientras que S es la salida de la operacion realizada por la ALU. Hay que tener en cuenta que S
es de las mismas dimensiones de A o B. Siempre de trabaja con operandos de la misma dimension. Las operaciones
4 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
5 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
Operacion
Descripcion
000
A&B
AND
001
A|B
OR
010
AB
XOR
011
A+B
SUMA
100
AB
RESTA
a l w a y s @( )
begin
case (F)
3 d0 : S = A & B ;
3 d1 : S = A | B ;
3 d2 : S = A B ;
3 d3 : S = A + B ;
3 d4 : S = A B ;
d e f a u l t : S = A & B;
endcase
end
en d m o d u le
6 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
4. Actividades Previas
Esta seccion describe aquellas actividades que cada grupo debera realizar para responder las preguntas de la Parte
Previa a ser publicada en el Aula Virtual.
Qk+1
Qk+1
Qk
Qk
Qk
Qk
7 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
nuestro flip-flop). Ahora, conectemos las entradas J y K a un uno logico permanente (ese valor, para ambas entradas,
no debe variar). Lo que nos dice la tabla de verdad Tab. 2 es que, ante cada canto (o flanco) positivo de nuestro reloj
(CLK), se aplica la u ltima fila de nuestra tabla de verdad, es decir Qk+1 = Qk . Dicho de otra manera, si Q vale
inicialmente cero, al siguiente canto positivo del reloj, pasara a valer un uno logico. Al siguiente canto, se producira un
overflow, y pasara a valer cero nuevamente.
La gran ventaja de este tipo de flip-flops es que podemos conectarlos en cadena y as contar hasta nbits, en vez
del u nico bit que contamos en el parrafo anterior. La tabla de verdad para un contador de dos bits se muestra en Tab. 3.
ciclo de reloj
Q1
Q0
{Q1 : Q0 }
00
01
10
11
00
Q0
Q1
~Q
~Q
CLK
CLR
Uno
Lgico
8 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
4.2. ALU
Estudie el funcionamiento de una ALU en cualquiera de las referencias indicadas en el punto 3 de la presente gua.
4.2.1. Implementacion en Verilog
Implemente una ALU con las siguientes caractersticas:
Sus entradas son los operandos A y B que se muestran en la Fig. 3. Sus entradas deben ser de hasta 32 bits (el
numero de bits debe ser fijado como parametro).
La ALU es controlada por una senal de control F .
La salida de la ALU, es S (debe tener la misma cantidad de bits que cualquiera de sus entradas).
La ALU debe realizar lo siguiente:
1. A&B.
2. A|B.
3. A B.
4. A + B.
5. A B.
6. sll(A, B): Desplaza B bits de A hacia la izquierda, rellenando con ceros por la derecha.
7. srl(A, B): Desplaza B bits de A hacia la derecha, rellenando con ceros por la izquierda.
8. sra(A, B): Desplaza B bits de A hacia la derecha, pero rellenando por la izquierda con bits con valor
igual al bit mas significativo de A.
9. eq(A, B): Compara si A = B, entonces S = 1, caso contrario, S = 0.
10. gt(A, B): Compara si A > B, entonces S = 1, caso contrario, S = 0.
11. lt(A, B): Compara si A < B, entonces S = 1, caso contrario, S = 0.
Por ejemplo, para la operacion ssl, si los operandos son de ocho bits, A = 10001110 y B = 00000011, entonces
sll(A, B) = 01110000; a su vez, para las siguientes operaciones, considerando B = 00000010 entonces srl(A, B) =
00100011 y sra(A, B) = 11100011. El mismo concepto se aplica cuando el operador es de 32 bits.
Prepare un codigo de prueba (Verilog Test Fixture) fijando el parametro de bits de los operandos en 3. Procure
que el test que demuestre la correcta operacion con algunos ejemplos, incluyendo casos extremos y posibles puntos de
falla, pero no necesariamente exhaustivo, para probar el funcionamiento de la ALU.
9 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
NOTA: De ahora en mas, cada vez que se le solicite alguna descripcion en Verilog, la misma debe venir acompanada
de su correspondiente testbench, en donde sean puestas a prueba todas las funcionalidades de su hardware. De esta
manera, la implementacion de un testbench ya no sera explcita en los enunciados de los laboratorios siguientes, pero
s sera evaluada.
en d m o d u le
Verifique el funcionamiento del circuito disenado mediante la implementacion de un testbench. Cuantos vectores
de prueba se deben generar para hacer un test exhaustivo del hardware propuesto?
Genere el proyecto con parametros para CPLD (indicando la Familia: XC9500 CPLDs y el Modelo: Automatic xc9500) para poder obtener las Ecuaciones Reducidas, las que podra encontrar en el Design Summary/Reports, en la seccion Equations (en Linux debe habilitar HTML en las opciones en Edit Preferences HTML
Browser y Edit Preferences ISE General CPDL reports). En funcion de dichas ecuaciones, genere un Esquema Funcional (con las compuertas, pastillas, numeros de los pines, voltajes y conexiones correspondientes).
10 de 11
Pag.
UNIVERSIDAD TECNICA
FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 - Laboratorio de Sistemas Digitales
Primer Semestre 2016
5. En el Laboratorio
5.1. ALU
Mostrar al profesor o ayudante la implementacion y simulacion de la ALU requerida en el punto 4.2 de la Parte
Previa. Cuantas combinaciones se requieren para realizar un test exhaustivo? Que tipo(s) de test implemento? Es
exhaustivo? Por que?
Como se refleja el aumento de operaciones en la implementacion? Hubo alguna modificacion en la cantidad de
bits de entrada o de salida al aumentar las operaciones? Hay diferencias en la implementacion de las operaciones en
Verilog si los operandos son de 4, 8, 16 o 32 bits?
5.2. Mediciones
Arme en una protoboard una configuracion basica de un flip-flop JK (7473) en modo toggle, y un inversor 7404
(srvase como ayuda la Fig. 4). Use un generador de pulsos como entrada del reloj para el caso del flip-flop, antes
de conectar valide que el generador este configurado y operando como corresponde (utilice puntas BNC-Caiman para
ver la senal analoga en el osciloscopio). Cual es la amplitud de la senal que debe utilizar? Debe tener componente
continua? Por que?
Usando el osciloscopio (previa lectura del manual/tutorial del mismo), mida el tiempo de subida del generador de
senales. Aplique esa senal a la entrada del flip-flop y del inversor. Mida el retardo de propagacion (tphl y tplh, revise
el datasheet) para cada componente observando en el osciloscopio ambas mediciones en forma simultanea. Estudie un
procedimiento para realizar esta medicion. Compare con lo indicado por el fabricante, cual es la diferencia? es una
diferencia aceptable? por que?
11 de 11
Pag.