laboratorio de microelectrónica

Post on 01-May-2017

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

LABORATORIO DE MICROELECTRÓNICA

FLIP-FLOP D

En la gráfica anterior se muestra el diagrama de un Flip-Flop tipo D, disparador en el flanco de subida de la señal de reloj (clk), y con una entrada asíncrona de reset (rst). Cuando rst=’1’ debe ser puesta en 0 logico, sin considerar la señal de reloj. Cuando rst=’0’, la salida debe copiar la entrada, es decir q<=d, en el momento en que la señal de reloj cambia de ‘0’ a ‘1’ (flanco de subida).

A continuación el programa en VHDL:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity FlipFlopD is Port ( D : in STD_LOGIC; Q : out STD_LOGIC; Clk : in STD_LOGIC; Rst : in STD_LOGIC);end FlipFlopD;

architecture Behavioral of FlipFlopD is

begin

PROCESS (Rst,Clk)begin

if (Rst='1') thenQ <= '0';

elsIf (Clk'EVENT AND Clk='1') thenQ <= D;

end if;end PROCESS;

end Behavioral;

A continuación se realizara la simulación usando la herramienta ISim:

Analizando combinación a combinación:

Cuando la señal de reloj esta en ‘0’ y la señal asíncrona reset en ‘0’ el filp flop se encuentra inactiva. Como se puede observar en esta etapa la señal q esta de color naranja que indica la inactividad del flip flop.

Al momento de haber un flanco de subida la señal de la entrada “d” se copia en la salida “q”

Cuando la señal asíncrona reset es ‘1’ entonces la salida se fuerza a ‘0’.

Full Adder

El diagrama del Full Adder se muestra en la figura anterior.

La tabla lógica del Full adder es como sigue:

En este circuito lógico, “a” y “b” representa los bits de entrada que serán sumadas, “cin” es el bit de entrada de acarreo, “s” es el bit de la suma y “cout” es el bit de salida de acarreo.

El programa en VHDL es como sigue:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity FullADDER is Port ( A : in bit; B : in bit; C1 : in bit; C2 : out bit; O : out bit);end FullADDER;

architecture Behavioral of FullADDER is

begin

O <= A xor B xor C1;C2 <= (A and B) or (A and C1) or (B and C1);

end Behavioral;

A continuación se muestra los resultados de la simulación en ISim:

Tabla lógica de la simulación

Compuerta XOR

La tabla lógica y el circuito de la compuerta XOR (Or exclusiva) se muestra a continuación:

El programa en VHDL es como sigue:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity GateXor is Port ( A : in STD_LOGIC; B : in STD_LOGIC; C : out STD_LOGIC);end GateXor;

architecture Behavioral of GateXor is

begin

C <= A xor B;

end Behavioral;

La simulación ISim:

Según la tabla lógica, la salida “c” será uno cuando la entrada “a” y “b” sean de niveles lógicos distintos:

Compuerta AND:

La tabla lógica y el circuito de la compuerta AND se muestra a continuación:

El programa en VHDL es como sigue:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity GateAnd is Port ( A : in STD_LOGIC; B : in STD_LOGIC; C : out STD_LOGIC);end GateAnd;

architecture Behavioral of GateAnd is

begin

C <= A and B;

end Behavioral;

La simulación en ISim es como sigue:

Según la tabla lógica de la compuerta AND, solo cuando las 2 entradas “a” y “b” sean ‘1’ la salida será entonces ‘1’.

top related