Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)
ИЗУЧЕНИЕ РАБОТЫ РЕГИСТРОВ
Отчет по лабораторной работе №6 по дисциплине «Электроника и схемотехника 2»
Вариант №19
Студент гр.
Руководитель
Томск 2022
Введение
Цель работы – изучить регистры, их принципы построения и работы.
Постановка задачи:
1.Составить таблицы истинности для схем согласно варианту.
2.Собрать заданные схемы регистров.
3.Описать устройства с помощью HDL.
3. Промоделировать работу схем и проверить с таблицами
истинностями.
Задания по варианту:
-описать регистр SISO DSR с асинхронной загрузкой и синхронным сбросом, разрядность регистра – 12;
-описать регистр с параллельной записью и последовательной выдачей
DSL, сброс – асинхронный, разрядность регистра – 14;
- описать регистр PIPO с синхронной загрузкой и асинхронным
сборосом.
2
1 РЕГИСТР ТИПА SISO
1.1 ТАБЛИЦА ИСТИННОСТИ
Ниже приведена таблица истинности 1.1 для регистра типа SISO DSR.
Таблица 1.1 – Таблица истинности регистра типа SISO DSR
№ |
Входы |
|
|
|
|
|
|
|
|
|
|
|
|
|
Вы |
|
сигн |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ход |
ала |
a |
P |
P |
P11 |
P10 |
P9 |
P |
P |
P |
P |
P |
P |
P |
P |
P |
Q0 |
|
|
R |
R |
|
|
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
a1 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
2 |
a2 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
3 |
a3 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
4 |
a4 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
5 |
a5 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
6 |
a6 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
7 |
a7 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
8 |
a8 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
9 |
a9 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
10 |
a10 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
11 |
a11 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
12 |
a12 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
a1 |
13 |
a13 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
a2 |
14 |
a14 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
a3 |
15 |
a15 |
0 |
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
a4 |
16 |
a16 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
17 |
x |
0 |
1 |
b11 |
b10 |
b9 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b0 |
|
|
|
|
|
|
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
18 |
a17 |
0 |
0 |
a17 |
b11 |
b1 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b1 |
|
|
|
|
|
|
0 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
|
19 |
a18 |
0 |
0 |
a18 |
a17 |
b1 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b2 |
|
|
|
|
|
|
1 |
1 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2 ФУНКЦИОНАЛЬНАЯ СХЕМА |
|
|
|
|
На рисунках 1.1, 1.2 представлена функциональная схема регистра типа
SISO DSR.
3
Рисунок 1.1 – Функциональная схема асинхронного вычитающего счетчика
Рисунок 1.2 – Функциональная схема асинхронного вычитающего счетчика
1.3 МОДЕЛИРОВАНИЕ
Было выполнено моделирование составленной функциональной схемы из пункта 1.3. На рисунке 1.3 изображен результат моделирования в режиме
Timing.
Рисунок 1.3 – Моделирование регистра SISO в режиме Timing
На рисунке 1.4 представлен результат моделирования в режиме
Functional.
Рисунок 1.4 – Моделирование регистра SISO в режиме Functional
4
По результатам моделирования можно сделать вывод, что схема
выполнена в соответствии с таблицей истинности асинхронного регистра SISO
DSR 1.1.
1.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL
Ниже представлен код на SystemVerilog:
module SISO (
input logic Clk, PRE, PR, a, input logic P,
output logic outQ );
logic [11:0] Q;
always_ff @(posedge Clk, posedge PRE) if(PRE) Q[0] <= P;
else if (PR) Q <= 0; else Q <= {a, Q[11:1]};
assign outQ = Q[0]; endmodule
На рисунке 1.5 представлено моделирование регистра SISO в режиме
Timing.
Рисунок 1.5 – Моделирование регистра SISO в режиме Timing
На рисунке 1.6 представлено моделирование регистра SISO в режиме
Functional.
Рисунок 1.6 – Моделирование регистра SISO в режиме Functional
На рисунке 1.7 представлено изображение схемы с помощью RTL
Viewer.
5
Рисунок 1.7 – RTL Viewer представление
6
2 УНИВЕРСАЛЬНЫЙ РЕГИСТР
2.1 ТАБЛИЦА ИСТИННОСТИ
Ниже приведена таблица истинности 2.1 для универсального регистра с параллельной записью и последовательной выдачей DSL.
Таблица 2.1 – Таблица истинности универсального регистра
№ |
Входы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вы |
||
си |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ход |
гн |
P |
L |
|
P13 |
P12 |
P11 |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
Q13 |
ал |
R |
|
|
|
|
|
1 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
а |
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
0 |
|
0 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
0 |
2 |
0 |
1 |
|
b13 |
b12 |
b11 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b13 |
|
|
|
|
|
|
|
1 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
3 |
0 |
0 |
|
b12 |
b11 |
b10 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
b |
0 |
b12 |
|
|
|
|
|
|
|
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
4 |
0 |
0 |
|
b11 |
b10 |
b9 |
b |
b |
b |
b |
b |
b |
b |
b |
b |
0 |
0 |
b11 |
|
|
|
|
|
|
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
5 |
0 |
0 |
|
b10 |
b9 |
b8 |
b |
b |
b |
b |
b |
b |
b |
b |
0 |
0 |
0 |
b10 |
|
|
|
|
|
|
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
6 |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
Для данного счетчика необходимо реализовать асинхронный сброс.
На рисунках 2.1, 2.2 представлена функциональная схема заданного
универсального регистра.
7
Рисунок 2.1 – Функциональная схема универсального регистра
Рисунок 2.2 – Функциональная схема универсального регистра
2.3 МОДЕЛИРОВАНИЕ
Было выполнено моделирование составленной функциональной схемы из пункта 2.2. На рисунке 2.3 изображен результат моделирования в режиме
Timing.
Рисунок 2.3 – Моделирование универсального регистра в режиме Timing
На рисунке 2.4 представлен результат моделирования в режиме
Functional.
8
Рисунок 2.4 – Моделирование универсального регистра в режиме Functional
По результатам моделирования можно сделать вывод, что схема
выполнена в соответствии с таблицей истинности универсального регистра 2.1.
2.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL
Ниже представлен код на SystemVerilog:
module Univ (
input logic Clk, Load, Reset, input logic [13:0] P,
output logic outQ );
logic [13:0] Q;
always_ff @(posedge Clk, posedge Reset) if(Reset) Q <= 0;
else if (Load) Q <= P; else Q <= {Q[12:0], 1'b0};
assign outQ = Q[13]; endmodule
На рисунке 2.5 представлено моделирование универсального регистра в
режиме Timing.
Рисунок 2.5 – Моделирование универсального регистра в режиме Timing
На рисунке 2.6 представлено моделирование универсального регистра в
режиме Functional.
Рисунок 2.6 – Моделирование универсального регистра в режиме Functional
На рисунке 2.7 представлено изображение схемы с помощью RTL
Viewer.
9
Рисунок 2.7 – RTL Viewer представление
10