ПЦУСБ/Лабораторная работа 1 — различия между версиями
| ANA  (обсуждение | вклад)  (→Задание) | ANA  (обсуждение | вклад)  м (→Рекомендуемый порядок выполнения работы) | ||
| (не показаны 5 промежуточных версий 1 участника) | |||
| Строка 18: | Строка 18: | ||
| === Рекомендуемый порядок выполнения работы === | === Рекомендуемый порядок выполнения работы === | ||
| − | # Определить для каждой функции <m>f</m> системы форму  | + | # Определить для каждой функции <m>f</m> системы форму её реализации — прямую <m>f</m> или инверсную <m>\overline{f}</m> . | 
| # Минимизировать функцию, применив любой известный метод минимизации, например, с помощью карт Карно, диаграмм двоичного выбора и т. д. | # Минимизировать функцию, применив любой известный метод минимизации, например, с помощью карт Карно, диаграмм двоичного выбора и т. д. | ||
| − | # Составить VHDL-модель,  | + | # Составить первую VHDL-модель по таблице истинности, используя оператор <code>when ... else</code> и оператор назначения сигнала (<=). | 
| − | # Составить тестирующую программу, порядок подачи тестирующие воздействий должен соответствовать порядку наборов из левой части таблицы истинности. | + | # Составить вторую VHDL-модель, описав минимизированную логическую функцию с помощью логических операторов (not, and, or, xor) и оператора назначения сигнала (<=). | 
| + | # Составить тестирующую программу, порядок подачи тестирующие воздействий должен соответствовать порядку наборов из левой части таблицы истинности.   | ||
| + | # Дополнительные требования:  | ||
| + | #* в интерфейсе VHDL-моделей 1 и 2 для входных/выходных портов использовать тип std_logic или std_logic_vector. | ||
| + | |||
| + | |||
| + | {{Hider|Супер шпаргалка}} | ||
| + | |||
| + | Задание: | ||
| + | |||
| + |  y(1:0) x(2:0) | ||
| + |  10     210 | ||
| + |  ---------- | ||
| + |  11     000 | ||
| + |  01     001 | ||
| + |  01     010 | ||
| + |  00     011 | ||
| + |  10     100 | ||
| + |  00     101 | ||
| + |  01     110 | ||
| + |  00     111 | ||
| + | |||
| + |  y1 = ^x1 * ^x0 | ||
| + |  y0 = ^x2 * ^x1 + x1 * ^x0 | ||
| + | |||
| + | <m>y_1 = \overline{x}_1 \overline{x}_0</m> | ||
| + | |||
| + | <m>y_0 = \overline{x}_2 * \overline{x}_1 + x_1 * \overline{x}_0</m> | ||
| + | |||
| + | Решение: | ||
| + | |||
| + | {{Hider|Листинг VHDL модели по таблице истинности (файл block1.vhd)}} | ||
| + | {{Файл|block1.vhd| | ||
| + | <source lang="vhdl"> | ||
| + | library ieee; | ||
| + | use ieee.std_logic_1164.all; | ||
| + | |||
| + | entity block1 is | ||
| + | |||
| + |   port ( | ||
| + |     x : in  std_logic_vector(2 downto 0); | ||
| + |     y : out std_logic_vector(1 downto 0)); | ||
| + | |||
| + | end block1; | ||
| + | |||
| + | architecture tabl of block1 is | ||
| + | |||
| + | begin  -- tabl | ||
| + | |||
| + |   y <= | ||
| + |     "11" when x = "000" else | ||
| + |     "01" when x = "001" else | ||
| + |     "01" when x = "010" else | ||
| + |     "00" when x = "011" else | ||
| + |     "10" when x = "100" else | ||
| + |     "00" when x = "101" else | ||
| + |     "01" when x = "110" else | ||
| + |     "00" when x = "111" else | ||
| + |     "XX"; | ||
| + | |||
| + | end tabl; | ||
| + | </source> | ||
| + | }} | ||
| + | {{Hider|end}} | ||
| + | |||
| + | |||
| + | {{Hider|Листинг VHDL-модели по минимизированной системе логических функций (файл block2.vhd)}} | ||
| + | {{Файл|block2.vhd| | ||
| + | <source lang="vhdl"> | ||
| + | library ieee; | ||
| + | use ieee.std_logic_1164.all; | ||
| + | |||
| + | entity block2 is | ||
| + | |||
| + |   port ( | ||
| + |     x : in  std_logic_vector(2 downto 0); | ||
| + |     y : out std_logic_vector(1 downto 0)); | ||
| + | |||
| + | end block2; | ||
| + | |||
| + | architecture beh of block2 is | ||
| + | |||
| + | begin  -- beh | ||
| + | |||
| + |   y(0) <= (not x(2) and not x(1)) or (x(1) and not x(0)); | ||
| + |   y(1) <= not x(1) and not x(0); | ||
| + | |||
| + | end beh; | ||
| + | </source> | ||
| + | }} | ||
| + | {{Hider|end}} | ||
| + | |||
| + | |||
| + | {{Hider|Листинг тестбенча (файл blocks_tb.vhd)}} | ||
| + | {{Файл|blocks_tb.vhd| | ||
| + | <source lang="vhdl"> | ||
| + | library ieee; | ||
| + | use ieee.std_logic_1164.all; | ||
| + | |||
| + | ------------------------------------------------------------------------------- | ||
| + | |||
| + | entity blocks_tb is | ||
| + | end blocks_tb; | ||
| + | |||
| + | ------------------------------------------------------------------------------- | ||
| + | |||
| + | architecture tb of blocks_tb is | ||
| + | |||
| + |   component block1 | ||
| + |     port ( | ||
| + |       x : in  std_logic_vector(2 downto 0); | ||
| + |       y : out std_logic_vector(1 downto 0)); | ||
| + |   end component; | ||
| + | |||
| + |   component block2 | ||
| + |     port ( | ||
| + |       x : in  std_logic_vector(2 downto 0); | ||
| + |       y : out std_logic_vector(1 downto 0)); | ||
| + |   end component; | ||
| + | |||
| + |   -- component ports | ||
| + |   signal x : std_logic_vector(2 downto 0) := "000"; | ||
| + |   signal y1 : std_logic_vector(1 downto 0); | ||
| + |   signal y2 : std_logic_vector(1 downto 0); | ||
| + | |||
| + |   signal ok : std_logic; | ||
| + | |||
| + | begin  -- tb | ||
| + | |||
| + |   -- component instantiation | ||
| + |   DUT1: block1 | ||
| + |     port map ( | ||
| + |       x => x, | ||
| + |       y => y1); | ||
| + | |||
| + |   -- component instantiation | ||
| + |   DUT2: block2 | ||
| + |     port map ( | ||
| + |       x => x, | ||
| + |       y => y2); | ||
| + | |||
| + |   x(0) <= not x(0) after 10 ns; | ||
| + |   x(1) <= not x(1) after 20 ns; | ||
| + |   x(2) <= not x(2) after 40 ns; | ||
| + | |||
| + |   ok <= | ||
| + |     '1' when y1 = y2 else | ||
| + |     'X'; | ||
| + | |||
| + | end tb; | ||
| + | </source> | ||
| + | }} | ||
| + | {{Hider|end}} | ||
| + | |||
| + | [http://www.bsuir.by/vhdl/wp-content/uploads/2013/labs/lab01_screencast.flv Скринкаст] выполнения лабораторной работы в сокращенном объеме... | ||
| + | |||
| + | <html> | ||
| + | <object  width="1024" height="768"> | ||
| + |      <param name="movie" value="/wiki/extensions/FlvHandler/flowplayer/flowplayer-3.1.3.swf" /> | ||
| + |      <param name="allowfullscreen" value="true" /> | ||
| + |      <embed type="application/x-shockwave-flash" | ||
| + |             width="1024" height="768" | ||
| + |            allowfullscreen="true" | ||
| + |            src="/wiki/extensions/FlvHandler/flowplayer/flowplayer-3.1.3.swf" | ||
| + |            flashvars='config={"playlist":[ {"url":"http://www.bsuir.by/vhdl/wp-content/uploads/2013/labs/lab01_screencast.flv","autoPlay":false,"fadeInSpeed":0} ] }' /> | ||
| + | </object> | ||
| + | </html> | ||
| + | |||
| + | {{Hider|end}} | ||
| === Требования к оформлению отчета === | === Требования к оформлению отчета === | ||
| + | Отчет должен содержать: | ||
| + | # Исходную таблицу истинности | ||
| + | # Описание метода минимизации (для карт Карно: заполненные карты с обозначенными и пронумерованными областями оптимизации) и результирующее логическое выражение. | ||
| + | # Текст VHDL-модели 1, реализующей заданную функцию по таблице истинности | ||
| + | # Текст VHDL-модели 2, реализующей заданную функцию по минимизированным логическим уравнениям | ||
| + | # Текст VHDL-модели тестирующей программы (тестбенч) для всех наборов входных переменных, соответствующих таблице истинности. | ||
| + | # Временные диаграммы, соответствующие тестирующей программе, основных сигналов проекта (входные воздействия (сигнал <code>X</code>), выходные реакции VHDL-моделей: <code>Y1</code>, <code>Y2</code>, результат сравнения (сигнал <code>Ok</code>)). | ||
| + | |||
| + | == Задания == | ||
| + | {{SideBar40|'''Варианты 1-11''' выполняются для группы '''013202'''.  | ||
| + | |||
| + | '''Варианты 15-40''' для группы '''013201''' (формула для расчета N+14, где N – номер по журналу; список группы у старосты.)}} | ||
| + | <center> | ||
| + | {| class=standard align=center cellspacing="2" cellpadding="5" style="text-align: center" | ||
| + | |- | ||
| + | ! Входы | ||
| + | ! Вариант 1 | ||
| + | ! Вариант 2 | ||
| + | ! Вариант 3 | ||
| + | ! Вариант 4 | ||
| + | ! Вариант 5 | ||
| + | ! Вариант 6 | ||
| + | ! Вариант 7 | ||
| + | ! Вариант 8 | ||
| + | |- | ||
| + | ! x(3:0) | ||
| + | ! a(2:0) | ||
| + | ! b(2:0) | ||
| + | ! c(2:0) | ||
| + | ! d(2:0) | ||
| + | ! e(2:0) | ||
| + | ! f(2:0) | ||
| + | ! g(2:0) | ||
| + | ! h(2:0) | ||
| + | |- | ||
| + | | 0 0 0 0 | ||
| + | |||
| + | 0 0 0 1 | ||
| + | |||
| + | 0 0 1 0 | ||
| + | |||
| + | 0 0 1 1 | ||
| + | |||
| + | 0 1 0 0 | ||
| + | |||
| + | 0 1 0 1 | ||
| + | |||
| + | 0 1 1 0 | ||
| + | |||
| + | 0 1 1 1 | ||
| + | |||
| + | 1 0 0 0 | ||
| + | |||
| + | 1 0 0 1 | ||
| + | |||
| + | 1 0 1 0 | ||
| + | |||
| + | 1 0 1 1 | ||
| + | |||
| + | 1 1 0 0 | ||
| + | |||
| + | 1 1 0 1 | ||
| + | |||
| + | 1 1 1 0 | ||
| + | |||
| + | 1 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| class=standard align=center cellspacing="2" cellpadding="5" style="text-align: center" | ||
| + | |- | ||
| + | ! Входы | ||
| + | ! Вариант 9 | ||
| + | ! Вариант 10 | ||
| + | ! Вариант 11 | ||
| + | ! Вариант 12 | ||
| + | ! Вариант 13 | ||
| + | ! Вариант 14 | ||
| + | ! Вариант 15 | ||
| + | ! Вариант 16 | ||
| + | |- | ||
| + | ! x(3:0) | ||
| + | ! a(2:0) | ||
| + | ! b(2:0) | ||
| + | ! c(2:0) | ||
| + | ! d(2:0) | ||
| + | ! e(2:0) | ||
| + | ! f(2:0) | ||
| + | ! g(2:0) | ||
| + | ! h(2:0) | ||
| + | |- | ||
| + | | 0 0 0 0 | ||
| + | |||
| + | 0 0 0 1 | ||
| + | |||
| + | 0 0 1 0 | ||
| + | |||
| + | 0 0 1 1 | ||
| + | |||
| + | 0 1 0 0 | ||
| + | |||
| + | 0 1 0 1 | ||
| + | |||
| + | 0 1 1 0 | ||
| + | |||
| + | 0 1 1 1 | ||
| + | |||
| + | 1 0 0 0 | ||
| + | |||
| + | 1 0 0 1 | ||
| + | |||
| + | 1 0 1 0 | ||
| + | |||
| + | 1 0 1 1 | ||
| + | |||
| + | 1 1 0 0 | ||
| + | |||
| + | 1 1 0 1 | ||
| + | |||
| + | 1 1 1 0 | ||
| + | |||
| + | 1 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| class=standard align=center cellspacing="2" cellpadding="5" style="text-align: center" | ||
| + | |- | ||
| + | ! Входы | ||
| + | ! Вариант 17 | ||
| + | ! Вариант 18 | ||
| + | ! Вариант 19 | ||
| + | ! Вариант 20 | ||
| + | ! Вариант 21 | ||
| + | ! Вариант 22 | ||
| + | ! Вариант 23 | ||
| + | ! Вариант 24 | ||
| + | |- | ||
| + | ! x(3:0) | ||
| + | ! a(2:0) | ||
| + | ! b(2:0) | ||
| + | ! c(2:0) | ||
| + | ! d(2:0) | ||
| + | ! e(2:0) | ||
| + | ! f(2:0) | ||
| + | ! g(2:0) | ||
| + | ! h(2:0) | ||
| + | |- | ||
| + | | 0 0 0 0 | ||
| + | |||
| + | 0 0 0 1 | ||
| + | |||
| + | 0 0 1 0 | ||
| + | |||
| + | 0 0 1 1 | ||
| + | |||
| + | 0 1 0 0 | ||
| + | |||
| + | 0 1 0 1 | ||
| + | |||
| + | 0 1 1 0 | ||
| + | |||
| + | 0 1 1 1 | ||
| + | |||
| + | 1 0 0 0 | ||
| + | |||
| + | 1 0 0 1 | ||
| + | |||
| + | 1 0 1 0 | ||
| + | |||
| + | 1 0 1 1 | ||
| + | |||
| + | 1 1 0 0 | ||
| + | |||
| + | 1 1 0 1 | ||
| + | |||
| + | 1 1 1 0 | ||
| + | |||
| + | 1 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 1 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| class=standard align=center cellspacing="2" cellpadding="5" style="text-align: center" | ||
| + | |- | ||
| + | ! Входы | ||
| + | ! Вариант 25 | ||
| + | ! Вариант 26 | ||
| + | ! Вариант 27 | ||
| + | ! Вариант 28 | ||
| + | ! Вариант 29 | ||
| + | ! Вариант 30 | ||
| + | ! Вариант 31 | ||
| + | ! Вариант 32 | ||
| + | |- | ||
| + | ! x(3:0) | ||
| + | ! a(2:0) | ||
| + | ! b(2:0) | ||
| + | ! c(2:0) | ||
| + | ! d(2:0) | ||
| + | ! e(2:0) | ||
| + | ! f(2:0) | ||
| + | ! g(2:0) | ||
| + | ! h(2:0) | ||
| + | |- | ||
| + | | 0 0 0 0 | ||
| + | |||
| + | 0 0 0 1 | ||
| + | |||
| + | 0 0 1 0 | ||
| + | |||
| + | 0 0 1 1 | ||
| + | |||
| + | 0 1 0 0 | ||
| + | |||
| + | 0 1 0 1 | ||
| + | |||
| + | 0 1 1 0 | ||
| + | |||
| + | 0 1 1 1 | ||
| + | |||
| + | 1 0 0 0 | ||
| + | |||
| + | 1 0 0 1 | ||
| + | |||
| + | 1 0 1 0 | ||
| + | |||
| + | 1 0 1 1 | ||
| + | |||
| + | 1 1 0 0 | ||
| + | |||
| + | 1 1 0 1 | ||
| + | |||
| + | 1 1 1 0 | ||
| + | |||
| + | 1 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| class=standard align=center cellspacing="2" cellpadding="5" style="text-align: center" | ||
| + | |- | ||
| + | ! Входы | ||
| + | ! Вариант 33 | ||
| + | ! Вариант 34 | ||
| + | ! Вариант 35 | ||
| + | ! Вариант 36 | ||
| + | ! Вариант 37 | ||
| + | ! Вариант 38 | ||
| + | ! Вариант 39 | ||
| + | ! Вариант 40 | ||
| + | |- | ||
| + | ! x(3:0) | ||
| + | ! a(2:0) | ||
| + | ! b(2:0) | ||
| + | ! c(2:0) | ||
| + | ! d(2:0) | ||
| + | ! e(2:0) | ||
| + | ! f(2:0) | ||
| + | ! g(2:0) | ||
| + | ! h(2:0) | ||
| + | |- | ||
| + | | 0 0 0 0 | ||
| + | |||
| + | 0 0 0 1 | ||
| + | |||
| + | 0 0 1 0 | ||
| + | |||
| + | 0 0 1 1 | ||
| + | |||
| + | 0 1 0 0 | ||
| + | |||
| + | 0 1 0 1 | ||
| + | |||
| + | 0 1 1 0 | ||
| + | |||
| + | 0 1 1 1 | ||
| + | |||
| + | 1 0 0 0 | ||
| + | |||
| + | 1 0 0 1 | ||
| + | |||
| + | 1 0 1 0 | ||
| + | |||
| + | 1 0 1 1 | ||
| + | |||
| + | 1 1 0 0 | ||
| + | |||
| + | 1 1 0 1 | ||
| + | |||
| + | 1 1 1 0 | ||
| + | |||
| + | 1 1 1 1 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 0 1 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | | 0 0 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 0 1 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 0 | ||
| + | | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 1 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 0 0 0 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 1 | ||
| + | |||
| + | 1 1 1 | ||
| + | |||
| + | 0 0 1 | ||
| + | |||
| + | 1 0 0 | ||
| + | |||
| + | 1 0 1 | ||
| − | + | 0 0 0 | |
| − | + | |} | |
| − | + | </center> | |
Текущая версия на 21:44, 13 сентября 2013
- Лабораторная работа 1
- Лабораторная работа 2
- Лабораторная работа 3
- Лабораторная работа 4
| Содержание | 
Описание и моделирование системы логических функций
Задание
По таблице истинности системы логических функций составить две VHDL-модели и сравнить их на эквивалентность, выполнив моделирование на всех наборах значений входных переменных. Первая VHDL-модель системы функций должна быть построена по таблице истинности. Вторая VHDL-модель должна быть построена по минимизированной логической функции (также учитывать возможность реализации инверсии функции). Тестбенч должен:
- иметь структуру, показанную на рисунке 1, включающую 2 компонента (две VHDL модели, реализующих заданную систему функций)
- выполнять подачу входных воздействий
- выполнять сравнение выходных сигналов с VHDL моделей системы функций.
|  | 
|---|
| Рисунок 1 – Структурная схема тестбенча (Edit) | 
Рекомендуемый порядок выполнения работы
- Определить для каждой функции системы форму её реализации — прямую или инверсную .
- Минимизировать функцию, применив любой известный метод минимизации, например, с помощью карт Карно, диаграмм двоичного выбора и т. д.
-  Составить первую VHDL-модель по таблице истинности, используя оператор when ... elseи оператор назначения сигнала (<=).
- Составить вторую VHDL-модель, описав минимизированную логическую функцию с помощью логических операторов (not, and, or, xor) и оператора назначения сигнала (<=).
- Составить тестирующую программу, порядок подачи тестирующие воздействий должен соответствовать порядку наборов из левой части таблицы истинности.
-  Дополнительные требования: 
- в интерфейсе VHDL-моделей 1 и 2 для входных/выходных портов использовать тип std_logic или std_logic_vector.
 
Задание:
y(1:0) x(2:0) 10 210 ---------- 11 000 01 001 01 010 00 011 10 100 00 101 01 110 00 111
y1 = ^x1 * ^x0 y0 = ^x2 * ^x1 + x1 * ^x0
Решение:
| Файл: block1.vhd | 
| library ieee; use ieee.std_logic_1164.all; entity block1 is port ( x : in std_logic_vector(2 downto 0); y : out std_logic_vector(1 downto 0)); end block1; architecture tabl of block1 is begin -- tabl y <= "11" when x = "000" else "01" when x = "001" else "01" when x = "010" else "00" when x = "011" else "10" when x = "100" else "00" when x = "101" else "01" when x = "110" else "00" when x = "111" else "XX"; end tabl; | 
| Файл: block2.vhd | 
| library ieee; use ieee.std_logic_1164.all; entity block2 is port ( x : in std_logic_vector(2 downto 0); y : out std_logic_vector(1 downto 0)); end block2; architecture beh of block2 is begin -- beh y(0) <= (not x(2) and not x(1)) or (x(1) and not x(0)); y(1) <= not x(1) and not x(0); end beh; | 
| Файл: blocks_tb.vhd | 
| library ieee; use ieee.std_logic_1164.all; ------------------------------------------------------------------------------- entity blocks_tb is end blocks_tb; ------------------------------------------------------------------------------- architecture tb of blocks_tb is component block1 port ( x : in std_logic_vector(2 downto 0); y : out std_logic_vector(1 downto 0)); end component; component block2 port ( x : in std_logic_vector(2 downto 0); y : out std_logic_vector(1 downto 0)); end component; -- component ports signal x : std_logic_vector(2 downto 0) := "000"; signal y1 : std_logic_vector(1 downto 0); signal y2 : std_logic_vector(1 downto 0); signal ok : std_logic; begin -- tb -- component instantiation DUT1: block1 port map ( x => x, y => y1); -- component instantiation DUT2: block2 port map ( x => x, y => y2); x(0) <= not x(0) after 10 ns; x(1) <= not x(1) after 20 ns; x(2) <= not x(2) after 40 ns; ok <= '1' when y1 = y2 else 'X'; end tb; | 
Скринкаст выполнения лабораторной работы в сокращенном объеме...
Требования к оформлению отчета
Отчет должен содержать:
- Исходную таблицу истинности
- Описание метода минимизации (для карт Карно: заполненные карты с обозначенными и пронумерованными областями оптимизации) и результирующее логическое выражение.
- Текст VHDL-модели 1, реализующей заданную функцию по таблице истинности
- Текст VHDL-модели 2, реализующей заданную функцию по минимизированным логическим уравнениям
- Текст VHDL-модели тестирующей программы (тестбенч) для всех наборов входных переменных, соответствующих таблице истинности.
-  Временные диаграммы, соответствующие тестирующей программе, основных сигналов проекта (входные воздействия (сигнал X), выходные реакции VHDL-моделей:Y1,Y2, результат сравнения (сигналOk)).
Задания
Варианты 1-11 выполняются для группы 013202.
Варианты 15-40 для группы 013201 (формула для расчета N+14, где N – номер по журналу; список группы у старосты.)
| Входы | Вариант 1 | Вариант 2 | Вариант 3 | Вариант 4 | Вариант 5 | Вариант 6 | Вариант 7 | Вариант 8 | 
|---|---|---|---|---|---|---|---|---|
| x(3:0) | a(2:0) | b(2:0) | c(2:0) | d(2:0) | e(2:0) | f(2:0) | g(2:0) | h(2:0) | 
| 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 | 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1 | 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 | 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 0 | 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 1 0 | 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 | 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1 | 
| Входы | Вариант 9 | Вариант 10 | Вариант 11 | Вариант 12 | Вариант 13 | Вариант 14 | Вариант 15 | Вариант 16 | 
|---|---|---|---|---|---|---|---|---|
| x(3:0) | a(2:0) | b(2:0) | c(2:0) | d(2:0) | e(2:0) | f(2:0) | g(2:0) | h(2:0) | 
| 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 | 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 | 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 1 | 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 | 0 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 | 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 | 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 | 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 | 
| Входы | Вариант 17 | Вариант 18 | Вариант 19 | Вариант 20 | Вариант 21 | Вариант 22 | Вариант 23 | Вариант 24 | 
|---|---|---|---|---|---|---|---|---|
| x(3:0) | a(2:0) | b(2:0) | c(2:0) | d(2:0) | e(2:0) | f(2:0) | g(2:0) | h(2:0) | 
| 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 | 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1 1 1 0 | 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 0 | 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 | 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 1 0 | 1 1 0 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 | 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 | 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 | 
| Входы | Вариант 25 | Вариант 26 | Вариант 27 | Вариант 28 | Вариант 29 | Вариант 30 | Вариант 31 | Вариант 32 | 
|---|---|---|---|---|---|---|---|---|
| x(3:0) | a(2:0) | b(2:0) | c(2:0) | d(2:0) | e(2:0) | f(2:0) | g(2:0) | h(2:0) | 
| 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 | 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1 | 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 | 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 | 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 1 | 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 | 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 | 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 | 
| Входы | Вариант 33 | Вариант 34 | Вариант 35 | Вариант 36 | Вариант 37 | Вариант 38 | Вариант 39 | Вариант 40 | 
|---|---|---|---|---|---|---|---|---|
| x(3:0) | a(2:0) | b(2:0) | c(2:0) | d(2:0) | e(2:0) | f(2:0) | g(2:0) | h(2:0) | 
| 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 | 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 | 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 | 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 | 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 0 | 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 | 1 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 | 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 0 0 | 

