Download lab 01 - Departamento de Electrónica

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 Laboratorio de Sistemas Digitales
Primer Semestre de 2007
Quiz 1
Diseño en Verilog
Se requiere de un circuito decodificador de las cuentas BCD/7 segmentos ánodo común,
(sin considerar el punto), que sólo despliegue los dígitos 3, 5 y 7. Para el resto de los casos,
la salida sólo despliega el segmento g.
1.1
Diseñe un módulo que implemente el decodificador, considerando el segmento a
como el bit más significativo.
1.2
Usando diseño jerárquico, implemente el decodificador para entradas de 3 cifras
BCD (referencia: entrada 12 bits, salida 21 bits).
1.3
Implemente un módulo de prueba para el circuito de la pregunta 1.2.
Circuitos
Se requiere implementar un circuito contador de 2 cifras decimales (de 00 a 99). Se
dispone de contadores (74393), compuertas lógicas AND de 2 entradas (7408) y negadores
(7404), decodificadores BCD/7 segmentos de ánodo común (7447), y displays de 7
segmentos de cátodo común. Además, se dispone de resistencias de 220 ohms, Vcc, tierra
(Gnd), y una fuente de reloj (Clk).
1.4
Diseñe a nivel de diagrama de bloques y sólo para un display, la conexión BCD/7
segmentos – display (no es necesario indicar número de pin en cada componente).
1.5
Diseñe la etapa de cuenta para 2 dígitos BCD. La salida de este circuito será la
entrada para 2 circuitos (idénticos) diseñados en el punto anterior.
1.6
Diseñe, para un dígito decimal, el circuito de reset del contador.
1.7
Indique una fuente de sincronización para desplegar las entradas a los displays de 7
segmentos.
Quiz 2
2.1
Diseñe el módulo clkdiv que permita generar la señal de reloj clko cuyo periodo
es 315 veces el periodo de la señal de reloj de entrada clki.
module clkdiv(clki, clko);
input clki;
output clko;
// ...
endmodule
2.2
(33 p.) Complete el siguiente módulo ring para manejar un corrimiento circular de
un bit hacia la derecha. En todo momento el registro s contiene sólo un uno.
14/03/2008
UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
DEPARTAMENTO DE ELECTRONICA
ELO212 Laboratorio de Sistemas Digitales
Primer Semestre de 2007
module ring(clk, s);
input clk;
output reg [3:0] s;
// ...
endmodule
2.3
(33. p) Dado el módulo del teclado:
module kbd(rst, clk, kd, kc, kbs, value)
Diseñe un módulo countkey que entregue como salida la cantidad de teclas
presionadas desde el último reset.
module countkey(clk, rst, kd, kc, s);
input clk, rst, kd, kc;
output reg [10:0] s;
// ...
Endmodule
Quiz 3
Reconocedor continuo de la secuencia 0110.
3.1
Proponga un diagrama de estado para esta máquina.
3.2
Diseñe el módulo en sec en Verilog para reconocer la secuencia.
module sec(rst, clk, e, s);
input rst, clk, e;
// señal de reset, reloj y entrada
output s;
// salida
// ...
endmodule
Tablero de Ajedrez. Se dispone de los contadores horizontales y verticales hc y vc
respectivamente, así como de una señal de reloj clkdiv y de los parámetros hsc, vsc, hbp,
vbp, hfp, vfp, y la señal de blanking horizontal vidon de acuerdo a las especificaciones
dadas en la experiencia 8.
3.3
(30 p.) Diseñe en Verilog una máquina secuencial que permita generar un contador
(reg [5:0] c) de 0 a 63, donde los 3 bits menos significativos del contador describen
la columna y los 3 bits más significativos describen la fila de un tablero de ajedrez,
para una pantalla de 800 x 600.
3.4
(20 p.) Dado el contador “c” diseñado en 3.3, diseñe en Verilog un circuito
combinacional para definir rgb que genere un tablero de 8 x 8 casillas.
14/03/2008