Vous êtes sur la page 1sur 10

SUMADOR Y RESTADOR DE 4 BITS Para estas dos operaciones, se utilizarn sumadores de un bit en cascada; es decir, se enlazan los carrys

de entrada y salida de los sumadores. La resta ser en complemento a dos para disminuir el tamao del circuito. Tabla de verdad para el sumador de 1 bit Cin 0 0 0 0 1 1 1 1 Ecuaciones S= Cin (A B) Cout= Cin (A+B) + AB Esquema Sumador de 1 Bit A 0 0 1 1 0 0 1 1 B 0 1 0 1 0 1 0 1 Cout 0 0 0 1 0 1 1 1 S 0 1 1 0 1 0 0 1

Restador de 4 Bits Ya que la resta de dos nmeros binarios es equivalente a la suma del minuendo con el complemento a dos del sustraendo, utilizaremos el sumador anterior para realizar la resta junto con un selector hecho de compuertas xor, que permite cambiar de operacin. El complemento a dos de un nmero binario es entendido como el mismo nmero invertido +1. Es decir, si tenemos el nmero 0111=7, su complemento a dos ser 1001=9. Como en vez de realizar una resta, estamos realizando una suma (literalmente), el nmero resultante genera 1 bit de ms. Este ltimo bit indica el signo de dicha resta.

Diagrama Para Realizar el Complemento a Dos

Nota: Este inversor fue realizado con compuertas xor para poder habilitar o deshabilitar el complemento a 2. Esto nos permite tener el sumador y restador de 4 bits en una sola escalera de sumadores de 1 bit. Problema con Restas Negativas Cuando intentamos realizar restas negativas con el esquema listo hasta ahora, me doy cuenta que no muestra el resultado apropiado. Para solucionar este problema, utilizar nuevamente el complemento a 2 en los 4 primeros bits de salida. El 5 bit como ya dije antes indica el signo de la operacin si estamos restando: 1 = Resultado Positivo o 0 0 = Resultado Negativo

En la suma, este slo es un bit de resultado ms. Complemento a 2 (Bits de salida) En el proyecto, se utilizaron compuertas negadoras para invertir el resultado de los 4 bits, y se usaron compuertas lgicas para sumar 1 a las salidas invertidas (Mtodo que anexo al informe), pero me doy cuenta de que hubiera resultado mucho ms sencillo utilizar compuertas negadoras y un sumador de 4 bits (que ya estaba hecho), para realizar este proceso. Por lo cul este es el que mostrar a continuacin.

Diagrama Circuito para Complemento a Dos

Cambio de 8 a 4 Salidas Ya que saqu el complemento a dos de las salidas s0, s1, s2, s3, tenemos estas que nos servirn tenemos estas que nos servirn para mostrar las operaciones de suma y resta (Positiva o 0), y tenemos s01, s11, s21, s31, que servirn para mostrar el resultado de una resta cuando esta es negativa. Debido a que el resultado se debe mostrar slo en 4 salidas, es necesario emplear un mecanismo para que los dos cuartetos de salida, no estn activos al mismo tiempo. Logigrama de cambio

1: Se activa cuando es resta y el bit de signo est en 1 o cuando es una suma. 2: Se activa cuando la operacin es una resta y el bit de signo est en 0.

MULTIPLICADOR DE 4 BITS

A4 B4

A3 B3

A2 B2

A1 B1

B1*A4 B1*A3 B1*A2 B1*A1 B2*A4 B2*A3 B2*A2 B2*A1 B3*A4 B3*A3 B3*A2 B3*A1 B4*A4 B4*A3 B4*A2 B4*A1 H G F E D C B A

Se utilizarn compuertas and para realizar las multiplicaciones entre cada uno de los bits de la operacin. Tambin, Se utilizarn sumadores de 4 bits para realizar las sumas de la multiplicacin. Sus salidas A-H se enviarn a un decodificador de binario a BCD, hecho por el algoritmo de cambio y suma +3. Este decodificador tomar las 8 salidas del multiplicador y generar 10 salidas en BCD, las cuales se mandan a un decodificador de BCD a 7 segmentos para as poder enviar las salidas a los displays. DIVISOR DE 4 BITS Para realizar este divisor, utilizar restadores de 4 bits en cascada (en total 16), que son los suficientes para restar del nmero ms grande (1111), el nmero ms pequeo (0001), las veces que este quepa en el dividendo. Resulta conveniente utilizar la resta con complemento a dos, ya que esta genera un quinto bit que se usa para identificar si el resultado de la resta es positivo o negativo. A partir de esto se genera nuestra primera premisa: 1. Si el bit de signo del restador actual es positivo y el bit de signo del restador anterior es positivo, se genera un bit indicador. (En el caso del primer restador, slo se tendr en cuenta el primer bit de signo). Esto nos permitir llevar una cuenta de la parte entera de la divisin. Dicha cuenta se almacenar en bits que van desde la A a la P. Adems de esto tenemos la segunda premisa para el residuo. 2. Si el bit de signo actual es negativo y el bit de signo anterior es positivo, entonces el residuo sern los 4 bits resultantes de la resta anterior.

Contador de Unidades Para Divisin (Parte entera) Este contador se utilizar para pasar a nmeros binarios las salidas del divisor de la parte entera (A-P), las cuales son divididas en 4 grupos y posteriormente sumadas para facilitar su realizacin. Tabla de Verdad D 0 0 0 1 Ecuaciones U1= A*D*(B C) U2= ABD U3= ABCD Divisor Parte Decimal Al igual que el divisor de la parte entera, este se har con 3 restadores de 4 bits en cascada, y su aproximacin ser de 3 bits; al igual que si estuviramos restando a mano, se toma el residuo generado por el divisor anterior y se le aade un bit; luego se efecta la resta. As como en el divisor anterior, hay algunas premisas que nos servirn para encender los bits indicadores. Las siguientes son de un solo restador. Estas mismas se aplican a todos los restadores puestos en cascada. 1. Si el bit de mayor peso del residuo actual, es 1, eso significa, que al agregarle un bit ms, cualquier nmero del orden de 4 bits, puede ser restado de este y obtener un resultado positivo; por lo tanto, se activa el bit para indicar lo anterior. 2. Despus de efectuada la resta, si el bit de signo del restador es positivo, entonces se encender el bit. 3. Si el resultado de cualquiera de las restas es 0, se dejar de restar, para evitar errores. Al igual que en la divisin de la parte entera, es necesario hacer decodificador de binario a BCD, aunque esta vez los bits decimales valen 0.5, .025 y 0.125. C 0 0 1 1 B 0 1 1 1 A U3 U2 U1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0

SELECTOR DE FUNCIN A: B: C: D: E: F: G: H: SUMA RESTA MULTIPLICACION DIVISION AND OR NOT XOR INCREMENTO

Nota: Para hacer el cambio de suma a resta, se utilizar un selector independiente (Selector SR). Para hacer el cambio de funcin, se utilizarn compuertas and, las cuales dejarn pasar a los displays slo las salidas de la funcin activa. Tabla de Verdad s3 s2 s1 A B 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 C 0 0 1 0 0 0 0 0 D 0 0 0 1 0 0 0 0 E 0 0 0 0 1 0 0 0 F 0 0 0 0 0 1 0 0 G 0 0 0 0 0 0 1 0 H 0 0 0 0 0 0 0 1 Ecuaciones: A= SI*S2*S3 B= S1*S2*S3 C= S1*S2*S3 D= S1*S2*S3 E= S1*S2*S3 F= S1*S2*S3 G= S1*S2*S3 H= S1*S2*S3 DECODIFICADOR DE BCD A 7 SEGMENTOS

Para lograr mostrar los nmeros binarios en decimal, se debe hacer un decodificador que convierta 4 seales en 7 de manera que cada seal, encienda un segmento del display de la siguiente forma:

Tabla de Verdad s4 s3 s2 s1 A B C D E F G 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 1 0 X X X X X X X 1 0 1 1 X X X X X X X 1 1 0 0 X X X X X X X 1 1 0 1 X X X X X X X 1 1 1 0 X X X X X X X 1 1 1 1 X X X X X X X

Ecuaciones A= S4 + (S1 S3) + S2*S3 B= S3 + (S1 S2) C= S1 + S2 + S3 D= S1*(S3 + S2) + S2*S3 + S3*S2*S1 E= S1*(S2 + S3) F= S1*(S2 + S3) + S1*S2*S3 + S4 G= S3*S1 + S4 + (S2 S3)

CONVERTIDOR DE BCD A 5421 Este circuito lo utilizar en el decodificador de binario a BCD ya que este consiste en un cambio de columna y en caso de que el nmero sea mayor a 4, se agrega 3, que es lo que hace precisamente el convertidor de BCD a 5421.

Tabla de Verdad A4 A3 A2 A1 S4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 X 1 0 1 1 X 1 1 0 0 X 1 1 0 1 X 1 1 1 0 X 1 1 1 1 X Ecuaciones S1= A1*A3*A4 + A1*(A4 + A2*A3) S2= A2*(A1 + A3) + A1*A4 S3= A1*A4 + A1*A2*A3 S4= A4 + A3*(A1 + A2) DECODIFICADOR DE BINARIO A BCD Este decodificador nos permite pasar un nmero binario a BCD para posteriormente enviarlo a un decodificador de BCD a 7 segmentos y mostrar una salida en un display. El circuito implementado en este proyecto, se basa en el algoritmo cambio y suma +3, que consiste en ir desplazando las columnas de un nmero binario hacia la izquierda y, en caso de que el nmero sea mayor que 4, se suma 3 al resultado. S3 0 0 0 0 1 0 0 0 0 1 X X X X X X S2 0 0 1 1 0 0 0 1 1 0 X X X X X X S1 0 1 0 1 0 0 1 0 1 0 X X X X X X

Pasos Para Convertir un Nmero Binario a BCD OPERACIN INICIO CAMBIO CAMBIO CAMBIO SUMA +3 CAMBIO SUMA +3 CAMBIO CAMBIO SUMA +3 CAMBIO SUMA +3 CAMBIO BCD CENT DEC UNID 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BINARIO 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 0 1 0

1 0 0 0 0

1 0 0 0 1 1

1 1 0 1 1 0 0

1 1 1 0 1 0 0 1 1

1 0 1 0 0 0 0 1 0 0

1 0 1 0 0 0 0 1 0 1 1

1 1 1 0 0 0 1 1 1 1 0 0

FUNCIN AND & OR Para estas funciones se utilizarn compuertas de 4 entradas y su salida se enviar al LedR8, al igual que la Not y Xor. Para hacer el intercambio entre estas funciones, se utilizar el selector de funcin y compuertas And. FUNCIN NOT Para esta funcin se utilizar la entrada B1 y como salida el LedR8. FUNCIN XOR Se utilizarn B1 y B2 como entradas y el LedR8 como salida. INCREMENTO +1 Su salida se activar con compuertas and, al igual que la suma, resta, multiplicacin y divisin. Esta funcin constar de un sumador de 4 bits con 4 entradas y 5 salidas (las 4 entradas faltantes estarn pre configuradas en 0001). Se utilizarn B1, B2, B3, y B4 como entradas y sus salidas irn desde 1 a 16.

SISTEMAS MECATRNICOS II

CALCULADORA EN FPGA

PRESENTADO POR:

JHON ABRAHAM BONILLA

PRESENTADO A:

OSIEL ARBELAEZ

TCNICO PROFESIONAL EN MECATRNICA

IV SEMESTRE UNIVERSIDAD TECNOLGICA DE PEREIRA -2010-

Vous aimerez peut-être aussi