Professional Documents
Culture Documents
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.
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
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
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
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
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
Cout (A and B) or (Cin and (A xor B)) A and Cin (A and B) or (Cin and (A xor B))
A XOR B A A OR B A AND B
A xor B A A or B A and B
0 0 0 0
Conclusiones: Anexos:
Bibliografa: http://www.arecibo.inter.edu/servicios/sss/APA6ta.pdf