shpora2010oct17_2011
.pdf
Рис. 2.9 Схемотехнічний символ RS -тригера
Рис. 2.10 Функціональна схема RS -тригера
Рис. 2.11 Часова діаграма роботи RS -тригера
2.3 D-тригер, що спрацьовує по тілу
Намалювати символ та таблицю істинності D-тригера, що спрацьовує по тілу,
та часову діаграму зміни його стану, якщо на протязі 8 тактів роботи на його вхід D
подається послідовність сигналів, яка представлена 16-ковим числом 5A, а високий рівень на вході С починається посередині 1, 3, 5, 7 тактів і закінчується посередині
2, 4, 6, та 8 тактів. Послідовність починається з старших розрядів двійкового коду,
які на протязі такту не змінюються. Початковий стан тригера невизначений.
Відповідь:
5A16 = 0101 10102;
02 – низький рівень на часовій діаграмі;
12 – високий рівень на часовій діаграмі.
Таблиця 2.3 - Таблиця істинності D-тригера, що спрацьовує по тілу
№ |
C |
Qt |
0 |
0 |
Qt-1 |
1 |
1 |
D |
|
|
11 |
Рис. 2.12 Схемотехнічний символ D-тригера, що спрацьовує по тілу
Рис. 2.13 Часова діаграма роботи D-тригера, що спрацьовує по тілу Примітка. VHDL-опис D-тригера, що спрацьовує по тілу (назва цього тригера
– latch).
library IEEE;
use IEEE.STD_LOGIC_1164.all; entity latch is
port (
C : in std_logic; D : in std_logic; nQ : out std_logic; Q : out std_logic
); end entity;
architecture latch_arch of latch is signal TEMP_Q: std_logic;
begin
process (C, D) begin
if C = '1' then TEMP_Q <= D;
end if; end process;
Q <= TEMP_Q; nQ <= not TEMP_Q;
end architecture;
2.4 D-тригер, що спрацьовує по фронту
Намалювати символ та таблицю істинності D-тригера, що спрацьовує по фронту, та часову діаграму зміни його стану, якщо на протязі 8 тактів роботи на його вхід D подається послідовність сигналів, яка представлена 16-ковим числом
5A, а високий рівень на вході С починається посередині 1, 3, 5, 7 тактів і закінчується посередині 2, 4, 6, та 8 тактів. Послідовність починається з старших
12
розрядів двійкового коду, які на протязі такту не змінюються. Початковий стан тригера невизначений.
Відповідь:
5A16 = 0101 10102;
02 – низький рівень на часовій діаграмі;
12 – високий рівень на часовій діаграмі.
Таблиця 2.4 - Таблиця істинності D-тригера, що спрацьовує по фронту
Рис. 2.14 Схемотехнічний символ D-тригера, що спрацьовує по фронту
Рис. 2.15 Часова діаграма роботи D-тригера, що спрацьовує по фронту Примітка 1. Функціональна схема D-тригера, що спрацьовує по фронту
13
Рис. 2.16 Функціональна схема D-тригера, що спрацьовує по фронту Примітка 2. VHDL-опис D-тригера, що спрацьовує по фронту (назва цього
тригера – ffd).
library IEEE;
use IEEE.std_logic_1164.all; entity ffd is
port (
C : in std_logic; D : in std_logic; nQ : out std_logic; Q : out std_logic
); end entity;
architecture ffd_arch of ffd is signal TEMP_Q: std_logic;
begin
process (C) begin
if rising_edge(C) then TEMP_Q <= D;
end if; end process;
Q <= TEMP_Q; nQ <= not TEMP_Q;
end ffd_arch;
2.5 Т-тригер
Намалювати символ та таблицю істинності JK-тригера та часову діаграму зміни його стану, якщо на протязі 8 тактів роботи на його вхід C подається
14
послідовність сигналів, яка представлена 16-ковим числом 56. Послідовність починається з старших розрядів двійкового коду, які на протязі такту не змінюються. Початковий стан тригера 0.
Відповідь:
5616 = 0101 01102;
02 – низький рівень на часовій діаграмі;
12 – високий рівень на часовій діаграмі.
Таблиця 2.5 - Таблиця істинності Т-тригера
Qt 1
Рис. 2.17 Схемотехнічний символ Т-тригера
Рис. 2.18 Часова діаграма роботи Т-тригера Примітка. VHDL-опис Т-тригера (назва цього тригера – fft).
library IEEE;
use IEEE.std_logic_1164.all; entity fft is
port (
C : in std_logic; nQ : out std_logic; Q : out std_logic
); end entity;
architecture fft_arch of fft is signal TEMP_Q: std_logic;
begin
process (C) begin
if rising_edge(C) then
TEMP_Q <= not TEMP_Q;
15
end if; end process;
Q <= TEMP_Q; nQ <= not TEMP_Q;
end fft_arch;
2.6 T-тригер з входом дозволу роботи
Намалювати символ та таблицю істинності Т-тригера з входом дозволу роботи CE та часову діаграму зміни його стану, якщо на протязі 8 тактів роботи на вхід CE подається послідовність сигналів, яка представлена 16-ковим числом 5A, а
високий рівень на вході С починається посередині 1, 3, 5, 7 тактів і закінчується посередині 2, 4, 6, та 8 тактів. Послідовність починається з старших розрядів двійкового коду, які на протязі такту не змінюються. Початковий стан тригера - 0.
Відповідь:
5A16 = 0101 10102;
02 – низький рівень на часовій діаграмі;
12 – високий рівень на часовій діаграмі.
Таблиця 2.6 - Таблиця істинності Т-тригера з входом дозволу роботи
Qt 1
Рис. 2.19 Схемотехнічний символ Т-тригера з входом дозволу роботи
Рис. 2.20 Часова діаграма роботи Т-тригера з входом дозволу роботи
16
Примітка. VHDL-опис Т-тригера з входом дозволу роботи (назва цього
тригера – fftce).
library IEEE;
use IEEE.std_logic_1164.all; entity fftce is
port (
CE : in std_logic; C : in std_logic; nQ : out std_logic; Q : out std_logic
); end entity;
architecture fftce_arch of fftce is
signal TEMP_Q: std_logic := '0';
begin
process (C) begin
if CE = '1' then
if rising_edge(C) then
TEMP_Q <= not TEMP_Q; end if;
end if; end process;
Q <= TEMP_Q; nQ <= not TEMP_Q;
end fftce_arch;
2.7 JK-тригер
Намалювати символ та таблицю істинності JK-тригера та часову діаграму зміни його станів, якщо на протязі 8 тактів роботи на його входи подається послідовність сигналів, яка представлена 16-ковими числами: 7A на вході K, та B9
на вході J, а високий рівень на вході С починається посередині 1, 3, 5, 7 тактів і закінчується посередині 2, 4, 6, та 8 тактів. Послідовність починається з старших розрядів двійкового коду, які на протязі такту не змінюються. Початковий стан тригера 0.
Відповідь:
7A16 = 0111 10102;
B916 = 1011 10012;
02 – низький рівень на часовій діаграмі;
12 – високий рівень на часовій діаграмі.
17
Таблиця 2.7 - Таблиця істинності JK-тригера
№ |
|
C |
J |
K |
|
Qt |
|||
0 |
0 |
|
X |
X |
|
Qt-1 |
|||
1 |
1 |
|
X |
X |
|
Qt-1 |
|||
2 |
|
|
|
|
X |
X |
|
Qt-1 |
|
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
0 |
0 |
|
Qt-1 |
|
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
0 |
1 |
0 |
||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
1 |
0 |
1 |
||
|
|
|
|
||||||
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
1 |
1 |
|
|
t 1 |
|
|
|
|
|
Q |
||||
|
|
|
|
||||||
|
|
|
|
||||||
Рис. 2.21 Схемотехнічний символ JK-тригера
Рис. 2.22 Часова діаграма роботи JK-тригера Примітка. VHDL-опис JK-тригера (назва цього тригера – ffjk).
library IEEE;
use IEEE.std_logic_1164.all; entity ffjk is
port (
CLK : in std_logic; j : in std_logic;
K : in std_logic; nQ : out std_logic; Q : out std_logic
); end entity;
architecture ffjk_arch of ffjk is
signal TEMP_Q: std_logic :='0';
begin
process (CLK, J, K) begin
if rising_edge(CLK) then
if J='0' and K='0' then TEMP_Q <= TEMP_Q;
elsif J='0' and K='1' then TEMP_Q <= '0'; elsif J='1' and K='0' then TEMP_Q <= '1';
18
elsif J='1' and K='1' then TEMP_Q <= not TEMP_Q;
end if;
end if; end process;
Q <= TEMP_Q; nQ <= not TEMP_Q;
end ffjk_arch;
19
3 Найпростіші тригерні схеми
3.1 Регістр зсуву
Намалювати символ і схему 4-розрядного регістра зсуву на D-тригерах та часову діаграму зміни їхнього стану, якщо на протязі 4 тактів роботи на вхід D
регістра подається послідовність сигналів, яка представлена 10-ковим числом 13.
Послідовність починається з старших розрядів двійкового коду, які змінюються на початку такту. Сигнал С наростає посередині кожного такту. Початковий стан регістра 0.
Відповідь. 1310 = 11012.
Рис. 3.23 Схемотехнічний символ 4-розрядного регістра зсуву
Рис. 3.24 Функціональна схема 4-розрядного регістра зсуву
Рис. 3.25 Часова діаграма роботи 4-розрядного регістра зсуву
20
