Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)
ИЗУЧЕНИЕ РАБОТЫ СЧЕТЧИКОВ
Отчет по лабораторной работе №5 по дисциплине «Электроника и схемотехника 2»
Вариант №19
Студент гр.
Руководитель
Томск 2022
Введение
Цель работы – изучить двоичные счетчики, их принципы построения и
работы.
Постановка задачи:
1.Составить таблицы истинности для схем согласно варианту.
2.Собрать заданные схемы счетчиков, делителя частоты и формирования задержки.
3.Описать устройства с помощью HDL.
3. Промоделировать работу схем и проверить с таблицами функционирования.
Задания по варианту:
- описать асинхронный вычитающий счетчик на основе Т-триггера,
модуль счета – 30;
-описать синхронный суммирующий счетчик с синхронным сбором и нарастающим фронтом, модуль счета – 24;
-решить задачу формирования на выходе сигнала с частотой 1785714
Гц;
- реализовать схему формирования импульсов с задержкой между ними
500 нс, при частоте 50 МГц.
2
1 АСИНХРОННЫЙ ВЫЧИТАЮЩИЙ СЧЕТЧИК
1.1 ТАБЛИЦА ИСТИННОСТИ
Ниже приведена таблица истинности 1.1 для вычитающего счетчика с
модулем счета 30.
Таблица 1.1 – Таблица истинности вычитающего счетчика
№ |
Выходы |
|
|
|
|
сигнала |
Q4 |
Q3 |
Q2 |
Q1 |
Q0 |
|
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
2 |
1 |
1 |
0 |
1 |
1 |
3 |
1 |
1 |
0 |
1 |
0 |
4 |
1 |
1 |
0 |
0 |
1 |
5 |
1 |
1 |
0 |
0 |
0 |
6 |
1 |
0 |
1 |
1 |
1 |
7 |
1 |
0 |
1 |
1 |
0 |
8 |
1 |
0 |
1 |
0 |
1 |
9 |
1 |
0 |
1 |
0 |
0 |
10 |
1 |
0 |
0 |
1 |
1 |
11 |
1 |
0 |
0 |
1 |
0 |
12 |
1 |
0 |
0 |
0 |
1 |
13 |
1 |
0 |
0 |
0 |
0 |
14 |
0 |
1 |
1 |
1 |
1 |
15 |
0 |
1 |
1 |
1 |
0 |
16 |
0 |
1 |
1 |
0 |
1 |
17 |
0 |
1 |
1 |
0 |
0 |
18 |
0 |
1 |
0 |
1 |
1 |
19 |
0 |
1 |
0 |
1 |
0 |
20 |
0 |
1 |
0 |
0 |
1 |
21 |
0 |
1 |
0 |
0 |
0 |
22 |
0 |
0 |
1 |
1 |
1 |
23 |
0 |
0 |
1 |
1 |
0 |
24 |
0 |
0 |
1 |
0 |
1 |
25 |
0 |
0 |
1 |
0 |
0 |
26 |
0 |
0 |
0 |
1 |
1 |
27 |
0 |
0 |
0 |
1 |
0 |
28 |
0 |
0 |
0 |
0 |
1 |
29 |
0 |
0 |
0 |
0 |
0 |
30 |
1 |
1 |
1 |
0 |
1 |
|
|
|
3 |
|
|
1.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 1.1 представлена функциональная схема асинхронного вычитающего счетчика.
Рисунок 1.1 – Функциональная схема асинхронного вычитающего счетчика
1.3 МОДЕЛИРОВАНИЕ
Было выполнено моделирование составленной функциональной схемы из пункта 1.2. На рисунке 1.2 изображен результат моделирования в режиме
Timing.
Рисунок 1.2 – Моделирование вычитающего счетчика в режиме Timing
На рисунке 1.3 представлен результат моделирования в режиме
Functional.
Рисунок 1.3 – Моделирование вычитающего счетчика в режиме Functional
По результатам моделирования можно сделать вывод, что схема выполнена в соответствии с таблицей истинности асинхронного вычитающего счетчика 1.1.
4
1.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL
Ниже представлен код на VHDL:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity asc is
port(C: in STD_LOGIC;
Q: out STD_LOGIC_VECTOR(4 downto 0)); end;
architecture synth of asc is
signal cnt: STD_LOGIC_VECTOR(4 downto 0) := "11101"; begin
Q <= cnt; process(C) begin
if cnt = "11111" then cnt <= "11101"; elsif falling_edge(C) then cnt <= cnt - '1'; end if;
end process; end;
На рисунке 1.4 представлено моделирование асинхронного вычитающего счетчика в режиме Timing.
Рисунок 1.4 – Моделирование вычитающего счетчика в режиме Timing
На рисунке 1.5 представлено моделирование асинхронного
вычитающего счетчика в режиме Functional.
Рисунок 1.5 – Моделирование вычитающего счетчика в режиме Functional
На рисунке 1.6 представлено изображение схемы с помощью RTL
Viewer.
5
Рисунок 1.6 – RTL Viewer представление
6
2 СИНХРОННЫЙ СУММИРУЮЩИЙ СЧЕТЧИК
2.1 ТАБЛИЦА ИСТИННОСТИ
Ниже приведена таблица истинности 2.1 для суммирующего счетчика с
модулем счета 24.
Таблица 2.1 – Таблица истинности вычитающего счетчика
№ |
Выходы |
|
|
|
|
сигнала |
Q4 |
Q3 |
Q2 |
Q1 |
Q0 |
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
0 |
1 |
0 |
3 |
0 |
0 |
0 |
1 |
1 |
4 |
0 |
0 |
1 |
0 |
0 |
5 |
0 |
0 |
1 |
0 |
1 |
6 |
0 |
0 |
1 |
1 |
0 |
7 |
0 |
0 |
1 |
1 |
1 |
8 |
0 |
1 |
0 |
0 |
0 |
9 |
0 |
1 |
0 |
0 |
1 |
10 |
0 |
1 |
0 |
1 |
0 |
11 |
0 |
1 |
0 |
1 |
1 |
12 |
0 |
1 |
1 |
0 |
0 |
13 |
0 |
1 |
1 |
0 |
1 |
14 |
0 |
1 |
1 |
1 |
0 |
15 |
0 |
1 |
1 |
1 |
1 |
16 |
1 |
0 |
0 |
0 |
0 |
17 |
1 |
0 |
0 |
0 |
1 |
18 |
1 |
0 |
0 |
1 |
0 |
19 |
1 |
0 |
0 |
1 |
1 |
20 |
1 |
0 |
1 |
0 |
0 |
21 |
1 |
0 |
1 |
0 |
1 |
22 |
1 |
0 |
1 |
1 |
0 |
23 |
1 |
0 |
1 |
1 |
1 |
24 |
0 |
0 |
0 |
0 |
0 |
2.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
Для данного счетчика необходимо реализовать синхронный сброс и
прием сигнала по нарастающему фронту.
7
На рисунке 2.1 представлена функциональная схема синхронного суммирующего счетчика.
Рисунок 2.1 – Функциональная схема синхронного суммирующего счетчика
2.3 МОДЕЛИРОВАНИЕ
Было выполнено моделирование составленной функциональной схемы из пункта 2.2. На рисунке 2.2 изображен результат моделирования в режиме
Timing.
Рисунок 2.2 – Моделирование суммирующего счетчика в режиме Timing
На рисунке 2.3 представлен результат моделирования в режиме
Functional.
Рисунок 2.3 – Моделирование суммирующего счетчика в режиме Functional
По результатам моделирования можно сделать вывод, что схема выполнена в соответствии с таблицей истинности синхронного суммирующего счетчика 2.1.
8
2.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL
Ниже представлен код на VHDL:
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity scn is
port(C: in STD_LOGIC; PR: in STD_LOGIC;
Q: out STD_LOGIC_VECTOR(4 downto 0) );
end;
architecture synth of scn is
signal cnt: STD_LOGIC_VECTOR(4 downto 0) := "00000"; begin
Q <= cnt; process(C) begin
if cnt = "10111" then cnt <= "00000"; elsif rising_edge(C) then
cnt <= cnt + '1'; end if;
if PR = '1' then cnt <= "00000"; end if;
end process; end;
На рисунке 2.4 представлено моделирование синхронного суммирующего счетчика в режиме Timing.
Рисунок 2.4 – Моделирование суммирующего счетчика в режиме Timing
На рисунке 2.5 представлено моделирование асинхронного
вычитающего счетчика в режиме Functional.
Рисунок 2.5 – Моделирование суммирующего счетчика в режиме Functional
На рисунке 2.6 представлено изображение схемы с помощью RTL
Viewer.
9
Рисунок 2.6 – RTL Viewer представление
10