
shpora2010oct17_2011
.pdf
Примітка. VHDL-опис 4-розрядного регістра зсуву (назва цього регістра – shft_reg4).
library IEEE;
use IEEE.std_logic_1164.all; entity shft_reg4 is
port (
C : in std_logic; D : in std_logic;
Q : out std_logic_vector(3 downto 0)
); end entity;
architecture shft_reg_arch of shft_reg4 is
signal TEMP_Q : std_logic_vector(3 downto 0):="0000";
begin
process(C) begin
if rising_edge(C) then
TEMP_Q <= D & TEMP_Q(3 downto 1);
end if; end process;
Q <= TEMP_Q; end architecture;
3.2 Лічильник на T-тригерах
Намалювати символ і схему 4-розрядного лічильника на T-тригерах та часову діаграму зміни їхнього стану на протязі 8 тактів роботи, якщо початковий стан лічильника дорівнює 13.
Відповідь. 1310 = 11012.
Рис. 3.26 Схемотехнічний символ 4-розрядного лічильника
21

Рис. 3.27 Функціональна схема 4-розрядного лічильника на T-тригерах
Рис. 3.28 Часова діаграма роботи 4-розрядного лічильника
Примітка. VHDL-опис 4-розрядного лічильника (назва цього лічильника – counter4).
library IEEE;
use IEEE.std_logic_1164.all; entity counter4 is
port (
C : in std_logic; Q0 : out std_logic; Q1 : out std_logic; Q2 : out std_logic; Q3 : out std_logic
); end entity; library IEEE;
use IEEE.std_logic_unsigned.all; architecture counter_arch of counter4 is
signal TEMP_Q : std_logic_vector(3 downto 0):="1101";
begin
process(C) begin
if rising_edge(C) then
TEMP_Q <= TEMP_Q + 1;
end if; end process;
Q0 <= TEMP_Q(0);
Q1 <= TEMP_Q(1);
Q2 <= TEMP_Q(2);
Q3 <= TEMP_Q(3); end architecture;
22

3.3 Лічильник на D-тригерах
Намалювати символ і схему 4-розрядного лічильника на D-тригерах та часову діаграму зміни їхнього стану на протязі 8 тактів роботи, якщо початковий стан лічильника дорівнює 13.
Відповідь. 1310 = 11012.
Рис. 3.29 Схемотехнічний символ 4-розрядного лічильника
Рис. 3.30 Функціональна схема 4-розрядного лічильника на T-тригерах
Рис. 3.31 Перетворення D-тригера на T-тригер
Рис. 3.32 Функціональна схема 4-розрядного лічильника на D-тригерах
23

Рис. 3.33 Часова діаграма роботи 4-розрядного лічильника
Примітка. VHDL-опис 4-розрядного лічильника (назва цього лічильника – counter4).
library IEEE;
use IEEE.std_logic_1164.all; entity counter4 is
port (
C : in std_logic; Q0 : out std_logic; Q1 : out std_logic; Q2 : out std_logic; Q3 : out std_logic
); end entity; library IEEE;
use IEEE.std_logic_unsigned.all; architecture counter_arch of counter4 is
signal TEMP_Q : std_logic_vector(3 downto 0):="1101";
begin
process(C) begin
if rising_edge(C) then
TEMP_Q <= TEMP_Q + 1;
end if; end process;
Q0 <= TEMP_Q(0);
Q1 <= TEMP_Q(1);
Q2 <= TEMP_Q(2);
Q3 <= TEMP_Q(3); end architecture;
3.4 Лічильник на JK-тригерах
Намалювати символ і схему 4-розрядного лічильника на JK-тригерах та часову діаграму зміни їхнього стану на протязі 8 тактів роботи, якщо початковий стан лічильника дорівнює 13.
Відповідь. 1310 = 11012.
24

Рис. 3.34 Схемотехнічний символ 4-розрядного лічильника
Рис. 3.35 Функціональна схема 4-розрядного лічильника на T-тригерах
Рис. 3.36 Перетворення JK-тригера на T-тригер
Рис. 3.37 Функціональна схема 4-розрядного лічильника на JK-тригерах
Рис. 3.38 Часова діаграма роботи 4-розрядного лічильника
Примітка. VHDL-опис 4-розрядного лічильника (назва цього лічильника – counter4).
library IEEE;
25
use IEEE.std_logic_1164.all; entity counter4 is
port (
C : in std_logic;
Q : out std_logic_vector(3 downto 0)
); end entity; library IEEE;
use IEEE.std_logic_unsigned.all; architecture counter_arch of counter4 is
signal TEMP_Q : std_logic_vector(3 downto 0):="1101";
begin
process(C) begin
if rising_edge(C) then
TEMP_Q <= TEMP_Q + 1;
end if; end process;
Q <= TEMP_Q; end architecture;
26

4 Структура цифрових автоматів
4.1 Мінімальна кількість зворотних зв’язків в автоматі Мура Визначити і підкреслити мінімальну розрядність зворотного зв'язку (кількість
біт у 16-ковій системі числення) в автоматі Мура, який може знаходитися в 10
станах.
Відповідь.
Рис. 4.39 Загальна структурна схема автомата Мура Мінімальну кількість зворотних зв’язків забезпечує двійкове кодування станів
автомату.
Таблиця 4.8 – Двійкове кодуванням станів автомата
916 = 10012. Отже кількість біт повинна дорівнювати 4.
27

Рис. 4.40 Структурна схема автомата Мура
4.2 Кількість тригерів у пам’яті автомата Мура при двійковому кодуванні станів Визначити і підкреслити мінімальну кількість тригерів (у 16-ковій системі
числення) у пам'яті автомата Мура, який може знаходитися у 10 станах при двійковому кодуванні станів.
Відповідь.
Рис. 4.41 Загальна структурна схема автомата Мура Таблиця 4.9 – Двійкове кодуванням станів автомата
28

916 = 10012. Отже кількість тригерів повинна дорівнювати 4.
Рис. 4.42 Структурна схема автомата Мура
4.3 Кількість тригерів у пам’яті автомата Мура при унітарному кодуванні станів Визначити і підкреслити мінімальну кількість тригерів (у 16-ковій системі
числення) у пам'яті автомата Мура, який може знаходитися у 10 станах при унітарному кодуванні станів.
Відповідь.
Рис. 4.43 Загальна структурна схема автомата Мура
29

Таблиця 4.10 – Унітарне кодуванням станів автомата
Кількість тригерів дорівнює кількості станів. Отже кількість тригерів повинна дорівнювати 1010 = A16.
Рис. 4.44 Структурна схема автомата Мура
4.4 Мінімальна кількість зворотних зв’язків в автоматі Мілі Визначити і підкреслити мінімальну розрядність зворотного зв'язку (кількість
біт у 16-ковій системі числення) в автоматі Мілі, який може знаходитися в 10
станах.
Відповідь.
30