Professional Documents
Culture Documents
digitales
04-05
UPV
LDD
ATC
OBJETIVO:
En estas sesiones de laboratorio vamos a estudiar una de las herramientas software habituales
que se utilizan para el diseo de sistemas digitales. Existen varias alternativas en el mercado; en
este curso vas a utilizar un paquete comercial muy comn, MAX+plus II de la casa ALTERA,
para implementar diseos en dispositivos de lgica programable. Para estudiar este conjunto de
aplicaciones vamos a disear un pequeo sistema digital, siguiendo todos los pasos habituales:
definicin del sistema lgico, dibujndolo o mediante lenguajes tipo VHDL, compilacin,
simulacin, e implementacin en un dispositivo concreto utilizando la placa UP1.
EJEMPLO:
Se ha diseado un sistema que suma o resta nmeros naturales de dos bits y muestra el
resultado acumulado en un registro. Los datos se introducen mediante dos interruptores. El
sistema se controla mediante tres pulsadores: LD, S y R. Como ejemplo, slo se considera la
suma hasta 4 bits y no se consideran resultados negativos. Por ello, al superar el valor 15
(overflow), o si el resultado es <0 (underflow) no se pueden realizar ms operaciones hasta
pulsar LD.
LD: carga en el registro de un dato de 4 bits. No existe seal de inicializacin a cero; para introducir un 0
hay que ejecutar LD 0. Al cargar un dato los dos indicadores del sistema (overflow y underflow) se
ponen a 0.
S: suma de un nmero de dos bits al valor del registro, tal como se ha hecho en el ejemplo anterior
(SUM). Al detectar overflow (>15), se activa el indicador OVF; a continuacin slo se admite una
operacin LD.
R: resta de un nmero de dos bits al valor del registro. Al detectar underflow (<0), se activa el indicador
UNF; a continuacin slo se admite una operacin LD.
El algoritmo de control y un esquema de la unidad de proceso aparecen en la figura e la pagina siguiente.
Unidad de proceso:
0,0,N1,N0
4
Biest JK
JOVF
4
J
K
KOVF
Cout
clk
RESETL
N3-0
OVF
CL
Rest
Sumador
Biest JK
0
Dat_0
Mux
JUNF
J
K
KUNF
clk
Ld_R
clk
RESETL
Registro
4
Unidad de control:
RESET*
E0
0
1
E1
LD
E2
KOVF
KUNF
DAT_0
LD_R
S
1
Cout
(>15)
JOVF
1
JUNF
E5
LD
Cout
(< 0)
0
LD+S+R
E3
LD_R
REST
LD_R
E4
Q
CL
UNF
TRABAJO A REALIZAR
1.
En primer lugar se va a describir el diseo propuesto utilizando tanto el editor grfico como el de texto.
a) Editor grfico (Unidad de proceso):
Un diseo puede describirse grficamente utilizando los smbolos de los mdulos incluidos en alguna
de la tres bibliotecas de la herramienta Altera, o bien, los de los diseos previos realizados por un
usuario. En este caso, se va a describir la Unidad del proceso del ejemplo utilizando elementos de las
citadas bibliotecas. Para ello consultar el resumen de la gua del usuario de la herramienta y seguir las
siguientes pautas:
Usar la biblioteca de primitivas para puertas lgicas y biestables.
Usar la bibliotecas de CI estndar TTL de la serie 74 para el Sumador
Usar la biblioteca de mdulos parametrizables para el registro de almacenamiento. y el
multiplexor.
b) Editor de texto para VHDL (Unidad de control):
La Unidad de control se va a describir utilizando el lenguaje VHDL. Para ello seguir los pasos ya vistos
en las clases tericas y consultar la gua Altera para editar dicho fichero.
c) Usar de nuevo el editor grfico para generar la descripcin del sistema completo: Unidad de control +
Unidad de proceso.
2. SIMULACIN LGICA
Se van a simular desde un punto de vista lgico las unidades previamente diseadas. Para ello y tal como se
describe en la gua de usuario Altera, los pasos a seguir son:
a) Compilar el diseo:
En primer lugar se realizar una compilacin funcional simple.
b) Editar las formas de onda de las seales de entrada del sistema a simular utilizando para ello el Editor de
Formas de onda: Waveform Editor.
c) Simular el diseo descrito en el orden siguiente:
1. Unidad de control: las posibles transiciones de estados (al menos los casos ms crticos), las seales
de salida a activar.
2. Unidad de proceso: las respuestas de los diferentes mdulos incluidos
3. El sistema completo: realizar un estudio lo suficientemente representativo del funcionamiento del
sistema sin alargarlo en exceso con casos redundantes.
3.