Solución Quiz 2 Miércoles Laboratorio de Sistemas Digitales 01

Anuncio
Solución Quiz 2 Miércoles Laboratorio de Sistemas Digitales
01/2003
Considere el siguiente esquema:
CLK
Q0
Q1
Q2
Q3
se c
c trl
1 [us]
a) Utilizando la tarjeta de desarrollo genere dichas formas de onda, a partir de una
señal de reloj externo (es decir el pin 9).
El siguiente es el código ABEL, con los vectores de prueba incluídos, que genera las
formas de onda del esquema, con la señal clk como entrada:
module quiz2a;
reloj pin 9;
reset pin 80;
q3..q0 pin 77,76,25,12 istype 'reg';
sec pin 24 istype 'com';
ctrl pin 41 istype 'com';
cuenta=[q3..q0];
C=.C.;
X=.X.;
equations
cuenta.clk=!reloj;
cuenta.ar=reset;
when (cuenta==9) then cuenta:=0;
else cuenta:=cuenta+1;
when ((cuenta==3) # (cuenta==6) # (cuenta==9)) then sec=1; else sec=0;
when (cuenta==5) then ctrl=1; else ctrl=0;
test_vectors ([reloj, reset ] -> [cuenta, sec, ctrl])
[ 0 , 0 ] -> [ X , X, X ];
[ C , 1 ] -> [ 0 , 0, 0 ];
[ C , 0 ] -> [ 1 , 0, 0 ];
[ C , 0 ] -> [ 2 , 0, 0 ];
[ C , 0 ] -> [ 3 , 1, 0 ];
[ C , 0 ] -> [ 4 , 0, 0 ];
[ C , 0 ] -> [ 5 , 0, 1 ];
[ C , 0 ] -> [ 6 , 1, 0 ];
[ C , 0 ] -> [ 7 , 0, 0 ];
[ C , 0 ] -> [ 8 , 0, 0 ];
[ C , 0 ] -> [ 9 , 1, 0 ];
end;
Código 1. Descripción en ABEL del diseño que cumple con el esquema dado.
Como se implementaron los vectores de prueba, se pueden obtener las siguientes
formas de onda:
Figura 1. Formas de onda obtenidas del diseño implementado por el código 1.
Se puede apreciar entonces que el diseño cumple con las especificaciones dadas por
el esquema.
b) Muestre, empleando el osciloscopio mixto las señales anteriores. Explique
claramente la forma de disparo utilizada.
Para realizar la implementación en la tarjeta de desarrollo se utiliza el ambiente Xilinx
Webpack 4.1 (que próximamente tendrá la posibilidad de realizar las simulaciones
temporales con los vectores de prueba, de manera de utilizar sólo un ambiente de trabajo).
El reloj de la tarjeta debe tener un período de 500 [ns], que corresponde a una frecuencia
de 2 [MHz], por lo que el divisor del reloj de la tarjeta debe ser 50. La siguiente es la
imagen capturada del osciloscopio mixto que muestra la implementación hecha:
Figura 2. Imagen capturada del osciloscopio mixto.
Esta imagen fue capturada con los siguientes seteos en el osciloscopio:
Digital Threshold
D0-D7: TTL (1.4V)
Trigger Mode Coupling Noise Rej Holdoff
Pattern Normal DC
Off 419.97us
Trigger
Pattern
1 XX 2 D15 XXXX XXXX XXXL LLLX D0
Time Time Ref Main S/div Delay
Main Center 1.00us/ 4.76us
Acquisition Realtime Vectors Infinite Persistence
Normal
Off
On
Off
Se puede apreciar la sincronización por patrón con los canales D1 al D4 en la cuenta
inicial.
c) Utilice la señal ctrl para habiliar y deshabilitar la función de un registro de
desplazamiento. Es decir, cuando ctrl esté en 1 el registro se cargará con el valor
constante 0x68, y su salida serial debe estar en 1; y cuando ctrl esté en 0 el registro
se encuentra desplazándose, de manera que su salida serial es el contenido del
mismo. Alimente el reloj de dicho registro con la señal clk. Sincronice de manera
de obtener en el osciloscopio las anteriores formas de onda más el contenido del
registro en forma serial.
El código ABEL anterior puede ser modificado de manera de colocar un registro
que realice la tarea de desplazarse sobre si mismo, en forma cíclica, para enviar su
contenido en forma serial. Esta modificación es:
module quiz2a;
reloj pin 9;
reset pin 80;
q3..q0 pin 77,76,25,12 istype 'reg';
sec pin 24 istype 'com';
ctrl pin 41 istype 'com';
registro7..registro0 node istype 'reg';
serial pin 40 istype 'com';
registro=[registro7..registro0];
cuenta=[q3..q0];
C=.C.;
X=.X.;
equations
cuenta.clk=!reloj;
cuenta.ar=reset;
registro.clk=!reloj;
when (cuenta==9) then cuenta:=0;
else cuenta:=cuenta+1;
when ((cuenta==3) # (cuenta==6) # (cuenta==9)) then sec=1; else sec=0;
when (cuenta==5) then ctrl=1; else ctrl=0;
when (ctrl==1) then
{
registro:=^h68;
serial=1;}
else{
registro:=[registro0,registro7..registro1];
serial=registro1;}
test_vectors “sin variación....
end;
Código 2. Descripción en ABEL del diseño, más la salida en forma serial, que cumple
con el esquema dado.
Nótese que no se hace incapié en los vectores de prueba. Al implementar el
diseño en la tarjeta de desarrollo se obtiene las siguientes formas de onda:
Figura 3. Imagen capturada del osciloscopio mixto, considerando la salida serial.
Esta imagen fue capturada con los siguientes seteos en el osciloscopio:
Digital Threshold
D0-D7: TTL (1.4V)
Trigger Mode Coupling Noise Rej Holdoff
Pattern Normal DC
Off 419.97us
Trigger
Pattern
1 XX 2 D15 XXXX XXXX XXXL LLLX D0
Time Time Ref Main S/div Delay
Main Center 1.00us/ 4.62us
Acquisition Realtime Vectors Infinite Persistence
Normal
Off
On
Off
Se puede apreciar en la figura anterior que la palabra hexadecimal 0x68 sale en
forma serial en el canal D7, siguiendo el orden : 01100H001, donde H corresponde a la
salida serial en alto cuando la señal ctrl está en alto (D6). Una secuencia completa aparece
marcada entre los cursores.
Descargar