laboratorio de microelectrónica

10
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') then Q <= '0'; elsIf (Clk'EVENT AND Clk='1') then Q <= D;

Upload: manuel-alejandro-choque-fernandez

Post on 01-May-2017

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laboratorio de Microelectrónica

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:

Page 2: Laboratorio de Microelectrónica

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.

Page 3: Laboratorio de Microelectrónica

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.

Page 4: Laboratorio de Microelectrónica

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:

Page 5: Laboratorio de Microelectrónica

Tabla lógica de la simulación

Page 6: Laboratorio de Microelectrónica
Page 7: Laboratorio de Microelectrónica

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:

Page 8: Laboratorio de Microelectrónica

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:

Page 9: Laboratorio de Microelectrónica

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:

Page 10: Laboratorio de Microelectrónica

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’.