You are on page 1of 10

IF - EHU

Prcticas de laboratorio en la universidad, 2009

2
10 ms 10... 100! Anlisis de sistemas digitales bsicos

INTRODUCCIN
Uno de los componentes principales de un procesador es la unidad aritmtico/lgica; en ella se ejecutan, entre otras, las operaciones aritmticas y lgicas bsicas. En esta prctica vamos a analizar las ms sencillas: las operaciones lgicas NOT, AND y OR, y la operacin aritmtica ms simple, la suma de nmeros naturales. amos a construir dichas operaciones en un circuito programable, tras lo cual comprobaremos su funcionamiento. Utilizaremos para ello una tarjeta para prototipos de sistemas digitales, la misma que utilizan las alumnas y alumnos de la facultad, y un software estndar de diseo de amplio uso en la industria.

DESCRIPCIN
El procesador de un computador es un sistema que procesa informacin digital. Para representar la informacin o los datos se utilizan cdigos binarios, en los que cada "dgito" o "bit" slo puede tomar uno de dos valores: 0 o 1. Esos valores se conocen con el nombre de valores lgicos; a menudo, tambin se conocen como verdadero (1) y falso (0).

Prcticas de laboratorio en la universidad, 2009

IF- EHU

Los computadores estn compuestos por circuitos digitales, que procesan cdigos en binario. Algunos circuitos realizan operaciones muy simples, y otros, en cambio, operaciones muy complejas. En esta prctica en el laboratorio vamos a analizar algunos de los circuitos digitales ms sencillos: 1. 2. primeramente, los circuitos que realizan las tres operaciones lgicas bsicas: NOT (negacin lgica), OR (suma lgica) y AND (producto lgico). y, a continuacin, un circuito que efecta la operacin aritmtica bsica, la suma; en este caso, un sumador de dos nmeros naturales de 4 bits.

Para analizar el comportamiento de esos circuitos vamos a utilizar una herramienta de diseo de sistemas digitales bastante compleja: Quartus II, de la casa Altera. Se trata de una herramienta software muy conocida y utilizada tanto en la industria como en la universidad. Con esa herramienta podemos definir y dibujar el circuito, especificar sus entradas (la informacin que procesa) y sus salidas (los resultados que produce), y, finalmente, integrar el sistema lgico en un chip programable. Junto con ese programa, utilizaremos una tarjeta de desarrollo de prototipos, denominada DE2. Esta tarjeta se utiliza para el diseo y verificacin de prototipos antes de su fabricacin; junto con el chip programable, la tarjeta incluye un conjunto de elementos de ayuda para la verificacin del diseo: interruptores (para indicar entradas binarias, 1/0), diodos LED y dgitos (para visualizar datos), una pequea pantalla LCD, etc. La figura 1 muestra la tarjeta de prototipos. Hacia el centro se encuentra el dispositivo programable de tipo FPGA (el chip EP2C35F672C6N de la familia Cyclone II) en el que programaremos nuestros diseos; en la parte inferior estn los interruptores (en ingles, switch) que vamos a utilizar para introducir datos y los diodos LED; en la izquierda, la pantalla LCD y los dgitos "7 segmentos".

Figura 1. Tarjeta DE2 para prototipos.

IF - EHU

Prcticas de laboratorio en la universidad, 2009

EJERCICIO 1: funcionamiento de las puertas lgicas bsicas.


En este primer ejercicio vamos a analizar el comportamiento de los circuitos digitales ms sencillos, los que realizan las tres operaciones lgicas bsicas: NOT (negacin lgica), OR (suma lgica) y AND (producto lgico). A estos circuitos se les denomina puertas lgicas y son los elementos a partir de los que se construyen circuitos ms complejos. Ello es debido a que, como demostr el matemtico Boole, cualquier otra funcin lgica, por muy compleja que sea, se puede expresar mediante combinacin de estas tres operaciones. Las entradas y salidas de estas puertas son binarias; esto es, slo toman los dos valores lgicos 0 y 1. La puerta NOT slo tiene una entrada y una salida, que toma siempre el valor contrario al de la entrada. Las puertas OR y AND tienen dos entradas y una sola salida, que toma el valor de la suma o producto lgico de las entradas, respectivamente. Comprobemos el funcionamiento de estas tres puertas.

1. Abre el proyecto ateak.qpf (se abrir una ventana del programa QuartusII); a
continuacin, abre el fichero ateak.bdf. Aparecer en la pantalla el siguiente esquema lgico:

SW[17]

INPUT VCC

NOT

notA

OUTPUT

LEDR[17]

inst

SW[16] SW[15]

INPUT VCC INPUT VCC

B C

AND2

BandC inst1

OUTPUT

LEDR[16]

SW[14] SW[13]

INPUT VCC INPUT VCC

D E

OR2

DorE inst2

OUTPUT

LEDR[15]

Figura 2. Las tres puertas lgicas bsicas: puerta NOT, puerta AND y puerta OR. sos son lo smbolos lgicos que se utilizan para indicar cada una de las tres puertas lgicas.

2. Ahora bien, dibujar el circuito no es suficiente. Ahora hay que programar el circuito en el
chip FPGA de la tarjeta de pruebas, para lo que previamente hay que completar el diseo con la informacin sobre qu componentes de la tarjeta (switches, LEDs...) se asocian a las entradas y salidas de nuestro circuito. Para hacer las pruebas ms rpido, ya hemos aadido esa informacin al esquema lgico; en concreto, vamos a utilizar los siguientes interruptores (switches) y diodos LED de la tarjeta:

Prcticas de laboratorio en la universidad, 2009

IF- EHU

- Entradas: A SW17 B SW16, C SW15 D SW14, E SW13

- Salidas: not A LEDR17 B and C LEDR16 D or E LEDR15

Ya tenemos el sistema digital listo para programarlo en el chip FPGA. El proceso es sencillo; sigue las instrucciones del profesor. Listo! Has diseado tu primer circuito digital. Ahora, querrs comprobar cmo funciona no? Para ello basta con aplicar a las entradas de los circuitos alguno de los dos valores 0 o 1 mediante los interruptores correspondientes y visualizar el resultado mediante un diodo LED. Recuerda: si el diodo se ilumina, el resultado es 1, y si no se ilumina, el resultado es 0. Anota los resultados que obtengas en las tablas siguientes teniendo en cuenta que has de comprobar todas las combinaciones posibles de las entradas. > Comportamiento lgico de la puerta NOT (una entrada y una salida) A A not A 0 1 not A

> Comportamiento lgico de la puerta AND (dos entradas y una salida) B B C B and C C B and C

> Comportamiento lgico de la puerta OR (dos entradas y una salida) D D E D or E E D or E

Las tablas que acabas de rellenar se conocen como tablas de verdad, y suelen utilizarse para especificar el comportamiento de los circuitos lgicos ms sencillos.

IF - EHU

Prcticas de laboratorio en la universidad, 2009

EJERCICIO 2: suma aritmtica de dos nmeros naturales de 4 bits.


La suma es la operacin aritmtica bsica de cualquier sistema digital (y de cualquier procesador). Por ello, no es necesario disear sumadores una y otra vez para cada aplicacin, sino que se emplean circuitos ya prediseados. El sumador ms sencillo procesa los dos nmeros naturales de las entradas y ofrece su suma en la salida. En este segundo ejercicio prctico, vamos a analizar el comportamiento de un sumador simple. El circuito realiza la suma de dos nmeros naturales de 4 bits, y genera como resultado la suma, otro nmero natural de 4 bits, y una seal adicional que indica si el resultado es correcto, la llevada (overflow, en ingls), ya que la suma de dos nmeros de 4 bits no puede ser representada siempre en 4 bits. En la figura siguiente se muestra el esquema del circuito prediseado.

adder
A[3..0]

dataa[3..0]

B[3..0]

A A+B datab[3..0] B
inst

result[3..0]

A+B[3..0]

overflow

OVF

Figura 3. Sumador (en ingls, adder) bsico de dos nmeros de 4 bits, A y B. Como resultado, el sistema ofrece la suma, A+B, y la seal OVF (llevada).

1. Antes que nada, Cuntos nmeros naturales pueden codificarse con 4 bits? Qu cdigo
corresponde a esos nmeros? Recuerda que los procesadores operan siempre con datos en base 2 y no en base 10. Repasemos los cdigos binarios. Completa para ello la tabla siguiente:
Nmero natural 0 1 2 Cdigo binario (4 bits) 0000 0001 0010 Nmero natural Cdigo binario (4 bits)

Prcticas de laboratorio en la universidad, 2009

IF- EHU

Ahora, comprobemos el funcionamiento del sumador.

2. Abre el proyecto batugailua.qpf (se abrir una ventana del programa QuartusII), y,
a continuacin, el fichero con el esquema del sumador batugailua.bdf. En la figura siguiente se representa el esquema que contiene dicho fichero:

SW[3] SW[2] SW[1] SW[0]

INPUT VCC INPUT VCC INPUT VCC INPUT VCC

A[3] A[2] A[1] A[0]

SW[7] SW[6] SW[5] SW[4]

INPUT VCC INPUT VCC INPUT VCC INPUT VCC

B[3] B[2] B[1] B[0]

adder
A[3..0]

dataa[3..0] datab[3..0]
inst

dec7seg

B[3..0]

A A+B B

result[3..0]

A+B[3..0] num[3..0] OVF inst8 dig7seg[6..0]

HEX0[6..0]

overflow

OUTPUT OUTPUT OUTPUT OUTPUT

HEX0[6] HEX0[5] HEX0[4] HEX0[3] HEX0[2] HEX0[1] HEX0[0]

LEDR[8]

OUTPUT OUTPUT OUTPUT OUTPUT

Figura 4. Sumador y descodificador 7 segmentos. En la figura se observa que adems del circuito sumador se ha aadido otro mdulo: un descodificador. Este componente, que se conoce como descodificador 7 segmentos, nos permite visualizar el resultado de la suma, que est en binario, de manera ms cmoda, mediante un dgito de "7 segmentos".

3. Al igual que en el ejercicio anterior, para comprobar el funcionamiento de nuestro circuito,


las entradas y salidas del mismo han de asignarse a componentes de la tarjeta DE2. Esta tarea ya ha sido realizada previamente y los componentes que van a utilizarse son los siguientes: - Entradas: A SW3,SW2,SW1,SW0 B SW7,SW6,SW5,SW4 - Salidas: A+B dgito HEX0 OVF LEDG7

IF - EHU

Prcticas de laboratorio en la universidad, 2009

4. Ahora repite los pasos del ejercicio anterior para programar el circuito.
A continuacin, hay que verificar cmo funciona el circuito, haciendo diferentes pruebas. Por ejemplo, prueba los casos que aparecen en la siguiente tabla y rellnala con los resultados que obtengas.

A
decimal 0 4 1 8 11 9 binario decimal 3 5 6 2 2 8

B
binario decimal

A+B
binario

OVF

Se ha activado la seal de overflow en algn caso? Por qu? Propn otro caso que genere tambin llevada u overflow.

Has finalizado el trabajo asignado a esta prctica. Los circuitos que has analizado son tpicos en cualquier sistema digital que procesa seales binarias. Por ejemplo, el circuito que realiza la suma de nmeros naturales es el elemento bsico de la unidad aritmtico/lgica, que es un subsistema imprescindible en todo procesador. Naturalmente, ese subsistema suele ser mucho ms complejo que el hemos analizado, ya que se disea para realizar un conjunto amplio de operaciones: sumas, restas, multiplicaciones, divisiones... y, adems, los datos suelen admitir diferentes formatos de representacin. Estas cuestiones y otras muchas ms se estudian en las asignaturas que puedes cursar si te animas a estudiar con nosotros.

Prcticas de laboratorio en la universidad, 2009

IF- EHU

RESUMEN Conceptos vistos en esta prctica


> Valores lgicos. Los circuitos digitales procesan seales que slo pueden tomar dos valores: 1 y 0. Puertas lgicas NOT, AND y OR. Se trata de los dispositivos lgicos ms simples, que procesan seales lgicas y efectan las operaciones lgicas de negacin, y producto y suma. Codificacin binaria. Los datos que procesa un computador estn codificados en binario. Con n bits se pueden codificar 2n nmeros. Un sumador es la base de cualquier unidad aritmtico/lgica, ncleo de clculo de los procesadores. La suma de dos nmeros de n bits puede no caber en un nmero de n bits; el sumador lo indica activando una seal de llevada u overflow (similar a lo que ocurre en tu calculadora cuando se excede el mayor nmero representable). Existen herramientas software y hardware que permiten disear y probar circuitos digitales, y finalmente, programar el dispositivo completo en un chip (por ejemplo, un chip de tipo FPGA).

>

>

>

>

>

IF - EHU

Prcticas de laboratorio en la universidad, 2009

Quieres probar algo ms?


Te proponemos un par de ejercicios por si te apetece analizar algn otro circuito lgico sencillo o pensar sobre la codificacin binaria de nmeros naturales. Te pondremos la solucin en la pgina web. Suerte.

1.

Teniendo en cuenta el comportamiento de las tres puertas lgicas que has analizado en esta prctica, Cul ser la respuesta de estos circuitos para las diferentes combinaciones de los valores (1 / 0) de las entradas?

B A

A 0

B 0

B A C

A
Y

B 0

C 0

Prcticas de laboratorio en la universidad, 2009

IF- EHU

2.

Cul es el mximo nmero entero que se puede codificar con 32 bits? y con 64 bits?

Cuntos bits se necesitan para codificar el nmero natural 777, y qu cdigo le corresponde?

Qu nmero natural se representa en 16 bits con el cdigo binario 1100110011001100?

3.

Para las sumas que se indican en binario, en las que los datos y el resultado son de 6 bits, cul es el resultado en binario de cada suma? en qu caso(s) se producir desbordamiento en la suma? (a) 011001 + 110110 (b) 000001 + 100000 (c) 101100 + 010011

10

You might also like