Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DISEO:
Mdulo VGA
Etapa 1:
Especificaciones
Revisin
Fecha
Autor
Descripcin
1.0
1/03/2012
1.1
5/03/2012
1.2
7/03/2012
1.3
7/03/2012
1.4
15/3/2012
Laura Daza ,
laura.daza.9@hotmail.com
El autor de documento
1.4
15/3/2012
Laura Daza ,
laura.daza.9@hotmail.com
El autor del documento
1.4
15/3/2012
Se corrige el pipeline.
1.4
15/3/2012
1.4
15/3/2012
1.4
26/04/2015
1.4
26/04/2015
1.4
26/04/2015
C ONTENIDO
1
HORIZONTAL
PIXEL [0]
PIXEL [631]
A
SINCRONISMO HORIZONTAL
PARAMETROS
TIEMPO (seg)
CICLOS DE RELOJ
CONTADOR
Frecuencia de reloj
SINCRONISMO HORIZONTAL
A
B
C
2,51E-05
9,53E-07
3,77E-06
632
24
95
0 .. 631
632 .. 655
656 .. 750
D
1,91E-06
48
751 .. 799
E
3,17E05
799
0 .. 799
25,172 MHz
En la tabla 1.2. se describen los tiempos y ciclos de reloj para la seal de sincronismo horizontal, esta
tabla se sujeta a modificacin debido a que se realizaron cambios de la frecuencia del reloj de
entrada, es decir si seguimos las especificaciones dadas inicialmente tendramos que tener un reloj de
entrada de 25,7MH de frecuencia para lo cual se hara necesario implementar un divisor de
frecuencia, sin embargo se decide modificar la frecuencia del reloj de 25,7MH a 25MH para eliminar
la necesidad del divisor, ahora con este cambio tenemos que someter a cambios los parmetros del
sincronismo horizontal siguiendo los parmetros de funcionamiento descritos a continuacin.
Si sabemos que la frecuencia se define como el inverso del periodo entonces podemos fcilmente
hallar el periodo (tiempo de duracin de cada pixel) de esta manera podremos hallar el tiempo de
duracin para cada zona definida (A, B, C y D) siguiendo lo anterior tenemos que:
= (Frecuencia)
1
= (Periodo)
Ahora si sabemos que la frecuencia de nuestro reloj va a ser de 25MH tendramos que reemplazando
en la ecuacin el periodo por pixel es de 40ns.
=
1
25 106
= 40 109ns
Ahora si el periodo por pixel es de 40ns el tiempo de duracin de cada zona ser el producto entre los
pixeles recorridos y el periodo por pixel describiendo as la duracin para cada zona.
(# )
=
= (40 109 )(632)
= 2.528 105
Ahora entendiendo eso ya podemos calcular los tiempos totales para cada zona.
SINCRONISMO HORIZONTAL
A
B
C
2,528E-05
9,6E-07
3,8E-06
632
24
95
0.. 631
632.. 655
656.. 750
PARAMETROS
TIEMPO (seg)
CICLOS DE RELOJ
CONTADOR
Frecuencia de reloj
D
1,92E-06
48
751.. 799
E
3,196E-505
799
0.. 799
25MHz
SALIDA
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1
1
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
{FONDO AZUL}
{TRIANGULO}
{VERTICE}
{VERTICE}
{CURSOR}
{CURSOR}
{CURSOR}
{CURSOR}
rgb[2]
cursor
MODULO 2
DRIVER_MOUS
E
rgb[1]
vertice
DECODIFICADOR
DE PRIORIDAD
rgb[2:0]
rgb[0]
triangulo
MODULO 3
REG_TRIANGUL
O
PANTALL
A VGA
640 X 480
vga_h
reset
CONTADOR 10 BIT
X_VGA [0..799]
fin_cuenta
vga_v
sin_vertical
reset
sin_horizontal
sin_vertical
x_vga [9:0]
reset
x_vga[9:0]
sin_horizontal
y_vga[9:0]
CONTADOR 10 BIT
Y_VGA [0..524]
y_vga [9:0]
MODULO 4:VGA
3.2 D IAGRAMA
DE
BLOQUES
DE
S UB
MODULO :
D ECODIFICADOR
DE
PRIORIDAD
Ahora las siguientes modificaciones se harn al decodificador de prioridad teniendo en cuenta que dadas las
especificaciones de la VGA la entrada de datos debe ser sincrnica. Siendo as vemos que el decodificador de
prioridad propuesto es un decodificador asncrono y debe ser sncrono debido a que la entrada de reloj est definida
en el bloque del mismo en conjunto con las entradas de bits RGB.
A continuacin describiremos el diseo para la etapa de sincronizacin en donde usaremos flip-flops tipo D que se
describen a continuacin.
El "flip-flop" tipo D, sigue a la entrada, haciendo transiciones que coinciden con las de la entrada. El trmino "D",
significa dato; este "flip-flop" almacena el valor que est en la lnea de datos. Se considera como una celda bsica
de memoria.
Ahora teniendo en cuenta esto representaremos el diagrama de bloques con la modificacin que se le hizo
encerrado dentro de la lnea roja.
DECODIFICADOR DE
PRIORIDAD
DFF
PRN
D
1
rgb[2]
1
A1
A1
CLRN
triangulo
vertice
cursor
inst
DFF
D
1
PRN
rgb[1]
1
A1
A1
CLRN
inst
DFF
1
A1
1
A1
PRN
A1
CLRN
inst
vga_h
vga_v
25MH
rgb[0]
1
A1
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
cuenta_in
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Q9
LOGICA COMBINACIONAL
x_vga[9:0]
vga_h
Sin_horizontal
Fin_cuenta
reset
Fin_cuenta
1
cuenta_in
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
Q0
CONTADOR
BINARIO
(UN BIT)
Q1
CONTADOR
BINARIO
(UN BIT)
Q2
Q3
CONTADOR
BINARIO
(UN BIT)
Q4
CONTADOR
BINARIO
(UN BIT)
CONTADOR
BINARIO
(UN BIT)
Q5
CONTADOR
BINARIO
(UN BIT)
Q6
LOGICA COMBINACIONAL
y_vga[9:0]
vga_v
Sin_vertical
Q7
CONTADOR
BINARIO
(UN BIT)
Q8
CONTADOR
BINARIO
(UN BIT)
Q9
INICIO
Horizontal=0.
Vertical=0
Horizontal=horizontal +1
Horizontal=horizontal +1
FIN_CUENTA
Horizontal=800
SI
Vertical=525
0>=Horizontal<631
NO
B
Vga_v=1
SI
0>=Horizontal<478
632>Horizontal<655
SI
C
NO
Sin_horizontal=0
655>Horizontal<751
479>Horizontal<489
Vga_h=1
NO
C
751>Horizontal<799
490>Horizontal<491
Sin_vertical=0
NO
751>horizontal<799
MOUSE
VERTICE
CURSOR
TRIANGULO
DECO.
PRIORIDAD
TRIANGULO
VGA
11
21
31
12
22
32
13
23
33
14
24
34
15
25
35
16
26
36
17
27
37
18
28
38
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
x_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
y_vga[9:0]
vga_h
vga_h
vga_h
vga_h
vga_h
vga_h
vga_h
vga_h
vga_v
vga_v
vga_v
vga_v
vga_v
vga_v
vga_v
vga_v
fin_cuenta
fin_cuenta
fin_cuenta
fin_cuenta
fin_cuenta
fin_cuenta
fin_cuenta
fin_cuenta
sin_horizontal
sin_horizontal
sin_vertical
sin_vertical
sin_vertical
sin_vertical
sin_vertical
sin_vertical
sin_vertical
sin_vertical
rgb[2:0]
rgb[2:0]
rgb[2:0]
rgb[2:0]
rgb[2:0]
rgb[2:0]
rgb[2:0]
rgb[2:0]
INTERFACES MODULO
Nombre
cursor
Tipo
ENTRADA
reloj
ENTRADA
reset
ENTRADA
rgb [2:0]
SALIDA
sin_horizontal
SALIDA
sin_vertical
SALIDA
triangulo
ENTRADA
vertice
ENTRADA
x_vga [9:0]
SALIDA
y_vga [9:0]
SALIDA
4: VGA
Descripcin
SEAL DE UN BIT, GENERADA POR EL MODULO 2.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE EL CURSOR DEL MOUSE EN EL VGA.
NORMALMENTE SE ENCUENTRA EN BAJO.
SEAL DE UN BIT, GENERADO POR EL UP2. SEAL
DE RELOJ A 25 MHz. RELOJ MAESTRO DEL
SISTEMA.
SEAL DE UN BIT, ESTABLECE LA CONDICIN DE
RESET PARA TODO EL SISTEMA, REINICIA LOS
REGISTROS DE LOS MODULOS 1, 2, 3 Y 4. SEAL
ACTIVA EN ALTO
SEAL DE 3 BIT, REPRESENTA EN RGB EL COLOR
QUE SERA DIBUJADO EN EL VGA EN LAS
COORDENADAS ACTUALES . RGB[2] : ROJO;
RGB[1] : VERDE; RGB[0]: AZUL.
SEAL DE UN BIT ACTIVA EN BAJO, GENERA EL
SINCRONISMO HORIZONTAL DEL VGA CON UNA
DURACIN DE 31.9 s TOTAL, TIEMPO EN BAJO
DE 3.77 s.
SEAL DE UN BIT ACTIVA EN BAJO, GENERA EL
SINCRONISMO VERTICAL DEL VGA CON UNA
DURACIN DE 16 ms TOTAL, TIEMPO EN BAJO DE
64 s.
SEAL DE UN BIT, GENERADA POR EL MODULO 3.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE
EL
TRIANGULO
EN
EL
VGA.
NORMALMENTE SE ENCUENTRA EN BAJO
SEAL DE UN BIT, GENERADA POR EL MODULO 3.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE EL VERTICE EN EL VGA. NORMALMENTE SE
ENCUENTRA EN BAJO
SEAL DE 10 BIT, CONTIENE EL VALOR DE LA
POSICIN EN X DEL VGA, VALOR ENTRE [0 .. 799],
REPRESENTACIN BINARIA.
SEAL DE 10 BIT, CONTIENE EL VALOR DE LA
POSICIN EN Y DEL VGA, VALOR ENTRE [0 .. 525],
REPRESENTACIN BINARIA.
Nombre
cursor
Tipo
ENTRADA
triangulo
ENTRADA
vertice
ENTRADA
vga_h
ENTRADA
vga_v
ENTRADA
rgb[0]
SALIDA
rgb[1]
SALIDA
rgb[2]
SALIDA
Descripcin
SEAL DE UN BIT, GENERADA POR EL MODULO 2.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE EL CURSOR DEL MOUSE EN EL VGA.
NORMALMENTE SE ENCUENTRA EN BAJO.
SEAL DE UN BIT, GENERADA POR EL MODULO 3.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE
EL
TRIANGULO EN
EL
VGA.
NORMALMENTE SE ENCUENTRA EN BAJO
SEAL DE UN BIT, GENERADA POR EL MODULO 3.
CUANDO ESTA ACTIVA EN ALTO INDICA QUE SE
DIBUJE EL VERTICE EN EL VGA. NORMALMENTE
SE ENCUENTRA EN BAJO
SEAL DE UN BIT, ACTIVA EN ALTO CUANDO EL
CONTADOR SE ENCUENTRA EN LA REGION [0 ..
631]
SEAL DE UN BIT, ACTIVA EN ALTO CUANDO EL
CONTADOR SE ENCUENTRA EN LA REGION [0 ..
478]
SEAL DE UN BIT, REPRESENTA EN RGB EL COLOR
AZUL QUE SERA DIBUJADO EN EL VGA EN LAS
COORDENADAS ACTUALES .
SEAL DE UN BIT, REPRESENTA EN RGB EL COLOR
VERDE QUE SERA DIBUJADO EN EL VGA EN LAS
COORDENADAS ACTUALES .
SEAL DE UN BIT, REPRESENTA EN RGB EL COLOR
ROJO QUE SERA DIBUJADO EN EL VGA EN LAS
COORDENADAS ACTUALES .
5.3
Nombre
reloj
Tipo
ENTRADA
reset
ENTRADA
fin_cuenta
SALIDA
sin_horizontal
SALIDA
vga_h
SALIDA
x_vga [9:0]
SALIDA
5.4
Descripcin
SEAL DE UN BIT, GENERADO POR EL UP2.
SEAL DE RELOJ A 25 MHz. RELOJ MAESTRO
DEL SISTEMA.
SEAL DE UN BIT, ESTABLECE LA CONDICIN DE
RESET PARA TODO EL SISTEMA, REINICIA LOS
REGISTROS DE LOS MODULOS 1, 2, 3 Y 4. SEAL
ACTIVA EN ALTO
SEAL DE UN BIT ACTIVA EN ALTO, INDICA
CUANDO EL CONTADOR X_VGA A TERMINADO
DE CONTAR. SE ACTIVA CUANDO X_VGA[799].
SEAL DE UN BIT ACTIVA EN BAJO, GENERA EL
SINCRONISMO HORIZONTAL DEL VGA CON UNA
DURACIN DE 31.77 s TOTAL, TIEMPO EN BAJO
DE 3.8 s.
SEAL DE UN BIT, ACTIVA EN ALTO CUANDO EL
CONTADOR SE ENCUENTRA EN LA REGION [0 ..
631]
SEAL DE 10 BIT, CONTIENE EL VALOR DE LA
POSICIN EN X DEL VGA, VALOR ENTRE [0 ..
799], REPRESENTACIN BINARIA.
Nombre
reset
Tipo
ENTRADA
fin_cuenta
ENTRADA
sin_vertical
SALIDA
vga_v
SALIDA
10 BIT X_VGA
10 BIT Y_VGA
Descripcin
SEAL DE UN BIT, ESTABLECE LA CONDICIN DE
RESET PARA TODO EL SISTEMA, REINICIA LOS
REGISTROS DE LOS MODULOS 1, 2, 3 Y 4. SEAL
ACTIVA EN ALTO
SEAL DE UN BIT ACTIVA EN ALTO, INDICA
CUANDO EL CONTADOR X_VGA A TERMINADO
DE CONTAR. SE ACTIVA CUANDO X_VGA[799].
INDICA QUE EL CONTADOR VERTICAL DEBE
HACER N+1
SEAL DE UN BIT ACTIVA EN BAJO, GENERA EL
SINCRONISMO VERTICAL DEL VGA CON UNA
DURACIN DE 16 ms TOTAL, TIEMPO EN BAJO DE
64 s.
SEAL DE UN BIT, ACTIVA EN ALTO CUANDO EL
CONTADOR SE ENCUENTRA EN LA REGION [0 ..
478]
Nombre
y_vga [9:0]
Tipo
SALIDA
Descripcin
SEAL DE 10 BIT, CONTIENE EL VALOR DE LA
POSICIN EN Y DEL VGA, VALOR ENTRE [0 ..
524], REPRESENTACIN BINARIA.
MODULO 1:
DRIVER_MOUSE
MODULO 2:
CURSOR_VERTICE
MODULO 3:
REG_TRIANGULO
CONTADOR
10BIT X_VGA
DECODIFICADOR
DE PRIORIDAD
LOGICA
COMBINACIONAL
MODULO 4:
VGA
CONTADOR 10
BITS
LOGICA
COMBINACIONAL
CONTADOR 1 BIT
CONTADOR
10BIT Y_VGA
CONTADOR 10
BITS
CONTADOR 1 BIT
LOGICA
COMBINACIONAL
VERTICAL