Está en la página 1de 14

GRADO ING.

TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

PRACTICA Nº2: DISEÑO Y VERIFICACION DE


CIRCUITOS ARITMETICOS

El objetivo de esta práctica es ilustrar las técnicas actuales de diseño y simulación de


sistemas digitales, haciendo uso de una herramienta para la síntesis de sistemas
digitales sobre FPGAs y una placa de evaluación.

Sesión 2.1: diseño y simulación de un decodificador binario para su uso con un


display de 7 segmentos y de un multiplexor de 2 a 1 (NO PRESENCIAL).
Sesión 2.2: diseño y simulación de circuitos aritméticos.
Sesión 2.3: implementación con FPGAs sobre una placa de evaluación de
circuitos aritméticos.

SESIÓN 2.1: Diseño y simulación de decodificador binario para


su uso con un display de 7 segmentos y de un multiplexor de 2
a 1 (NO PRESENCIAL)

Instrumental de laboratorio:
• Software de diseño de sistemas digitales Quartus II 13.0 sp1 Web Edition.

2.1.1. Decodificador para display de 7 segmentos

OBJETIVO
Creación de un módulo decodificador de binario para su uso con displays de 7
segmentos que pueda emplearse como bloque constitutivo en diseños posteriores.

PROCEDIMIENTO
En esta sesión no presencial se diseñará en primer lugar un módulo decodificador de
binario para su uso con displays de 7 segmentos que se empleará en sesiones
posteriores para la implementación de otros sistemas más complejos. En concreto, las
especificaciones del sistema son las siguientes:

2.1
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

• el decodificador ha de seguir la
nomenclatura para los displays de 7
segmentos de la placa DE1 que se
muestra en la Figura 2.1;
• el circuito habrá de mostrar en el display
el número hexadecimal correspondiente
a la entrada en binario;
• en el diseño se supondrá que cada Figura 2.1: display de 7 segmentos.
segmento se ilumina cuando se le asigna
un 0 lógico, permaneciendo apagado mientras se le asigne un 1 lógico.

El procedimiento a seguir es el siguiente:

• diseñar el circuito empleando un esquemático y crear un proyecto con dicho


fichero;
• crear un fichero de forma de onda en el que se visualicen las entradas y
salidas del decodificador, configurando las entradas convenientemente para
comprobar todas las posibilidades de la tabla verdad;
• simular el diseño y comprobar el correcto funcionamiento del mismo;
• crear un símbolo para el decodificador de binario a 7 segmentos y guardar los
ficheros para su uso en sesiones posteriores.

CUESTIONES
1. Examinando los resultados de la simulación, estime el retardo que existe en
el circuito diseñado entre un cambio en las entradas y el cambio
correspondiente en las salidas.

2.1.2. Multiplexor de 2 a 1

OBJETIVO
Creación de un multiplexor de 2 a 1 para su uso en diseños posteriores.

2.2
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

PROCEDIMIENTO
El siguiente bloque que es preciso definir es un multiplexor de 2 a 1, que se usará
posteriormente para la generación de un multiplexor de 2 a 1 para palabras de 4 bits.
El bloque a diseñar ha de contar con:

• dos entradas de 1 bit, que representan las entradas de datos;


• una entrada de 1 bit, que representa la entrada de control y que indicará qué
entrada de datos ha de copiarse en la salida de datos;
• una salida de 1 bit, en la que ha de aparecer el valor de una de las entradas
de datos en función del valor de la entrada de control.

El procedimiento a seguir consiste en:

• diseñar el circuito empleando un esquemático y crear un proyecto con dicho


fichero;
• crear un fichero de forma de onda en el que se visualicen las entradas y
salida del multiplexor, configurando las entradas convenientemente para
comprobar todas las posibles situaciones de funcionamiento del circuito;
• simular el diseño y comprobar el correcto funcionamiento del mismo;

• crear un símbolo para el multiplexor de 2 a 1 y guardar los ficheros para su


uso en sesiones posteriores.

CUESTIONES
1. Esboce, empleando como bloque básico el multiplexor de 2 a 1 desarrollado,
la estructura de un multiplexor de 2 a 1 para palabras de 4 bits; este circuito
cuenta con dos entradas de 4 bits, las entradas de datos, una entrada de
control de 1 bit, y una salida de 4 bits, de modo que en esta última ha de
aparecer el valor de una de las entradas de datos, de 4 bits, en función del
valor de la entrada de control.

2.3
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

SESIÓN 2.2: Diseño y simulación de circuitos aritméticos

Instrumental de laboratorio:
• Software de diseño de sistemas digitales Quartus II 13.0 sp1 Web Edition

OBJETIVO
En esta sesión se construirán, de manera jerárquica, diferentes circuitos aritméticos.
Para ello, los módulos que se vayan diseñando irán formando los bloques constitutivos
de los siguientes, haciendo uso también de algunos módulos diseñados en las
sesiones anteriores. Todos los circuitos serán verificados mediante su simulación. A la
hora de generar los nuevos bloques se tienen dos opciones:

• Añadir los esquemáticos nuevos al proyecto inicial del sumador de 1 bit,


cambiando el nivel de jerarquía de los ficheros del proyecto para ir ampliando
el proyecto, tal y como se describió en la sesión 1.1.
• Crear proyectos nuevos para cada uno de los nuevos bloques a realizar
incluyendo en los mismos los ficheros correspondientes a los circuitos creados
con anterioridad que sean necesarios para el mismo, tal y como se describió en
la sesión 1.1.

El objetivo final es realizar un sumador BCD de dos dígitos, que se trasladará a la


placa de evaluación Altera DE1 en la siguiente sesión. Para ello se seguirán los
siguientes pasos para realizar el diseño jerárquico.

2.2.1. Sumador de 4 bits

OBJETIVO
Diseñar, a partir del sumador completo de 1 bit diseñado en el tutorial, un sumador de
4 bits para su uso en un sumador BCD de 1 dígito.

PROCEDIMIENTO
A partir del sumador completo de un bit ya definido, se creará un sumador de 4 bits, tal
y como muestra la Figura 2.2. Para ello, el procedimiento a seguir es:

2.4
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

Figura 2.2: sumador de 4 bits.

• crear un nuevo esquemático dentro del proyecto del sumador de 1 bit o en


uno nuevo al que habrá que añadir los ficheros correspondientes a los
esquemáticos y a los símbolos que se utilizarán como bloques básicos;
• diseñar el sumador de 4 bits a partir del símbolo anteriormente creado, que
debe aparecer en la librería Project del proyecto actual del cuadro de diálogo
Symbol, tal y como mostraba la Figura 1.8;
• crear un fichero de forma de onda en el que se visualicen las entradas y
salidas del sumador de 4 bits. Introducir diferentes combinaciones de
entradas y comprobar en la simulación la validez de los resultados;
• crear un símbolo para el sumador de 4 bits, que será utilizado con
posterioridad.

2.2.2. Sumador BCD de un dígito

OBJETIVO
Creación de un sumador BCD de un dígito a partir de los módulos diseñados.

PROCEDIMIENTO
A partir del multiplexor de 2 a 1 definido en la sesión 2.1, con el que se construirá un
multiplexor de 2 a 1 para palabras de 4 bits, y el sumador de 4 bits definido

2.5
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

anteriormente, ha de diseñarse un sumador BCD de un dígito, es decir, un sistema


que satisfaga las especificaciones siguientes:

• dos entradas de 4 bits, que representan los dos números BCD a sumar;
• una entrada de 1 bit, que representa el acarreo de entrada a la suma;
• una salida de 4 bits que corresponda al número BCD resultante de sumar las
dos entradas BCD de 4 bits;
• una salida de 1 bit que corresponda al acarreo decimal generado en la suma.

Para diseñar el circuito se seguirá una estructura puramente combinacional que ha de


incluir los siguientes módulos:

• dos sumadores de 4 bits que realicen, el primero de ellos, la suma binaria de


las entradas BCD de 4 bits y, el segundo de ellos, la posible corrección de
esa primera suma para poder generar el resultado BCD correcto;
• un multiplexor de 2 a 1 para palabras de 4 bits que realice la selección del
resultado correcto entre las salidas de los dos sumadores de 4 bits previos;
• la lógica combinacional necesaria para sintetizar la entrada de control del
multiplexor de 2 a 1 para palabras de 4 bits.

Tras el diseño, debe simularse el bloque para comprobar que realiza las operaciones
de forma correcta. Finalmente se creará un símbolo del circuito para que pueda ser
utilizado en el apartado siguiente.

2.2.3. Sumador BCD de dos dígitos

OBJETIVO
Creación de un sumador BCD de dos dígitos.

PROCEDIMIENTO
Empleando únicamente, con las conexiones adecuadas, dos instancias del sumador
BCD de 1 dígito diseñado anteriormente, ha de construirse un sumador BCD de dos
dígitos que cuente con las siguientes entradas y salidas:

2.6
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

• cuatro entradas de 4 bits, que representan los dos números BCD de 2 dígitos
a sumar;
• dos salidas de 4 bits que corresponden a los dos dígitos BCD del resultado de
la suma;
• una salida de 1 bit que corresponde al posible acarreo decimal generado en la
suma.

Tras el diseño, debe simularse el bloque para comprobar que realiza las operaciones
de forma correcta. Finalmente se creará un símbolo del circuito para que pueda ser
utilizado en la sesión posterior.

2.7
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

SESIÓN 2.3: Implementación y evaluación de circuitos


aritméticos

Instrumental de laboratorio:
• Software de diseño de sistemas digitales Quartus II 13.0 sp1 Web Edition.
• Placa de evaluación Altera DE1 Development and Education Board y
accesorios.

OBJETIVO
En esta sesión se trasladará el sumador BCD de 2 dígitos desarrollado en la sesión
anterior a la placa de evaluación Altera DE1 Development and Education Board para
su implementación sobre FPGAs.

2.3.1. Altera DE1 Development and Education Board

La placa de evaluación Altera DE1 Development and Education Board, que se muestra
en la figura 2.3, es una placa para el prototipado de sistemas digitales que incluye una
FPGA de la familia Cyclone II fabricada por Altera. El sistema permite configurar el
chip a través del puerto USB de un PC desde Quatus II 13.0.

El chip disponible en la placa DE1, tal y como corresponde a las FPGAs, es


completamente programable, pudiendo alterarse el circuito digital que contienen sin
más que rescribir en ellos la configuración adecuada; además, al cesar la alimentación
de la placa, la configuración se pierde al estar basado en tecnología SRAM. El chip
cuenta con gran número de pines de E/S, que en su mayoría están disponibles para su
conexionado externo a través de los conectores de expansión. Los pines no
disponibles se hayan conectados a los recursos disponibles en la placa, que incluyen
displays de 7 segmentos, pulsadores, conmutadores para fijar valores lógicos, dos
señales de reloj de 50 MHz y 27 MHz o LEDs para comprobar diferentes valores
lógicos. Para el desarrollo de estas prácticas se hará uso del chip de la familia Cyclone
II 2C20, y al que se hayan conectados:

2.8
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

Figura 2.3: Altera DE1 Development and Education Board.

Tabla 2.1: asignación de pines para conmutadores (toogle switches).

2.9
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

• 10 conmutadores (Toogle Switch en la figura 2.3, su asignación de pines es la


de la tabla 2.1);

• 4 displays de 7 segmentos (7-SEG Display Module en la figura 2.3, la


asignación de pines es la de la tabla 2.2).

Tabla 2.2: asignación de pines para los displays de 7 segmentos.

2.10
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

Tabla 2.3: asignación de pines para pulsadores (Push-button Switches).

• 4 pulsadores (Push-button Switches en la figura 2.3, la asignación de pines es


la de la tabla 2.3);

De esta manera, para poder implementar sobre este chip un determinado diseño sólo
habrá que seguir las instrucciones de configuración del proyecto que se darán a

Figura 2.4: selección de dispositivo.

2.11
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

Figura 2.5: asignación de pines.

continuación, eligiendo el dispositivo adecuado y asignado las diferentes entradas y


salidas a los pines deseados.

2.3.2. Configuración de un proyecto

Como ya se comentó en la descripción de Quartus II realizada en la documentación de


las sesiones anteriores, el menú “Assignments” permite la configuración avanzada de

2.12
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

los aspectos hardware de un determinado proyecto. Para el desarrollo de estas


prácticas sólo es necesario configurar correctamente el dispositivo objetivo del diseño,
y realizar la asignación de las entradas y salidas del diseño a los pines del dispositivo
deseados.

En lo que se refiere a la elección del dispositivo, el comando “Assignments → Device”


abre el cuadro de diálogo para la selección de dispositivo que se muestra en la figura
2.4, donde se podrá elegir la familia y el dispositivo concreto para el que se va a
sintetizar el diseño.

Para la asignación de pines a entradas y salidas del diseño habrá de usarse el


comando “Assignments → Pin Planner”, que abre el cuadro de diálogo que se ilustra
en la figura 2.5. En dicho cuadro de diálogo se puede asignar cada nodo de entrada o
salida a un pin concreto del dispositivo objetivo del diseño.

2.3.3. Procedimiento

En virtud de lo expuesto anteriormente, a continuación se trasladará el sumador BCD


de 2 dígitos diseñado en la sesión anterior a la placa Altera DE1 Development and
Education Board. Para ello se volverá a compilar el proyecto atendiendo a las
siguientes restricciones:

• el circuito se implementará en el dispositivo Cyclone II de la placa DE1,


EPC2C20F484C7, para lo que habrá que configurar el proyecto como se ha
indicado anteriormente, si no se hubiera hecho ya;

• los dos números de 4 bits que sirven de entrada al sumador BCD de 1 dígito
de las unidades decimales se conectarán a 8 de los conmutadores Toogle
Switch, con lo que dichas entradas del diseño habrán de ser asignadas según
la asignación de la tabla 2.1;

• los 2 conmutadores Toogle Switch restantes se utilizarán para controlar el bit


menos significativo de los dos números de 4 bits que sirven de entrada al
sumador BCD de 1 dígito de las decenas decimales; de este modo, ambos
bits habrán de asignarse según lo mostrado en la tabla 2.1, mientras que el

2.13
GRADO ING. TECNOLOGÍAS DE TELECOMUNICACIÓN ELECTRONICA DIGITAL

resto de bits de las decenas decimales habrán de conectarse a 0 (de este


modo, el sumador BCD de 2 dígitos sumará números decimales
comprendidos entre 0 y 19);

• el resultado de la suma se visualizará utilizando dos displays de 7 segmentos


del 7SEG Display Module, con lo que habrá de usarse el decodificador de
binario a 7 segmentos diseñado en la sesión 2.1, asignando las salidas de
dicho decodificador según la asignación de pines de la tabla 2.2; de este
modo, los displays mostrarán las dos dígitos decimales que corresponden a la
salida del sumador BCD de 2 dígitos.

Una vez que al sumador BCD de 2 dígitos le hayan sido añadidos los decodificadores
de binario a 7 segmentos a la salida, y las entradas y salidas hayan sido asignadas a
los pines adecuados según lo anteriormente expuesto, se volverá a compilar el
proyecto y con el fichero .sof generado se procederá a programar el dispositivo
Cyclone II de la placa DE1 para la comprobación del circuito.

2.3.4. Ampliación voluntaria

Dado que la placa DE1 cuenta con 4 displays de 7 segmentos, es posible visualizar el
resultado de una suma decimal de hasta 4 dígitos. En consecuencia, construya u
sumador BCD de 4 dígitos, al que se añadirán cuatro decodificadores de binario a 7
segmentos para visualizar su resultado en cuatro displays de 7 segmentos, y utilice
uno de los LEDs de la placa DE1 para mostrar el posible acarreo decimal de salida del
sumador. Dado que sólo se dispone de 10 conmutadores Toogle Switch, siga
empleando 8 de ellos para fijar 2 dígitos BCD de 4 bits, y utilice cada uno de esos
dígitos como una de las entradas en cada sumador BCD de 1 dígito individual (de este
modo, el circuito podrá realizar las operaciones tales como 0000+0000, 1111+1111,
1111+2222, 2222+2222, 3333+7777, etc.).

2.14

También podría gustarte