Reporte de una práctica anterior

Anuncio
UNIVERSIDAD AUTONOMA METROPOLITANA
Alumnos:
Gabriel González Carranza.
Erwin De Valdemar.
Profesor:
Joel Ricardo Jiménez Cruz.
Practica # 2:
Sumador/Restador de 4 bits.
Objetivo.
El objetivo principal de esta práctica es aplicar los conocimientos adquiridos en
clase para construcción de un circuito electrónico que realice las operaciones básicas
de suma y resta de dos números en su representación binaria, por lo cual cada
número de estos consistirán de una longitud de 4 bits. El resultado de dichas
operaciones estará dentro del rango de [-8,7] el cual se mostrara con la ayuda de un
display de 7 segmentos y con la ayuda de un LED se indicara si dicho número es
positivo o negativo.
Introducción.La ALU.
Como sabemos tanto la suma y la resta pertenecen al conjunto de operaciones
básicas de la Unidad Aritmética Lógica (ALU, por si siglas en ingles). Así que para
poder continuar daremos una definición:
ALU : es una de las unidades que conforman la Unidad Central de Procesos (CPU)
mediante la cual se pueden realizar un conjunto de operaciones aritméticas
básicas las cuales son suma, resta, división y multiplicación y de operaciones
lógicas las cuales son OR, NOT, AND, etc.
Los circuitos mediante los que la ALU ejecuta dichas operaciones pueden ser
desde muy simples a muy complejos. Y dichos circuitos se encuentran de diversos
componentes que permiten que la ALU pueda efectuar las operaciones.
Entre estos componentes se encuentra el dispositivo de adición, con el que realiza
las operaciones aritméticas; los registros, que contiene a los operandos
(proporcionados por la unidad de control y que son los que realizan la operación), a
los resultados parciales, a los resultados finales y por último los dispositivos de
control de cálculo, que dirige y controla las operaciones.
La Unidad de Control es la que le envía a la ALU las órdenes que debe realizar y la
que se encarga de transportar los resultados obtenidos. De esta manera, vemos como
la Unidad de Control le envía las acciones a realizar, la ALU procesa los datos y sus
resultados quedan en el registro de salida de la ALU, desde donde serán transportados
por otros mecanismos.
Circuito combinacionales y secuenciales.
Como se menciono antes el objetivo es la creación de un circuito electrónico,
existen tanto circuitos combinacionales como circuitos secuenciales.
Circuito combinacional: es un circuito digital cuyas salidas en un instante
concreto vienen dadas por las entradas del circuito en ese
mismo momento.
Como consecuencia de la definición anterior un circuito combinacional no puede
tener bucles cerrados o realimentaciones, porque si hay bucles, la entrada se
realimenta o cambia durante el circuito. Un circuito combinacional puede describirse
utilizando una fórmula con Álgebra de Boole en la que las salidas sean dependientes
solamente de las entradas.
Circuito secuencial: es un circuito digital los valores de las salidas, en un
momento dado, no dependen exclusivamente de los valores
de las entradas en dicho momento, sino también dependen
del estado anterior o estado interno.
Los circuitos secuenciales tienen capacidad para recordar o memorizar los
valores de las variables de entrada. Esta operación es imprescindible en los circuitos
digitales, sobre todo en los programables. El almacenamiento o memorización de la
información presente en la puerta del circuito se realiza gracias a la existencia de unas
variables denominadas de estado interno, cuyo valor se verá afectado por los cambios
producidos en la combinación binaria aplicada a la entrada. Tanto las salidas como el
estado siguiente son función de las entradas y del estado presente. El análisis de los
circuitos secuenciales consiste en obtener una tabla o un diagrama de las secuencias
de tiempo de las entradas, salidas y estados internos. También es posible escribir
expresiones booleanas que describen el comportamiento de los circuitos secuenciales.
Por lo tanto para el desarrollo de la práctica utilizaremos circuitos secuenciales.
Desarrollo Teórico.A continuación explicaremos el marco teórico en cual nos apoyamos para realizar
la construcción de nuestro circuito.
El Sistema numérico binario
Es un sistema de numeración en el que los números se representan utilizando
solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, pues
trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración
natural es el sistema binario (encendido 1, apagado 0).
La conversión del sistema binario al sistema decimal la vemos en el siguiente
ejemplo:
1010101 = 1 × 106 + 0 × 105 + 1 × 104 + 0 × 103 + 1 × 102 + 0 × 101 + 1 × 100
en general la si tenemos un numero de n bit, su conversión al sistema digital está dada
por:
𝑛𝑢𝑚. 𝑑𝑒 𝑛 𝑏𝑖𝑡𝑠 = (0,1) × 10𝑛 + (0,1) × 10𝑛−1 + ⋯ + 0 × 101 + (0,1) × 100
Es momento de recordar que anteriormente se menciono que utilizaríamos
números negativos, la forma de hacer esto va ser por el uso del bit más significativo de
nuestro numero en binario, el cual es el bit que se encuentra al extremo derecho del
numero, si dicho bit es un “0” nuestro numero será positivo, en caso contrario que es
el “1” nuestro numero será negativo.
La suma binaria.La suma en binario es muy fácil de comprender, ya que esta solo consta de
posibles combinaciones que son:
0
+0
0
0
+1
1
1
+0
1
1
+1
10 (el “1” es bit de acarreo)
como ocurre con los números en base 10 no hay dificultad para realizar la operación
en ningún caso excepto en el cual se tiene 1+1, que en base diez sería 2 y que en base
dos se escribe 10 (uno cero). Por lo tanto, en binario 1+1=0 y llevamos 1 a la posición
mas significativa siguiente. Esto último lo llamamos acarreo.
Sumador Medio.Llamaremos sumador medio a un circuito combinacional que realiza la suma de
un bit con otro bit, para poder definir el sumador medio daremos su tabla de verdad:
X
Y
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
donde X,Y son las dos entradas, S es una salida y C otra salida el llamamos el acarreo.
Las funciones que se obtiene de la tabla anterior son:
S= (X’ * Y) + (X * Y’)
C= Y * X
con ayuda de las funciones anteriores podemos crear su diagrama lógico el cual es:
Sumador Completo.Una vez comprendió la funcionalidad del sumador medio podremos crear lo que
llamaremos el sumador completo. Una suma completa debe recibir el acarreo
proveniente de la suma anterior de aquí es donde surge la necesidad de tener un
acarreo inicial.
El sumador completo consta de tres entradas que son Xi, Yi, Ci donde, Xi, Yi son los
bits de entrada de nuestro numero en binario y Ci va ser el acarreo de la suma anterior
si esta existe, en caso de de existir el Ci=C0, donde C0 es el acarreo inicial de cero en
nuestra suma; por otro lado tendremos únicamente 2 salidas las cuales serán Si, Ci+1,
donde Si es la salida y Ci+1 es el acarreo. Por lo tanto un sumador completo tiene la
siguiente tabla de verdad:
Xi
0
0
0
0
1
1
Yi
0
0
1
1
0
0
Ci
0
1
0
1
0
1
Si
0
1
1
0
1
0
Ci+1
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
como en el caso del sumador medio, con la ayuda de la tabla de verdad obtendremos
las funciones, para poder crear el diseño del circuito lógico, por tanto las funciones de
la tabla anterior son:
Si = (Xi’ * Yi’ * Ci) + (Xi’ * Yi * Ci’) + (Xi * Yi’ * Ci’) + (Xi * Yi * Ci) = [(Xi⊕Yi) ⊕ Ci]
Ci+1= (Xi * Yi) + (Xi * Ci) + (Yi * Ci) = Ci*( Xi⊕Yi)+( Xi*Yi)
y su diagrama lógico es el siguiente:
Para construir un sumador que sume cifras de 4 bits hay que conectar 4
sumadores completos en cascada, a continuación mostramos su diagrama:
El primer sumador (el de abajo) realiza la operación X0 + Y0 porque la suma comienza
desde los bits menos significativos.
Por lo tanto un sumador de 4 bits se ve de la siguiente forma:
Resta (Complemento a 2).
Una vez defina la forma de hacer la suma, procederemos a explicar cómo se
realizara la resta de dos números en notación binaria. Para realizar la resta se usara el
concepto llamado complemento a 2, esto se debe a lo siguiente: en X+Y+C0 = X+Y,
donde C0 es el acarreo inicial y este es igual a cero, entonces para hacer la resta de X-Y
necesitamos que nuestro sumador realice la siguiente operación X+Y’+1. El algoritmo
a seguir es el siguiente:
1. El operador X se deja intacto.
2. El operador Y se le aplica el complemento a 1, el cual consiste en
intercambiar “0” por “1” y viceversa a este nuevo numero lo llamamos Y’.
3. Tómanos el operador X y Y’ aplicamos la suma normal .
4. Por último tomamos el resultado del paso 3 y lo operamos con 1 bajo la
suma.
para logar que nuestro circuito haga el algoritmo pasado, utilizaremos una señal de
control la cual llamaremos switch S/R. La forma de funcionar de dicho switch es la
siguiente:


Cuando el switch S/R tenga un valor de 0, se realizará la suma A+B.
Cuando el switch S/R tenga un valor de 1, se realizará la resta A-B.
en el siguente diagrama se muestra donde se coloca el switch S/R
la construcción del de switch S/R se obtiene con compuertas de tipo XOR de dos
entradas, pues estas compuertas permiten negar una señal de manera controlada,
para que quede mas claro mostraremos 2 diagramas, uno con switch S/R
apagado(suma) y otro con el switch S/R prendido (resta).
Como vemos al estar apagado el switch S/R nuestro operando Y siempre será el
mismo y nuestro acarreo inicial es 0.
Ahora con el switch S/R encendido vemos que nuestro operando Y es ahora Y’ y
nuestro acarreo inicial es 1.
De esta manera con solo agregar un switch a nuestro sumador completo de 4 bit
podremos hacer las 2 operaciones básicas que se nos piden.
Display de 7 segmentos y Decodificador BCD.Para la visualización de resultados ocuparemos un display de 7 segmentos y un
decodificador de código binario-decimal (BCD por sus siglas en ingles).
El display de 7 segmentos, es un componente que se utiliza para la representación
de números en muchos dispositivos electrónicos. Este display esta compuesto por 7
luces de tipo LED a los cuales llamamos segmentos los cuales se activan o se
desactivan. Para obtener la representación adecuada de cada número utilizaremos un
decodificador BCD.
En el BCD cada cifra representa un dígito decimal (0, 1,...8 y 9) que representa con
su equivalente binario en cuatro bits, cabe mencionar que nuestro convertidor BCD
tendrá como entradas el resultado de 4 bits de las suma o resta y esta a su vez tiene 7
salidas que irán conectadas a cada unos de los segmentos del display.
Para que el display de 7 segmentos y el convertidor BCD desplieguen la forma
correcta de representar cada número utilizamos la siguiente tabla de verdad:
R1
0
0
0
0
R2
0
0
0
0
R3
0
0
1
1
R4
0
1
0
1
A
1
0
1
1
B
1
1
1
1
C
1
1
0
1
D
1
0
1
1
E
1
0
1
0
F
1
0
0
0
G
0
0
1
1
Numero a
representar
0
1
2
3
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
1
1
*
*
*
*
*
*
1
0
0
1
1
1
*
*
*
*
*
*
1
1
1
1
1
1
*
*
*
*
*
*
0
1
1
0
1
1
*
*
*
*
*
*
0
0
1
0
1
0
*
*
*
*
*
*
1
1
1
0
1
1
*
*
*
*
*
*
1
1
1
0
1
1
*
*
*
*
*
*
4
5
6
7
8
9
*
*
*
*
*
*
Para finalizar esta parte mostraremos la forma de conectar del decodificador BCD
al display de 7 segmentos.
Tecnología TTL.
TTL es la sigla en inglés de transistor-transistor logic, es decir, "lógica transistor a
transistor". Es una familia lógica o lo que es lo mismo, una tecnología de construcción
de circuitos electrónicos digitales. En los componentes fabricados con tecnología TTL
los elementos de entrada y salida del dispositivo son transistores bipolares.
Características.



Su tensión de alimentación característica se halla comprendida entre los 4,75v
y los 5,25V (como se ve un rango muy estrecho).
Los niveles lógicos vienen definidos por el rango de tensión comprendida entre
0,2V y 0,8V para el estado L (bajo) y los 2,4V y Vcc para el estado H (alto).
La velocidad de transmisión entre los estados lógicos es su mejor base, si bien
esta característica le hace aumentar su consumo siendo su mayor enemigo.
Motivo por el cual han aparecido diferentes versiones de TTL como FAST, LS, S,
etc y últimamente los CMOS: HC, HCT y HCTLS. En algunos casos puede
alcanzar poco más de los 250 MHz.

Las señales de salida TTL se degradan rápidamente si no se transmiten a través
de circuitos adicionales de transmisión (no pueden viajar más de 2 m por cable
sin graves pérdidas).
Familias TTL.
Los circuitos de tecnología TTL se prefijan normalmente con el número 74 (54 en
las series militares e industriales). A continuación un código de una o varias cifras que
representa la familia y posteriormente uno de 2 a 4 con el modelo del circuito.
Con respecto a las familias cabe distinguir:
 TTL : Serie estándar
 TTL-L (low power) : Serie de bajo consumo
 TTL-S (schottky) : Serie rápida (usa diodos Schottky)
 TTL-AS (advanced schottky) : Versión mejorada de la serie anterior
 TTL-LS (low power schottky) : Combinación de las tecnologías L y S (es la
familia más extendida)
 TTL-ALS (advanced low power schottky) : Versión mejorada de la serie AS
 TTL-F (FAST : fairchild advanced schottky)
 TTL-AF (advanced FAST) : Versión mejorada de la serie F
 TTL-HCT (high speed C-MOS) : Serie HC dotada de niveles lógicos compatibles
con TTL
 TTL-G (GHz C-MOS) : GHz ( From PotatoSemi)
Tecnología.
La tecnología TTL se caracteriza por tener tres etapas, siendo la primera la que le
nombra:
 Etapa de entrada por emisor. Se utiliza un transistor multiemisor en lugar de la
matriz de diodos de DTL.
 Separador de fase. Es un transistor conectado en emisor común que produce
en su colector y emisor señales en contrafase.
 Driver. Está formada por varios transistores, separados en dos grupos. El
primero va conectado al emisor del separador de fase y drenan la corriente
para producir el nivel bajo a la salida. El segundo grupo va conectado al
colector del divisor de fase y produce el nivel alto.
Esta configuración general varía ligeramente entre dispositivos de cada familia,
principalmente la etapa de salida, que depende de si son búferes o no y si son de
colector abierto, tres estados (ThreeState), etc. Mayores variaciones se encuentran
entre las distintas familias: 74N, 74L y 74H difieren principalmente en el valor de las
resistencias de polarización, pero la mayoría de los 74LS (y no 74S) carecen del
transistor multiemisor característico de TTL. En su lugar llevan una matriz de diodos
Schottky (como DTL). Esto les permite aceptar un margen más amplio de tensiones de
entrada, hasta 15V en algunos dispositivos, para facilitar su interface con CMOS.
También es bastante común, en circuitos conectados a buses, colocar un transistor
pnp a la entrada de cada línea, para disminuir la corriente de entrada y así cargar
menos el bus. Existen dispositivos de interface que integran impedancias de
adaptación al bus para disminuir las reflexiones y aumentar la velocidad.
Aplicaciones.
Además de los circuitos LSI y MSI descritos aquí, las tecnologías LS y S también se
han empleado en:
 Microprocesadores, como el 8X300, de Signetics, la familia 2900 de AMD y
otros.
 Memorias RAM
 Memorias PROM
 PAL, Programmable Array Logic, consistente en una PROM que interconecta las
entradas y cierto número de puertas lógicas.
Desarrollo Práctico.
Equipo y material.Para la construcción del sumador restador de 4 bits se requiere:













1 sumador 74LS283.
2 Flip-flop 74LS175.
1 Circuito integrado 74LS32*(OR).
2 Circuitos integrados 74LS86 (XOR).
Varios LED’S (4 banderas).
1 Circuito integrado 74LS47 (Decodificador BCD).
1 Display de 7 segmentos ánodo comun.
Protoboard (al menos 1).
Varias resistencias
Cable de cobre (telefónico o de red)
Pinzas
Exacto
Multimetro
Antes que nada se agregara una imagen de la simulación ya que también fue parte de
la práctica y el desarrollo practico.
A continuación lo que sigue es el desarrollo del sumador con todo el material que ya
descrito anteriormente. Antes que nada lo primero que se realizo con todos los
circuitos fue probarlos en el protoboard como se muestra en las siguientes imágenes:
Pruebas del sumador (circuito integrado 74LS283).
Es importante mencionar que todos nuestros circuitos se alimentaran con un voltaje
de 5 volts, voltaje recomendado para la familia TTL de circuitos con nuestra fuente de
poder la cual se muestra en la foto y la cual fue elaborada en la primera practica.
Pruebas del decodificador de siete segmentos (circuito integrado 74LS47) junto con el
display de siete segmentos.
Y así se fueron probando todos y cada uno de los circuitos para probar su buen
funcionamiento, para ya después proceder con el armado de todo el circuito completo
en la protoboard.
A continuación se muestran algunas de las fotos ya con el circuito armado, pero en las
imágenes todavía no estaban las banderas porque primero se deseaba tener el circuito
funcionando para en caso de existir errores (como paso), poderlos encontrar y
solucionar más rápido.
En esta imagen como se muestra ya estaba funcionando el circuito y se puede
observar cómo está conectado el circuito como se menciono anteriormente todavía
sin banderas para verificar que el sumador funcionara sin problemas alguno, se
observa cómo está hecha la conexión primero está conectado el primer flip-flop
(circuito integrado 74175) que será el que recibe la alimentación para después para
después guardarlo en el segundo flip-flop, después están nuestras cuatro compuertas
lógicas XOR (circuito integrado 74LS86), después viene lo que es el sumador que hara
la función de la suma o resta dependiendo de un switch que estará a tierra es decir no
recibirá voltaje para la suma, y en caso de recibir 5 volts hará la resta (este switch esta
en la protoboard en la fila 16 de la protoboard en la parte de arriba de los circuitos),
después viene el otro flip-flop que será el que guarde nuestro primer numero
mandado a través del primer flip-flop, después viene el decodificador de siete
segmentos que es el que mandara la salida del sumador para decodificar la señal al
display de siete segmentos que mostrara la salida.
Imagen donde se observa el sumador aun sin ninguna alimentación en las entradas.
En la imagen anterior solo se muestran los circuitos más de cerca junto con el
cableado.
A continuación vienen imágenes ya del circuito completo con sus respectivas
banderas de overflow, la del cero, la del signo y la del acarreo.
En la imagen se observa el circuito con sus respectivas banderas, como se puede
observar se utilizaron 2 protoboard para realizar las conexiones, aquí ya se utilizaron
switch para alimentar el primer registro (flip-flop), y otro switch para controlar el
reset y el clear del de ambos registros.
A continuación en las siguientes imágenes se mostrara una suma mandando el 8 y el 1
para ver como se prenden las respectivas banderas.
En la imagen se muestra como está encendida la bandera del overflow ya que hay un
ocho y ya nos indica desbordamiento, después de esto lo que sigue es proceder a
guardar el ocho en el siguiente registro y sumar el uno, pero antes al momento de
hacer limpiar el primer registro hace una suma de los dos ochos que en ese momento
se encuentran en los registros (esto es porque todavía no se limpia el primero).
En esta imagen como ya se mencionaba se hacia la suma de los dos ochos porque aun
no está limpio el registro que alimenta, por eso tenemos ese resultado en el display,
pero se muestra como está encendida la bandera del acarreo porque lo hay en esa
suma.
Y por ultimo ya limpio el primer registro se observa la suma del ocho con el uno, y se
observa cómo hay un desbordamiento indicado por el primer led, después también
observamos que esta encendido el tercer led que indica el signo, porque ya tenemos
un numero negativo en nuestro sumador.
Aquí termina todo el desarrollo práctico.
Resultados.
Con esta práctica pudimos conocer el funcionamiento de algunos circuitos con
compuertas lógicas, asi como otros circuitos como el sumador, el decodificador BCD y
el display de siete segmentos asi como de hacer las conexiones correctamente a través
del protoboard para hacer nuestro sumador y cuando estas fallaban revisar toda la
conexión como se hizo en este caso porque a la primera no se dieron los resultados
que esperábamos.
Otra herramienta importante para la realización del sumador fue la simulación en el
programa de Hades, a través de esta herramienta se facilito la realización del sumador
asi se podían revisar más fácilmente que podía estar fallando y como debe funcionar
el sumador.
Conclusiones.
Al finalizar la practica quedo más claro el funcionamiento de circuitos
combinacionales, y el funcionamiento de una ALU, aunque muy primitiva pero así
comprendemos mas el funcionamiento de lo que hace una computadora por dentro
por medio de esta ALU primitiva que solo consta de 2 operaciones que es la suma y la
resta. También el uso de nuestra fuente de poder fue importante para la alimentación
de nuestro circuito. Otra herramienta importante fue usar un multimetro para
detectar posibles errores en la alimentación de los circuitos.
Resulto ser una buena experiencia en nuestro caso ya que nunca habíamos trabajado
con este tipos de material para entender cómo puede estar armada una computadora
por dentro y entender mas su funcionamiento interno.
Bibliografía.
Notas de clase.
http://www.datasheetcatalog.net/es/
http://es.wikipedia.org/wiki/Tecnolog%C3%ADa_TTL
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/index.html
Descargar