«Работать добросовестно — значит: работать, повышая свою квалификацию, проявляя инициативу в совершенствовании продукции, технологий, организации работ, оказывая не предусмотренную должностными инструкциями помощь другим сотрудникам (включая и руководителей) в общей им всем работе.

ПЦУСБ/Лекция 3 — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Слайд:Сложные логические функции)
Строка 87: Строка 87:
  
  
=== Слайд:Сложные логические функции ===
+
=== Слайд: [http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%88%D0%B8%D1%84%D1%80%D0%B0%D1%82%D0%BE%D1%80 Дешифратор] (DC)===
  
1. Записать таблицу истинности
+
* комбинационная схема, преобразующее n-разрядный двоичныйв <m>k^n</m>-ичный одноединичный (позиционный) код
  
2. Минимизировать функцию (например, с помощью
+
{| width=100%
 +
! http://www.plam.ru/radioel/lekcii_po_shemotehnike/image234.png
 +
|}
  
3. З
+
==== Слайд:Дешифратор (VHDL модель) ====
 +
<source lang="vhdl">
 +
entity dc is
 +
  port (
 +
    x : in  std_logic_vector(2 downto 0);
 +
    y : out std_logic_vector(7 downto 0));
 +
end dc;
 +
 
 +
architecture beh of dc is
 +
begin
 +
  y <=
 +
    "00000001" when x = "000" else
 +
    "00000010" when x = "001" else
 +
    "00000100" when x = "010" else
 +
    "00001000" when x = "011" else
 +
    "00010000" when x = "100" else
 +
    "00100000" when x = "101" else
 +
    "01000000" when x = "110" else
 +
    "10000000" when x = "111" else
 +
    "00000000";
 +
end beh;
 +
</source>
 +
 
 +
 
 +
=== Слайд:Шифратор ===
 +
 
 +
* комбинационная схема, выполняющее преобразование одноединичный (позиционного) n-разрядного кода в m-разрядный двоичный код.
 +
 
 +
{| width=100%
 +
! http://www.plam.ru/radioel/lekcii_po_shemotehnike/image232.png
 +
|}
 +
 
 +
==== Слайд:Шифратор (VHDL модель 1) ====
 +
 
 +
{| class=standard align=center
 +
! VHDL модель 1
 +
! VHDL модель 2
 +
|-
 +
|valign=top|<source lang="vhdl">
 +
entity cd is
 +
 
 +
  port (
 +
    x : in  std_logic_vector(7 downto 0);
 +
    y : out std_logic_vector(2 downto 0));
 +
 
 +
end dc;
 +
 
 +
architecture beh1 of cd is
 +
 
 +
begin 
 +
 
 +
  y <=
 +
    "000" when x(0) = "1" else
 +
    "001" when x(1) = "1" else
 +
    "010" when x(2) = "1" else
 +
    "011" when x(3) = "1" else
 +
    "100" when x(4) = "1" else
 +
    "101" when x(5) = "1" else
 +
    "110" when x(6) = "1" else
 +
    "111" when x(7) = "1" else
 +
    "000";   
 +
 
 +
end beh1;
 +
</source>
 +
|valign=top|<source lang="vhdl">
 +
entity cd is
 +
 
 +
  port (
 +
    x : in  std_logic_vector(7 downto 0);
 +
    y : out std_logic_vector(2 downto 0));
 +
 
 +
end dc;
 +
 
 +
architecture beh2 of cd is
 +
 
 +
begin
 +
 
 +
  y(0) <= x(1) or x(3) or x(5) or x(7);
 +
  y(1) <= x(2) or x(3) or x(6) or x(7);
 +
  y(2) <= x(4) or x(5) or x(6) or x(7);
 +
 
 +
end beh2;
 +
</source>
 +
|}
 +
 
 +
=== Слайд: END ===

Версия 00:16, 20 сентября 2013

Лекции ПЦУСБ

Лекции

Практические
Тесты

Лабораторные

Доп. материалы

Заголовок
Базовые цифровые устройства
Автор
Авдеев Н.А.
Нижний колонтитул
ПЦУСБ/Лекция 3
Дополнительный нижний колонтитул
Авдеев Н.А., 08:44, 9 июня 2014


Содержание

Слайд: Содержание

  • Логические элементы (И, ИЛИ, НЕ, Исключающее ИЛИ)
  • Комбинационные схемы:
    • Дешифратор/Шифратор
    • Мультиплексор/Демультиплексор
  • Последовательные схемы
    • Триггеры
    • Регистры
    • Автоматы
    • Счетчики

Слайд: Логические элементы

В алгебре логики известны три основные логические операции:

  1. Логическое умножение (конъюнкция или операция И). Записывается как F = A Λ B, F = A & B, F = A·B, F = AB, читается – A и B.
  2. Логическое сложение (дизъюнкция или операция ИЛИ). Записывается как F = A V B, F = A | B, F = A+B, читается – F = A или B.
  3. Логическое отрицание (инверсия или операция НЕ). Записывается F = A , читается – F = “не” A.

Слайд:Таблица истинности логических элементов

Image80.gif


Аргументы Логические операции (булевы функции)
А В И ИЛИ НЕ
A·B A+B A B
0 0 0 0 1 1
0 1 0 1 1 0
1 0 0 1 0 1
1 1 1 1 0 0
Операторы VHDL A and B A or B not A not B


Комментарий

Таким образом, выполнение сколь угодно сложной логической операции может быть сведено к трем вышеперечисленным операциям. Следовательно, имея некоторые технические устройства, реализующие операции И, ИЛИ, НЕ, можно построить сколь угодно сложное цифровое устройство. Такие устройства называются соответственно логическими элементами И, ИЛИ, НЕ (рис. 2) и образуют основной базис или функционально полную систему логических элементов.


Слайд: Дешифратор (DC)

  • комбинационная схема, преобразующее n-разрядный двоичныйв -ичный одноединичный (позиционный) код
image234.png

Слайд:Дешифратор (VHDL модель)

entity dc is
  port (
    x : in  std_logic_vector(2 downto 0);
    y : out std_logic_vector(7 downto 0));
end dc;
 
architecture beh of dc is
begin 
  y <=
    "00000001" when x = "000" else
    "00000010" when x = "001" else
    "00000100" when x = "010" else
    "00001000" when x = "011" else
    "00010000" when x = "100" else
    "00100000" when x = "101" else
    "01000000" when x = "110" else
    "10000000" when x = "111" else
    "00000000";
end beh;


Слайд:Шифратор

  • комбинационная схема, выполняющее преобразование одноединичный (позиционного) n-разрядного кода в m-разрядный двоичный код.
image232.png

Слайд:Шифратор (VHDL модель 1)

VHDL модель 1 VHDL модель 2
entity cd is
 
  port (
    x : in  std_logic_vector(7 downto 0);
    y : out std_logic_vector(2 downto 0));
 
end dc;
 
architecture beh1 of cd is
 
begin  
 
  y <=
    "000" when x(0) = "1" else
    "001" when x(1) = "1" else
    "010" when x(2) = "1" else
    "011" when x(3) = "1" else
    "100" when x(4) = "1" else
    "101" when x(5) = "1" else
    "110" when x(6) = "1" else
    "111" when x(7) = "1" else
    "000";    
 
end beh1;
entity cd is
 
  port (
    x : in  std_logic_vector(7 downto 0);
    y : out std_logic_vector(2 downto 0));
 
end dc;
 
architecture beh2 of cd is
 
begin 
 
  y(0) <= x(1) or x(3) or x(5) or x(7);
  y(1) <= x(2) or x(3) or x(6) or x(7);
  y(2) <= x(4) or x(5) or x(6) or x(7);
 
end beh2;

Слайд: END