Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

shpora2010oct17_2011

.pdf
Скачиваний:
48
Добавлен:
12.02.2016
Размер:
4.09 Mб
Скачать

Примітка. 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]