42168

Тригери. Опис тригерів на мові VHDL

Лабораторная работа

Информатика, кибернетика и программирование

Хід роботи Отримати у викладача завдання на лабораторну роботу відповідно до номера свого варіанту.3 Примітиви тригерів які використовуються пакетом Qurtus II № варіанта dff jkffe Виписати з довідника параметри мікросхем які використовувались при створенні схеми таблиці дійсності та часові діаграми роботи тригерів. Допуском до виконання лабораторної роботи є розроблена електрична принципова схема та часові діаграми її роботи побудовані з врахуванням затримок. При побудові часових діаграм проглянути всі режими роботи схеми.

Украинкский

2013-10-27

225.5 KB

4 чел.

5 Лабораторна робота № 5

Тригери

Мета: Вивчити часові діаграми та схемотехніку тригерів різних типів, навчитися описувати тригери на мові VHDL.

Хід роботи

  1.  Отримати у викладача завдання на лабораторну роботу відповідно до номера свого варіанту.

Таблиця 5.1 – Простійший RS-тригер

№ варіанта

Тип RS-тригера

Мікросхеми для реалізації

  1.  

Синхронний

НЕ, 2И-НЕ

Таблиця 5.2

№ варіанта

JK

D

  1.  

155ТВ1

155ТМ2

Таблиця 5.3 – Примітиви тригерів, які використовуються пакетом Quartus II

№ варіанта

  1.  

dff

jkffe

  1.  Виписати з довідника параметри мікросхем, які використовувались при створенні схеми, таблиці дійсності та часові діаграми роботи тригерів. Синтезувати схему простійшого RS-тригера відповідно до варіанта завдання.
  2.  Зібрати схеми тригерів, вказаних викладачем.
  3.  Виписати таблицю дійсності тригера, який використовується пакетом Quartus II.
  4.  Допуском до виконання лабораторної роботи є розроблена електрична принципова схема та часові діаграми її роботи, побудовані з врахуванням затримок. При побудові часових діаграм проглянути всі режими роботи схеми.
  5.  Створити проект, в якому зібрати схему, видану викладачем. Входи схеми підключити до мікроперемикача, а виходи – до світлодіоду.
  6.  Побудувати часові діаграми роботи проекту. Порівняти з отриманими при виконанні домашнього завдання.
  7.  Написати на мові VHDL програму, яка буде описувати заданий тригер. Завдання наведені в таблиці 5.4.
  8.  Провести симуляцію роботи тригера, де показати всі режими роботи.

Таблиця 5.4 – Варіанти завдань тригерів

Номер варіанта

Тип тригера

Керуючий сигнал

Активні рівні

  1.  

JK

H

H

  1.  Написати на мові VHDL програму, яка буде описувати триггер, який визначено таблицею 5.2.
  2.  Провести симуляцію роботи тригера, де показати всі режими роботи.

Виконання

1. Отримали завдання у викладача.

2. Випишемо з довідника параметри мікросхем та таблиці істиності тригерів.

Таблиця 5.5 – Таблиця істиності тригера 155ТВ1

J

K

Qt

Qt+1

0

0

0

0

0

1

0

0

1

0

0

1

1

1

0

1

0

0

1

1

0

1

1

0

1

0

1

1

1

1

1

0

Таблиця 5.6 – Таблиця істиності тригера 155ТМ2

Таблиця 5. – Параметри мікросхеми 155ТМ2

Таблиця 5.7б - Параметри 155ТВ1

3. Синтезуємо схему RS-тригера та отримаємо часові діаграми роботи.

Рисунок 5.1 – Схема RS-тригера

Рисунок 5.2 – Діаграми роботи RS-тригера

5. Таблиці істиності тригерів

Рисунок 5.3 – Таблиця істиності тригера dff

Рисунок 5.4 – Таблиця істиності тригера jkffe

9. Напишемо на мові VHDL програму, яка буде описувати заданий тригер. Завдання наведені в таблиці 5.4.

library ieee;

use ieee.std_logic_1164.all;

entity JK is

port (clock:in std_logic;

J, K: in std_logic;

reset: in std_logic;

Q: out std_logic);

end JK;

architecture GO of JK is

   signal state: std_logic;

   signal input: std_logic_vector(1 downto 0);

begin

   input <= J & K;  

   p: process(clock, reset) is

   begin

if (reset='0') then

    state <= '0';

elsif (rising_edge(clock)) then

    case (input) is

 when "11" =>

     state <= not state;

 when "10" =>

     state <= '1';

 when "01" =>

     state <= '0';

 when others =>

     null;

 end case;

end if;

   end process;

   Q <= state; end GO;

  1.  Проведемо симуляцію роботи тригера, де показажемо всі режими роботи.

Рисунок 5.5 – Діаграми роботи JK-тригера

11. Напишемо на мові VHDL програми, які будуть описувати триггери, які визначено таблицею 5.2.

library ieee;

use ieee.std_logic_1164.all;

entity TB1 is

port (clock:in std_logic;

J, K: in std_logic;

reset: in std_logic;

Q: out std_logic);

end TB1;

architecture GO of TB1 is

   signal state: std_logic;

   signal input: std_logic_vector(1 downto 0);

begin

   input <= J & K;  

   p: process(clock, reset) is

   begin

if (reset='1') then

    state <= '0';

elsif (rising_edge(clock)) then

    case (input) is

 when "11" =>

     state <= not state;

 when "10" =>

     state <= '1';

 when "01" =>

     state <= '0';

 when others =>

     null;

 end case;

end if;

   end process;

   Q <= state;

end GO;

ENTITY TM2 IS

PORT (

 s:  IN STD_LOGIC;

 r:  IN STD_LOGIC;

 d:  IN STD_LOGIC;

 clk:  IN STD_LOGIC;

 q:  OUT  STD_LOGIC);

END TM2 ;

ARCHITECTURE GO OF TM2 IS

BEGIN

PROCESS (r, s, clk)

BEGIN

 IF s= '0' THEN  q<= '1'; else

  IF r= '0' THEN  q<= '0'; else

   IF (r= '1' and s= '1') THEN

    IF (clk'EVENT AND clk= '1') THEN  q<= d;   END IF; END IF; END IF; END IF; END PROCESS; END GO;

12. Проведемо симуляцію роботи тригерів, де показажемо всі режими роботи.

Рисунок 5.6 – Діаграми роботи тригера ТВ1

Рисунок 5.7 – Діаграми роботи тригера ТM9

Висновок

При виконанні даної лабораторної роботи були вивчені діаграми роботи та схемотехніка різних тригерів. Також навчилися описувати тригери на мові VHDL.

В результаті були описані тригери 155ТВ1, 155ТМ2 та   JK-тригер з високим керуючим та одиничним активним рівнем.

Була синтезована схема простішого асинхронного RS-тригера на єлементах 2И-НЕ та отримані часові діаграми роботи.


 

А также другие работы, которые могут Вас заинтересовать

36419. Приведите классификацию и поясните сущность методов технической линеаризации 38.16 KB
  На выходе звена эта составляющая отфильтровывается низко частотной линейной частью системы.3 если А→∞ z0 x0 становится линейной во всем диапазоне изменения х. Для нелинейности типа зоны нечувствительности наложение на входной сигнал хn последованности импульсов прямоугольной формы с амплитудой А=n делает для постоянной составляющей х0 нелинейную характеристику линейной на участке шириной n12 посл. Она становится линейной уже при А=а.
36420. Электропривод и его место в структуре АСУТП 12.7 KB
  способы обеспечивают контроль за текущим состоянием объекта эффективные алгоритмы управления точные математические модели объектов быстродействие современных средств обработки информации позволяет быстро рассчитать величины управляющих воздействий и выдать их на объект. В настоящее время все больше для управления ЭП используют УВМ и микропроцессоры. При этом функции управления ЭП принимают на себя ВУ АСУТП обычно это МП или микроЭВМ связанные с ЭВМ более высокого уровня. При этом схема управления ЭП содержит только усилительные узлы и...
36421. Символьные вычисления в MatLab 357.5 KB
  Исследование скорости роста символьной функции описывающей некоторые параметры модели объекта анимированная визуализация полученной характеристики. здесь f1 имя функции х имя переменной вводится как строка в апострофах по которой производится дифференцирование n порядок производной. здесь f1_new имя функции х имя переменной вводится как строка по которой производится интегрирование. Здесь f1 имя функции переменной n порядок остаточного члена x имя переменной вводится как строка в апострофах по...
36422. Математические модели геометрического проектирования 312.5 KB
  Для автоматизации процесса построения Rфункции плоского геометрического объекта в виде точечного множества с шагом h можно предложить следующий алгоритм точки принадлежащие объекту отобразить в виде красных точек: А. Тогда по свойству Rфункции имеем Значит в точке с координатами xy рисуем красную точку если Pxy=0. Пример построения поверхности 0уровня Ффункции двух прямоугольников нахождение геометрического места точек касания объектов S1 и S2 1. Тогда поверхность 0уровня Ффункции двух прямоугольников задается четырьмя...
36423. Компьютерное моделирование процессов финансового рынка 292.5 KB
  При нажатии на кнопку Запрос Request вы получите котировки для совершения сделки: Кнопки Купить Buy и Продать Sell стали активными. По правой котировке можно купить Buy а по левой котировке продать Sell. Если в течение этого промежутка времени не было принято решение о сделки то кнопки Купить Buy и Продать Sell снова станут неактивными. Это говорит о том что вы или пытаетесь выставить ордер слишком близко к текущей цене ближе чем величина спрэда по данному инструменту либо неверно выбрали тип ордера Buy Limit Buy Stop...
36424. Компьютерное моделирование физических процессов 161.5 KB
  При этом судьба каждой частицы разыгрывается с помощью случайного выбора а полученные для множества частиц результаты подвергаются статистической обработке. Метод применяется например при проектировании ядерных реакторов детекторов частиц на ускорителях и обработке получаемых результатов а также во многих других случаях скажем при исследовании распространения мутаций в среде живых организмов. Мы будем изучать естественно очень простой вариант задачи прохождение пучка тяжелых частиц через слой газа состоящего из легких...
36425. Имитационное моделирование систем в MatLab Simulink 180.5 KB
  Пример разработки имитационной модели. Построение словарной модели описательная дескриптивная вербальная модель. Сумма налоговых поступлений от предприятий за моделируемый период накапливается на бюджетных счетах и представляется интегралом: где BDt сумма поступивших в бюджет средств от начала моделирования к моменту t руб.
36426. Программирование в MatLab 140.5 KB
  Листинг 1 содержит файлпрограмму для вывода графиков функции на отрезке [22] для значений параметра . Например для вычисления суммы при различных значениях x потребуется файлфункция текст которой приведен на листинге 2. Файлфункция для вычисления суммы function s=sum10x s=0; for k=1:10 s=sx. Файлфункция negsum см.
36427. Работа с матрицами в Matlab 227.5 KB
  Например матрицу можно ввести следующим образом: набрать в командной строке разделяя элементы строки матрицы пробелами: =[0. Элементы каждой следующей строки матрицы набираются через пробел а ввод строки завершается нажатием на Enter . Другой способ ввода матрицы основан на том что матрицу можно рассматривать как векторстолбец каждый элемент которого является строкой матрицы.