Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Desktop / Лекция 3_Комбинационная логика.pptx
Скачиваний:
43
Добавлен:
26.03.2016
Размер:
3.25 Mб
Скачать

Комбинационные асинхронные устройства

Мультиплексор

-- Поведенческое описание на VHDL

process(S, D0, D1) begin

case S is

when "0" => Y <=

D0;

when "1" => Y <=

D1;

when others => Y <=

"U";

41

 

Комбинационные асинхронные устройства

Мультиплексор на четыре входа: варианты

42

Комбинационные

асинхронные устройства

 

 

Мультиплексор на четыре входа:

VHDL- код

 

 

library ieee;

 

 

use ieee.std_logic_1164.all;

 

 

entity mux4 is

 

 

port(a, b, c, d: in std_logic_vector(7 downto 0);

 

 

s: in std_logic_vector(1 downto 0);

 

 

x: out std_logic_vector(7 downto 0));

Input

Outpu

end mux4;

architecture cond_arch of mux4 is

 

t

begin

S

X

x <= a when (s = "00") else

00

a

b when (s = "01") else

01

b

c when (s = "10") else

d;

10

c

end cond_arch;

11

d

 

-- Конструкция when else должна быть исчерпывающей !

43

Комбинационные асинхронные устройства

Дешифратор

В общем случае у дешифратора имеется N входов и 2N выходов. Он выдает единицу строго на один из выходов в зависимости от набора входных значений.

44

Комбинационные асинхронные устройства

Дешифратор 2 х 4

-- описание на

VHDL

 

 

Y0

<= NOT (A0)

AND NOT (A1);

Y1

<= NOT (A0)

AND

A1

;

Y2

<=

A0

AND NOT (A1);

Y3

<=

A0

AND

A1

;

45

Комбинационные асинхронные устройства

Компаратор равенства

выдает один выходной сигнал, показывая, равны ли А и В (A=B).

Схема компаратора равенства: -- описание на VHDL

EQUAL <= XOR (A0,B0) AND

XOR (A1,B1) AND

XOR (A2,B2) AND

XOR (A3,B3);

EQUAL <= '1' when 'A '= 'B' else '0';

if ('A'

= 'B') then

EQUAL

<= '1';

elsif

EQUAL <= '0';

end if;

 

46

Комбинационные асинхронные устройства

Однобитный полусумматор

выдает арифметическую сумму двух однобитных данных:

47

Комбинационные асинхронные устройства

Однобитный полный сумматор

выдает арифметическую сумму двух однобитных данных с переносом от младшего разряда:

48

Комбинационные асинхронные устройства

Сумматор с последовательным переносом

Строится из однобитных полных сумматоров (в первом разряде- однобитный полусумматор)

49

Cпасибо за внимание!

50