Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ПРИМЕНЕНИЕ РЕГИСТРОВ И СЧЕТЧИКОВ
Отчет по лабораторной работе №7 по дисциплине «Электроника и схемотехника 2»
Вариант №18
Студент гр.
__.__.2022
Руководитель
__.__.2022
Томск 2022
Введение
Цель работы – научиться совместно применять регистры и счетчики.
Постановка задачи. Составить таблицы функционирования для заданных схем. Собрать схемы заданных регистров. Промоделировать все схемы, а
также привести код на HDL и промоделировать.
1.ВЫЧИСЛИТЕЛЬ ФУНКЦИЙ
1.1ТАБЛИЦА ИСТИННОСТИ
Втаблице 1.1.1 приведена таблица функционирования вычислителя функций.
Таблица 1.1.1 – таблица функционирования
|
|
Входы |
|
|
|
Выход |
|
||
Ст. |
|
|
|
Мл. |
|
|
F |
|
|
разряд |
|
|
|
разряд |
|
|
|
||
|
|
|
|
|
|
|
|
||
x |
y |
|
z |
w |
19 |
18 |
|
17 |
16 |
0 |
0 |
|
0 |
0 |
1 |
1 |
|
1 |
1 |
0 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
|
1 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
|
0 |
0 |
0 |
1 |
|
0 |
1 |
0 |
0 |
|
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
|
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
0 |
|
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
|
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
|
1 |
0 |
1.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 1.2.1 приведена функциональная схема для вычислителя
функций.
Рисунок 1.2.1 – функциональная схема
1.3 МОДЕЛИРОВАНИЕ
На рисунке 1.3.1 представлено моделирование в режиме Functional.
Рисунок 1.3.1 – моделирование схемы в режиме Funtional
Один временной интервал равен 100 наносекунд. Если сравнить моделирование с таблицей истинности, то они совпадают.
На рисунке 1.3.2 представлено моделирование в режиме Timing.
Рисунок 1.3.2 – моделирование в режиме Timing
Так как моделирование в режиме Timing приближено к реальности и
отображает задержки переключения, из-за чего результат немного искажается
от идеального.
1.4 КОД НА HDL
Ниже представлен код на SystemVerilog HDL:
module schemiF_sv ( input R, C_int, C_ext, RD, input [3:0] D,
output [3:0] F, output clkout, dout);
logic [2:0] state;
assign F[3] = ~(D[3] ^ D[2] & D[1] | D[0]); assign F[2] = ~(D[3] & D[2] ^ D[1] ^ D[0]); assign F[1] = ~(D[3] ^ D[2] | D[1] ^ D[0]); assign F[0] = D[3] ^ ~(D[2] | D[1]) ^ D[0];
always_ff @ (posedge C_int, posedge R) begin if (R) begin
state <= 3'd0; end
else begin
case (state)
0:begin clkout <= 1'b0;
if (~RD) state <= 3'd1; end
1:begin
dout <= F[3]; clkout <= 1'b1; state <= 3'd2; end
2:begin clkout <= 1'b0; state <= 3'd3; end
3:begin
dout <= F[2]; clkout <= 1'b1; state <= 3'd4; end
4:begin clkout <= 1'b0; state <= 3'd5; end
5:begin
dout <= F[1]; clkout <= 1'b1; state <= 3'd6; end
6:begin clkout <= 1'b0; state <= 3'd7; end
7:begin
dout <= F[0]; clkout <= 1'b1; state <= 3'd8; end
8: begin clkout <= 1'b0; state <= 3'd0; end
default: state <= 3'd0; endcase
end
end
endmodule
1.5 СХЕМА ИЗ RTL VIEWER ДЛЯ КОДА HDL
На рисунке 1.5.1 приведена схема из RTL Viewer для кода HDL.
Рисунок 1.5.1 – схема из RTL Viewer
1.6 МОДЕЛИРОВАНИЕ УСТРОЙСТВА, ОПИСАННОГО КОДОМ
HDL
На рисунке 1.6.1 представлено моделирование в режиме Timing для кода
HDL.
Рисунок 1.6.1 – моделирование устройства, описанного кодом HDL
Сравнивая результат моделирования и таблицу истинности, можно сделать
выводы о том, что они совпадают.
2.АСИНХРОННЫЙ СЧЕТЧИК С ВЫХОДНЫМ БУФЕРОМ
2.1ТАБЛИЦА ИСТИННОСТИ
Втаблице 2.1.1 приведена таблица функционирования асинхронного счетчика.
Таблица 2.1.1 – таблица функционирования
|
|
|
Выходы |
|
|
№ сигнала |
|
|
Cnt_out |
|
|
|
|
|
|
|
|
|
4 |
3 |
2 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
2 |
1 |
1 |
1 |
0 |
1 |
3 |
1 |
1 |
1 |
0 |
0 |
4 |
1 |
1 |
0 |
1 |
1 |
5 |
1 |
1 |
0 |
1 |
0 |
6 |
1 |
1 |
0 |
0 |
1 |
7 |
1 |
1 |
0 |
0 |
0 |
8 |
1 |
0 |
1 |
1 |
1 |
9 |
1 |
0 |
1 |
1 |
0 |
10 |
1 |
0 |
1 |
0 |
1 |
11 |
1 |
0 |
1 |
0 |
0 |
12 |
1 |
0 |
0 |
1 |
1 |
13 |
1 |
0 |
0 |
1 |
0 |
14 |
1 |
0 |
0 |
0 |
1 |
15 |
1 |
0 |
0 |
0 |
0 |
16 |
0 |
1 |
1 |
1 |
1 |
17 |
0 |
1 |
1 |
1 |
0 |
18 |
0 |
1 |
1 |
0 |
1 |
19 |
0 |
1 |
1 |
0 |
0 |
20 |
0 |
1 |
0 |
1 |
1 |
21 |
0 |
1 |
0 |
1 |
0 |
22 |
0 |
1 |
0 |
0 |
1 |
23 |
0 |
1 |
0 |
0 |
0 |
24 |
0 |
0 |
1 |
1 |
1 |
25 |
0 |
0 |
1 |
1 |
0 |
26 |
0 |
0 |
1 |
0 |
1 |
27 |
0 |
0 |
1 |
0 |
0 |
28 |
0 |
0 |
0 |
1 |
1 |
29 |
0 |
0 |
0 |
1 |
0 |
30 |
0 |
0 |
0 |
0 |
1 |
2.2 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 2.2.1 приведена функциональная схема для асинхронного счетчика.
Рисунок 2.2.1 – функциональная схема
2.3 МОДЕЛИРОВАНИЕ
На рисунке 2.3.1 представлено моделирование в режиме Functional.
Рисунок 2.3.1 – моделирование схемы в режиме Funtional
Один временной интервал равен 100 наносекунд. Если сравнить моделирование с таблицей истинности, то они совпадают.
На рисунке 2.3.2 представлено моделирование в режиме Timing.
Рисунок 2.3.2 – моделирование в режиме Timing
Так как моделирование в режиме Timing приближено к реальности и отображает задержки переключения, из-за чего результат немного искажается от идеального.