FILTROS ANALOGICOS
Práctica 7
Proyecto de diseño completo e integración en un SoC
Objetivos
Realizar en VHDL un diseño completo desde cero, con un nivel de complejidad más
elevado que en prácticas anteriores.
Familiarizarse con la estructura de diseños electrónicos System-on-Chip (SoC) mediante un
ejemplosencillo.
NOTA IMPORTANTE: En la parte de la práctica dedicada a la integración del diseño creado en una
estructura SoC se trabaja sobre un diseño incompleto, entregándose a los alumnos ficheros VHDL listos para
su uso. Los alumnos deberán comprender todo el código. A la hora de evaluar la práctica se podrán hacer
preguntas sobre cualquier parte del diseño.
Descripción del bloque a diseñar:controlador VGA
El diseño a realizar completamente por los alumnos es un controlador gráfico VGA
(resolución 640 píxeles horizontales x 480 píxeles verticales) con 15 colores por píxel. Este
diseño se implementará en la FPGA de la placa Spartan 3 Starter Kit que se ha usado ya
para otras prácticas, que dispone de un conector VGA. La forma de ejercitar este
controlador será integrarlo en undiseño simple tipo “System-on-Chip”, es decir con un
microprocesador integrado en la FPGA, como veremos más abajo.
La siguiente figura muestra los puertos que tendrá nuestro controlador VGA:
vga_ctrl
VGA interface
Clk
VgaR
Reset
VgaG
VgaB
System
signals
VgaHSync
VgaVSync
Sel
Microprocessor
interface
WriteEn
3
Address[2:0]
8
7
WData[7:0]
32MemDataFrom[31:0]
RData[7:0]
8
MemDataTo[31:0]
32
MemDataToOe_n
MemAddr[15:0]
Memory
interface
16
MemCe_n
MemOe_n
MemWe_n
Figura 1 : Puertos del bloque controlador VGA, vga_ctrl
Escuela Politécnica Superior - UAM - Curso 2012/2013
v1.1
1/21
Laboratorio de Dispositivos Integrados Especializados / Diseño de Circuitos y Sistemas Electrónicos
Como se muestra en lafigura, el bloque tiene cuatro conjuntos de puertos diferenciados:
-
Señales “de sistema”: reloj (activo en flanco de subida) y reset asíncrono (activo a
nivel alto), que deberán usar todos los flip-flops del diseño.
-
Interfaz con el microprocesador: sirve para que el microprocesador escriba píxeles
en la pantalla, definiendo la posición de un píxel y su color (ver más abajo). Elinterfaz es de 8 bits y funciona de la siguiente manera:
o Si el bloque está seleccionado (Sel = 1) y la señal de escritura está activada
(WriteEn = 1), se escribirá el dato WData en el registro interno de dirección
Address.
o En todo momento el bloque proporcionará en RData el valor del registro
interno de dirección Address.
-
Interfaz con la memoria que juega el papel de buffer gráfico(memoria de vídeo),
donde se almacena el valor de color de cada píxel en la pantalla. Esta memoria no
estará localizada en la FPGA (es demasiado grande), sino en los chips de memoria
SRAM (Static RAM) de la placa. El funcionamiento de sus puertos se corresponde
con el de estos chips de memoria, pero en este caso el interfaz se simplifica al
presentar sólo las señales necesarias:
o MemDataTo yMemDataFrom son los datos hacia y desde la memoria, de 32
bits.
o MemAddr es la dirección de la memoria.
o MemCe_n es el “chip enable” de la memoria, activo a nivel bajo. Cuando está
a ‘0’ la memoria lee o escribe, cuando está a ‘1’ se sitúa en un estado
inactivo de bajo consumo.
o MemWe_n es el enable de escritura en la memoria, un ‘0’ le dice a la
memoria que escriba.
o MemOe_n es elenable de salida de datos de la memoria, que presenta un
interfaz de datos bidireccional. Si MemOe_n es ‘0’ la memoria excitará su
salida de datos permitiendo lecturas, mientras que si es ‘1’ esos pines
quedarán en alta impedancia, listos para funcionar como entrada en las
escrituras.
o MemDataToOe_n es una señal que no está pensada para conectarse a la
memoria, sino para uso interno a la FPGA,...
Regístrate para leer el documento completo.