Laboratorium 2
Temat: Kombinacyjne układy logiczne (cz.1): sumatory. Zastosowanie komponentów.
1. Sumator jest cyfrowym układem kombinacyjnym, który wykonuje operacje dodawania dwóch
(lub więcej) liczb dwójkowych.
2. Półsumator (HA half adder)
a) tabela prawdy
a,b sumowane bity (in)
SUM suma (out)
CARRY przeniesienie (out)
a b SUM CARRY
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
b) opis analityczny (wyrażenia logiczne)
SUM = a xor b
CARRY = a and b
c) układ:
d) realizacja w języku VHDL:
library IEEE;
use IEEE.std_logic_1164.all;
entity ha is -- ha znaczy half-adder
port(
-- wejscia
a, b : in std_logic;
-- suma
sum : out std_logic;
-- przeniesienie
carry : out std_logic
);
end ha;
architecture ha_a of ha is
begin
sum <= a xor b;
carry <= a and b;
end ha_a;
Projektowanie ukÅ‚adów VLSI © 2005 Copyright by Tomasz FaÅ‚at
3. Pełny sumator (FA - full adder)
a) tabela prawdy
a,b sumowane bity (in)
SUM suma (out)
C przeniesienie (in)
i
C przeniesienie (out)
o
C a b SUM C
i o
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
b) opis analityczny
SUM = a xor b xor C
i
C = (a and b) or (a and C ) or (b and C )
o i i
c) układ:
d) realizacja w języku VHDL
library IEEE;
use IEEE.std_logic_1164.all;
entity fa is -- fa znaczy full-adder
port(
-- wejscia (ci -przeniesienie wej.)
a, b, ci : in std_logic;
-- suma
sum : out std_logic;
-- przeniesienie wyj.
co : out std_logic
);
end fa;
architecture fa_a of fa is
begin
sum <= a xor b xor ci;
co <= (a and b) or (a and ci) or (b and ci);
end fa_a;
Projektowanie ukÅ‚adów VLSI © 2005 Copyright by Tomasz FaÅ‚at
4. Sumator 2-bitowy
a) realizowana funkcja: Q(q q q )= A(a a )+B(b b )
2 1 0 1 0 1 0
b) układ
c) realizacja w języku VHDL
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity sum_3 is
port (
: in std_logic; -- wejscie 1
a1, a0
: in std_logic; -- wejscie 2
b1, b0
-- wyjscie (suma)
q2, q1, q0 : out std_logic
);
end sum_3;
architecture sum_3_a of sum_3 is
component ha is
port(
-- wejscia
a, b : in std_logic;
-- suma
sum : out std_logic;
-- przeniesienie
carry : out std_logic
);
end component;
component fa is
port(
-- wejscia
a, b, ci : in std_logic;
-- suma
sum : out std_logic;
-- przeniesienie
co : out std_logic
);
end component;
signal cc : std_logic;
begin
blok1: ha port map (a=>a0, b=>b0, sum=>q0, carry=>cc);
blok2: fa port map (a=>a1, b=>b1, ci=>cc, sum=>q1, co=>q2);
end sum_3_a;
Projektowanie ukÅ‚adów VLSI © 2005 Copyright by Tomasz FaÅ‚at
5. Komponenty
Przy realizacji sumatora n-bitowego wystarczy zdefiniować (najlepiej w osobnych plikach
projektu) półsumator (ha) i pełny sumator (fa), a następnie wykorzystać je jako komponenty
wewnÄ…trz architektury sumatora n-bitowego.
Deklaracje component informują kompilator, jak wyglądają części składowe (tu: sumatory ha
i fa) układu.
Deklaracja komponentu jest identyczna z deklaracją jednostki, ze słowem kluczowym entity
zastÄ…pionym przez component.
6. Zadania do realizacji w trakcie laboratorium:
a) wykorzystując zdefiniowane komponenty zrealizować 4-bitowy sumator + testbench
b) wykorzystując zdefiniowane komponenty zrealizować sumator MOD15 + testbench
Projektowanie ukÅ‚adów VLSI © 2005 Copyright by Tomasz FaÅ‚at
Wyszukiwarka
Podobne podstrony:
Laboratorium03 KombinacyjneUkładyLogiczneCzęść2DekoderyMultiplekseryRola laboratoriów w świetle wymagań systemów zarządzania jakosciąLaboratorium 3Ćwiczenie laboratoryjne nr 6 materiałyWindows 2 Laboratorium 4bChemia żywnosciCwiczenie laboratoryjne nr 1 wyodrebnianie i badanie własciwosci fizykochemicznych bLaboratorium 3LABORATORIUM CHEMIA I WYTRZYMALOSC MATERIALOW sprawko 1Ustawa o medycznej diagnostyce laboratoryjnejLaboratorium z PO Zestaw 05diagnostyka laboratoryjna w okresie niemowlęcym i dziecięc…Spis Laboratoriówwięcej podobnych podstron