ejaltera

3
 LDD 04-05  ATC      U      P      V  Introducción a la simulación de sistemas digitales Ejemplo: SUMA/RESTA ACUMULADA OBJETIVO: En estas sesiones de laboratorio vamos a estudiar una de las herramientas software habituales que se utilizan para el diseño de sistemas digitales. Existen varias alternativas en el mercado; en este curso vas a utilizar un paquete comercial muy común, MAX+plus II de la casa ALTERA, para implementar diseños en dispositivos de lógica programable. Para estudiar este conjunto de aplicaciones vamos a diseñar un pequeño sistema digital, siguiendo todos los pasos habituales: definición del sistema lógico, dibujándolo o mediante lenguajes tipo VHDL, compilación, simulación, e implementación en un dispositivo concreto utilizando la placa UP1. EJEMPLO: Se ha diseñado un sistema que suma o resta números 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, sólo 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 más operaciones hasta pulsar LD. LD: carga en el registro de un dato de 4 bits. No existe señal de inicialización 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 número 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 continuación sólo se admite una operación LD. R : resta de un número de dos bits al valor del registro. Al detectar underflow (<0), se activa el indicador UNF; a continuación sólo se admite una operación LD. El algoritmo de control y un esquema de l a unidad de proceso aparecen en la figura e la pagina siguiente.

Upload: simon-choquechambi-martinez

Post on 10-Jan-2016

220 views

Category:

Documents


0 download

DESCRIPTION

FPGA

TRANSCRIPT

7/18/2019 ejAltera

http://slidepdf.com/reader/full/ejaltera 1/3

 

LDD 

04-05 

 ATC 

     U     P     V

 

Introducción a la simulación de sistemasdigitales

Ejemplo: SUMA/RESTA ACUMULADA

OBJETIVO:En estas sesiones de laboratorio vamos a estudiar una de las herramientas software habitualesque se utilizan para el diseño de sistemas digitales. Existen varias alternativas en el mercado; eneste curso vas a utilizar un paquete comercial muy común, MAX+plus II de la casa ALTERA,para implementar diseños en dispositivos de lógica programable. Para estudiar este conjunto deaplicaciones vamos a diseñar un pequeño sistema digital, siguiendo todos los pasos habituales:definición del sistema lógico, dibujándolo o mediante lenguajes tipo VHDL, compilación,simulación, e implementación en un dispositivo concreto utilizando la placa UP1.

EJEMPLO:Se ha diseñado un sistema que suma o resta números naturales de dos bits y muestra elresultado acumulado en un registro. Los datos se introducen mediante dos interruptores. Elsistema se controla mediante tres pulsadores: LD, S y R. Como ejemplo, sólo se considera lasuma 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 más operaciones hastapulsar LD.

LD: carga en el registro de un dato de 4 bits. No existe señal de inicialización a cero; para introducir un 0hay que ejecutar LD 0. Al cargar un dato los dos indicadores del sistema (overflow y underflow) seponen a 0.

S: suma  de un número 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 continuación sólo se admite unaoperación LD.

R : resta de un número de dos bits al valor del registro. Al detectar underflow (<0), se activa el indicadorUNF; a continuación sólo se admite una operación LD.

El algoritmo de control y un esquema de la unidad de proceso aparecen en la figura e la pagina siguiente.

7/18/2019 ejAltera

http://slidepdf.com/reader/full/ejaltera 2/3

 

Unidad de proceso:

Registro

Sumador

MuxDat_0

Ld_R

Rest

N3-0 

0,0,N1,N0 

clk

4 4

4

44

4

4

Biest JK

J

Kclk

Q

CL

JOVF

KOVF

OVF

Biest JK

J

Kclk

Q

CL

JUNF

KUNF

UNF

Cout 

0 1

RESETL 

RESETL 

Unidad de control: 

LD S

LD+S+R  

E0

E4 

RESET*

0 1 

JOVF 

Cout(>15) 

0 1 

0  1 

R0 

JUNF 

E1 

LD

E5 

E3 E2 KOVF

KUNF

DAT_0

LD_R  

LD_R  LD_R

REST 

Cout(< 0) 

7/18/2019 ejAltera

http://slidepdf.com/reader/full/ejaltera 3/3

TRABAJO A REALIZAR  

1. DESCRIPCIÓN DEL DISEÑOEn primer lugar se va a describir el diseño propuesto utilizando tanto el editor gráfico como el de texto.

a) Editor gráfico (Unidad de proceso):Un diseño puede describirse gráficamente utilizando los símbolos de los módulos incluidos en algunade la tres bibliotecas de la herramienta Altera, o bien, los de los diseños previos realizados por un

usuario. En este caso, se va a describir la Unidad del proceso del ejemplo utilizando elementos de lascitadas bibliotecas. Para ello consultar el resumen de la guía del usuario de la herramienta y seguir lassiguientes pautas:

• Usar la biblioteca de primitivas para puertas lógicas y biestables.

• Usar la bibliotecas de CI estándar TTL de la serie 74 para el Sumador

• Usar la biblioteca de módulos parametrizables para el registro de almacenamiento. y elmultiplexor.

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 vistosen las clases teóricas y consultar la guía Altera para editar dicho fichero.

c) Usar de nuevo el editor gráfico para generar la descripción del sistema completo: Unidad de control +Unidad de proceso.

2. SIMULACIÓN LÓGICA  Se van a simular desde un punto de vista lógico las unidades previamente diseñadas. Para ello y tal como sedescribe en la guía de usuario Altera, los pasos a seguir son:

a) Compilar el diseño:En primer lugar se realizará una compilación funcional simple.

b)  Editar las formas de onda  de las señales de entrada del sistema a simular utilizando para ello el Editor deFormas de onda: Waveform Editor.

c) Simular el diseño descrito en el orden siguiente:1. Unidad de control: las posibles transiciones de estados (al menos los casos más críticos), las señales

de salida a activar.

2. Unidad de proceso: las respuestas de los diferentes módulos incluidos3. El sistema completo: realizar un estudio lo suficientemente representativo del funcionamiento delsistema sin alargarlo en exceso con casos redundantes.

3. COMPILACIÓN Y PROGRAMACIÓN EN UNA CPLD.Se va a implementar el diseño en una de los dispositivos disponibles en la placa UP1, en concreto el de lafamilia FLEX10K20, utilizando para ello el “ByteBlaster” que permite su programación directa desde elPC.Para poder visualizar de manera adecuada las salidas y aplicar las entradas se actuará de la siguiente manera:

• Para el dato de entrada se utilizarán los microinterruptores

•  Asignaremos el pulsador PB1 a La señal S, y el pulsador PB2 a R.

•  Asignaremos microinterruptores a Reset, y a la señal LD.

•  Visualizaremos el estado del sistema en uno de los dígitos y el resultado en el otroNOTA: Para ello será necesario incluir en el diseño dos decodificadores Hex-7seg.

.a) Tareas previas .

Seleccionar el dispositivo concreto en el que se va a implementar el diseño, volver a compilarlo (esta vezcon el dispositivo seleccionado). Añadir al diseño los módulos necesarios de acuerdo con las pautas delpárrafo anterior, y realizar la asignación de pines de entrada/salida. Para ello consultar la guía delusuario y la información resumida de la placa UP1.

b) Programar la CPLD  Seleccionar en el menú “Programer”, verificar las conexiones de la placa UP1 al PC yl programarlo.

c) Comprobar  el funcionamiento del sistema real.