You are on page 1of 15

UNIVERSIDAD NACIONAL DE CHIMBORAZO FACULTAD DE INGENIERIA ESCUELA DE ELECTRONICA Y TELECOMUNICACIONES

Informe de Sistemas Digitales II


Tema: Combinational Arithmetic Circuits

Nombres:
Luis Inca. Esteban Gonzlez. Jimmy Avalos. Danilo Cujano.

Objetivos:
Aprender la forma de programacin de cada uno de los circuitos combinacionales aritmticos.

MATERIALES
Software Xilinx Computador Sw, normalmente abiertos. Led Protboar

Marco Terico:
Varios circuitos combinacionales que realizan operaciones aritmticas en binario nmeros, incluyendo sumadores, restadores, multiplicadores, y los comparadores. Circuitos aritmticos tpicamente combinar dos o ms buses de datos de 8, 16 o 32 bits para generar productos que utilizan busses. They presentan desafos especiales de diseo de tamao similar, ya que simplemente hay demasiadas entradas a la lista es posible combinaciones en una tabla de verdad (por ejemplo, un circuito de combinacin de dos buses de 8 bits requeriran una tabla de verdad con 2 : 16 o 65,0000 filas).
Este laboratorio tambin introduce VHDL estructural de diseo, que sigue de cerca el diseo esquemtico basado en concepto y en el mtodo. Diseos VHDL estructural son jerrquicos, con diseos de alto nivel construidas desde pequeo, VHDL-arquitectura entidad unidades de diseo diseado de forma independiente. Como con el diagrama esquemtico diseo, las seales de las unidades de diseo de bajo nivel pueden conectarse a las seales de entrada y salida del circuito general y, o a las seales internas que no son visibles fuera del

actual nivel de jerarqua. Instrucciones VHDL especiales se utilizan para declarar y crear instancias de componentes, y definir seales internas. Mtodos estructurales son se utiliza a menudo en los diseos ms grandes, donde ya pueden existir bloques de circuitos preexistentes, o cuando detallada se requieren estudios de simulacin.

The Bit-Slice design method

En el diseo de circuitos con entradas enviadas por bus que representar nmeros binarios, a menudo es ms fcil considerar un circuito diseado para un solo par de bits, en lugar de para todo el nmero binario. la razn es sencillo - una tabla de verdad que describe un circuito operar en dos buses de 8 bits requiere 65 mil filas, mientras que un circuito operativo en un solo par de bits requiere slo cuatro filas. Al considerar un diseo para un solo par de bits, el objetivo es crear un circuito que slo puede ser replicado N veces - una vez para cada poco.

Comparators

Un comparador de magnitud es un dispositivo que recibe dos entradas de N bits y afirma una de las tres salidas posibles en funcin de si una entrada es mayor que, menor que, o igual a la otra (ms sencillo comparadores, llamados comparadores de igualdad, proporcionan una salida que se afirma cada vez que las dos entradas son iguales). comparadores se describen fcilmente en VHDL de comportamiento, pero son algo ms difciles de disear utilizando mtodos estructurales o de esquema. De hecho, el diseo del comparador es un excelente vehculo para mostrar la poder de diseo de comportamiento, y el tedio relativa de diseo estructural.

Adders

Circuitos Adder aaden dos operandos N bits para producir un resultado de N bits y llevar a cabo la seal (la realizacin de es un '1 'cuando el resultado de la suma requiere ms de N bits). El circuito bsico es la adicin de uno de los piedras angulares de diseo de sistemas digitales, y ha sido utilizado en innumerables aplicaciones desde la primeros das de la ingeniera digital. El circuito de adicin ms simple realiza una suma de la misma forma en que los seres humanos, la realizacin de la operacin de "derecha a izquierda", poco a poco de la LSB al MSB. como cualquier circuito que se ocupa de las seales agrupadas en nmeros binarios, el circuito ms sencillo aadir ms posible fcilmente ser diseado utilizando el enfoque de bitslice. Al centrarse en los requisitos para la adicin de un nico par de bits de dos nmeros binarios de N bits, un desafo de diseo complejo de lo contrario se puede dividir en un problema ms tratable. Una vez que un circuito que puede aadir cualquier par de bits ha sido diseado, que el circuito pueden ser replicados N veces para crear un sumador de N bits.

Hardware multipliers

Multiplicadores basados directamente en arquitecturas sumador, se han vuelto indispensables en la moderna equipos. Circuitos multiplicadores son el modelo de la "cambio y aaden" algoritmo, como se muestra a continuacin. En este algoritmo, un producto parcial se crea para cada bit en el multiplicador - el primer producto parcial es creado por el LSB del multiplicador, el segundo producto parcial es creado por el segundo bit en el multiplicador, etc productos parciales son una copia del multiplicando si el bit multiplicador correspondiente es un '1 ', y todo es 0 si el correspondiente bit multiplicador es '0 '. Cada parcial sucesiva producto se desplaza una posicin de bit a la izquierda.

ALU Circuits

Unidades aritmticas y lgicas (o ALU) se encuentran en el centro de microprocesadores, donde implementan la aritmtica y funciones lgicas ofrecidos por el procesador (por ejemplo, adicin, resta, AND'ing dos valores, etc.) Una ALU es un circuito combinacional que combina muchas lgica comn circuitos en un solo bloque. Tpicamente, las entradas ALU se componen de dos autobuses N bits, un equipaje en y lneas selectas M que seleccionan entre el 2 M Operaciones de ALU. Salidas ALU incluyen Nbit autobs para funcin salida y un llevar cabo.

Procedimiento y Resultados.
Problema 1. Dibuje un diagrama de bloques de un circuito de bits rebanada comparador de magnitud. Crear K-maps para definir el circuito de bit-slice, y los utilizan para encontrar las ecuaciones lgicas ptimas. Dibuje el circuito.

Problema 2. Modifique el diagrama de bloques y el circuito de problemas 1 quitando las puertas lgicas y las seales que forman la salida EQ. Dibuje un diagrama de circuito para un comparador de 4 bits que utiliza los bloques modificados rebanada bits, y aadir una sola puerta para formar la salida del ecualizador de la LT y salidas GT desde el MSB (bit ms significativo). Opina sobre las diferencias en el nuevo circuito (es decir, qu circuito es ms eficiente? Qu es ms fcil de disear y poner en prctica? Lo que podra correr ms rpido? Algo ms?) T

Problema 3. Completar las tablas de verdad y K-mapas de HA y FA circuitos, utilizando patrones de XOR en su caso. Loop ecuaciones SOP mnimos, y esbozar los circuitos (asumen todas las entradas y salidas estn activas alto).
A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 Cout 0 0 0 1 B A 0 1 S= 0 1 1 0 S 0 1 A 0 1 Cout = 0 0 0 1 Cout B 0 1

Full Adder
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Cin 0 1 0 1 0 1 0 1 S Cout 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 B 00 01 11 10 Cin A 0 0 0 1 0

10 1 1 S =A/B*/A

1 S

B 00 01 11 10 Cin 1 1 0 A 0 0

1 0 1 1 Cout =AB+/B

1 Cout

Problema 4. Dibuje un circuito para un sumador completo con un bloque de medio-sumador y una puerta OR.

Problema 5. Completa la tabla de verdad y el K-mapas para un mdulo bit-slice sumador CLA, y dibujar un circuito mnimo SOP (asegrese de usar XOR de su caso!).

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Cin 0 1 0 1 0 1 0 1

P B Cin 00 01 11 10 A

0 1 S= S

B Cin 00 01 11 10 A

B Cin 00 01 11 10 A

0 1 G= G

0 1 P= P

Problema 6. Dibuje un Propagar-Generar Carry circuito que puede formar el carry-ins de CLA de 4 bits.

Entity CLA4 is PORT (A, B: IN Bit_Vector(3 Downto 0); Cin: IN Bit; S: OUT Bit_Vector(3 Downto 0); C3: OUT Bit

); END; Architecture Conc of CLA4 is Signal P, G : Bit_Vector(3 Downto 0); Signal C: Bit_Vector(2 Downto 0) Begin G <= A AND B after 2 ns; P <= A XOR B after 2 ns; S(0) <= P(0) XOR Cin after 2 ns; S(1) <= P(1) XOR C(0) after 2 ns; S(2) <= P(2) XOR C(1) after 2 ns; S(3) <= P(3) XOR C(2) after 2 ns; C(0) <= G(0) OR (P(0) AND Cin) after 4 ns; C(1) <= G(1) OR (P(1) AND G(0)) OR (P(1) AND P(0) AND Cin) after 6 ns; C(2) <= G(2) OR (P(2) AND G(1)) OR (P(2) AND P(1) AND G(0)) OR (P(2) AND P(1) AND P(0) AND Cin) after 8 ns; C3 <= G(3) OR (P(3) AND G(2)) OR (P(3) AND P(2) AND G(1)) OR (P(3) AND P(2) AND P(1) AND G(0)) OR (P(3) and P(2) AND P(1) AND P(0) AND Cin) after 10 ns; end;

Problema 7. Disee un circuito bit-slice full-restador. Marque las entradas A, B, y Bin, y etiquetar las salidas D y Bout. Comience por completar los ejemplos de sustraccin, y luego completar la tabla de verdad y el K-mapas, y luego dibujar el circuito.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Bin 0 1 0 1 0 1 0 1 D Bout 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1 A B Bin 00 01 11 10 A B Bin 00 01 11 10

0 1 1 D= 1

1 1 D

0 1 Bout =

1 1

Bout

Bin

Bout

Problema 8: Completar las conversiones de nmeros indicada. Tenga en cuenta que todos los nmeros binarios son de dos representaciones del complemento. 00010011 11101100 -00000001 11101101= -19 10000000 01111111 -00000001 10000000= -128

10011010 01100101 - 00000001 01100110= -154

01100101 10011010 00000001 10011011 = -101

Problema 9: Completar los cuatro problemas aritmticos de 2 felicitar a continuacin, que muestra tanto la coma decimal y los nmeros binarios en cada caso.

17 - 11 6

0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 11 0

-22 + 6 -16

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

166 0 1 0 1 0 0 1 1 0 - 11 1 1 1 1 1 0 1 0 1 155 1 0 1 0 0 1 1 0 1 1

35 - 42 -7

1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 00 1

19 - -7 26

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

Problema 10: Dibuje un circuito para convertir un nmero binario de 4 bits para la representacin de complemento a la 2. (Pista: se puede utilizar slo 3 puertas XOR / XNOR y 2 y OR Gates?).

Problema 11: Explique cmo las estructuras del circuito de llevar rizado circuito sumador configurado como restador cumplido de un 2 y un restador rizado prestado realizar funciones idnticas.

A B Cin S

A B Bin D

A B Bin D

Cout

Bout

Bout

Full Adder

Full Subtractor

Full Adder configured for subtract

Problema 12: Examine varios ejemplos de la suma y la resta desbordamiento de desbordamiento, y dibujar un circuito de abajo que puede dar salida a '1 'cuando un agregado o resultado de la resta es incorrecto debido a un desbordamiento o desbordamiento. (Sugerencia: comparar el acarreo y realizar seales del bit ms significativo).

Problema 13. Rellena las casillas siguientes para mostrar todos los valores de la seal cuando "1101" y "1010" se multiplican.
B0 B1
P00

B2
P10 P11 P12 P13

B3
P20 P21 P22 P23 P30 P31 P32 P33

P13 P22 A B Cout S P23 P32 A B Cin Cout S

P03 P12 P21 A B Cin Cout S P31

P02 P11 P20 A B Cin Cout S P30

P01 P10 A B Cout S

P00

A0
P01

A1
P02

A2
P03

A3

P33

A B Cin Cout S

A B Cin Cout S

A B Cout S

A3 B3 Cout

A2 B2

A1 B1

A0 B0 Cin

R7

R6

R5

R4

R3

R2 R1 R0

Problema 14. Dibuje un diagrama de bloques de un 4 bits ALU construidas con circuitos bit-slice ALU que pueden implementar las funciones que se muestran en la tabla. Etiquetar todas las seales, y recuerdan que las introducciones en las rodajas de bits deben provenir de la entrada de buses A y B, as como a partir de rodajas de bits vecinos (y salidas deben conducir el bus de salida F, as como vecinos rebanadas de bits). Para el diseo de las seales que comunican informacin entre cortes, debe comprender las operaciones de ALU y las implicaciones para la transferencia de informacin (por ejemplo, la operacin A B PLUS requiere que la informacin se transfiere entre las rebanadas de ser as, qu? La operacin AOB Exigir que la informacin se transfiera?). Operation Code
000 001 010 011 100 101 110 111

ALU function
A PLUS B A PLUS 1 A MINUS B A MINUS 1 A XOR B A A OR B A AND B

Programacin -- Company: -- Engineer: --- Create Date: 19:12:03 05/20/2013 -- Design Name: -- Module Name: alu_ - Behavioral -- Project Name: -- Target Devices: -- Tool versions: -- Description: --- Dependencies: --- Revision: -- Revision 0.01 - File Created -- Additional Comments: ----------------------------------------------------------------------------------library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all;

ENTITY alu8bit IS port(a, b : in std_logic_vector(7 downto 0); op : in std_logic_vector(2 downto 0); -- a and b are busses

zero : out std_logic; f : out std_logic_vector(7 downto 0)); END alu8bit;

architecture behavioral of alu8bit is begin process(op) variable temp: std_logic_vector(7 downto 0); begin case op is when "000" => temp := a and b; when "100" => temp := a and b; when "001" => temp := a or b; when "101" => temp := a or b; when "010" => temp := a + b; when "110" => temp := a - b; when "111" => if a < b then temp := "11111111"; else temp := "00000000"; end if; when others =>

temp := a - b; end case; if temp="00000000" then zero <= '1'; else zero <= '0'; end if; f <= temp; end process; end behavioral; Problema 15. En el ejemplo ALU en el mdulo se afirm que un mux 08:01 podra ser el uso para la salida de F y un 04:01 mux podra ser utilizado para la salida Cout. Dibuje el circuito MUX-based.

Problema 16. Transfiera la mesa de operaciones ALU del mdulo se ha reproducido ms abajo, pero opcode 3 se ha redefinido como "disminucin". Complete las entradas de la tabla F y Cout para definir las funciones lgicas decremento.

Op Code
000 001 010 011

Function
A PLUS B A PLUS 1 A MINUS B A MINUS 1

F A xor B xor Cin A xor Cin A xor B xor Cin

Cout (A and B) or (Cin and (A xor B)) A and Cin (A and B) or (Cin and (A xor B))

100 101 110 111

A XOR B A A OR B A AND B

A xor B A A or B A and B

0 0 0 0

Problema 17. Escribir instrucciones VHDL para definir la operacin de la ALU.

Conclusiones: Anexos:

Bibliografa: http://www.arecibo.inter.edu/servicios/sss/APA6ta.pdf

You might also like