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

2 Семестр / Отчеты / 18 варик / 5 лаба_данные_удалены

.pdf
Скачиваний:
7
Добавлен:
07.06.2022
Размер:
604.54 Кб
Скачать

3. ДЕЛИТЕЛЬ ЧАСТОТЫ

3.1 РАСЧЕТЫ

Ниже приведены расчеты для построения схемы:

Tвх = 20нс

Fвых = 1724138Гц

Tвых = 1/Fвых = 580нс

M = Tвых/Tвх = 29

3.2 ФУНКЦИОНАЛЬНАЯ СХЕМА

На рисунке 3.2.1 приведена функциональная схема для делителя чистоты.

Рисунок 3.2.1 – функциональная схема

3.3 МОДЕЛИРОВАНИЕ

На рисунках 3.4.1-3.3 представлены разные переходы в режиме Timing.

Рисунок 3.4.1 – переход из 1 в 0

Рисунок 3.4.2 – переход из 0 в 1

Рисунок 3.4.3 – переход из 1 в 0(окончание периода)

На рисунке 3.4.5 представлено моделирование в режиме Functional.

Рисунок 3.4.5 – моделирование в режиме Funtional

Ниже приведена проверка интервалов и периода:

866.187 – 575.906 = 290.281

1155.906 – 866.187 = 289.719

290.281+289.719 = 580

3.4 КОД НА HDL

Ниже представлен код на SystemVeriLog HDL:

module del_sv ( input C,

output F); logic [4:0] q;

logic nPR, cout, m;

assign nPR = ~(~C & ~q[4] & q[3] & q[2] & q[1] & ~q[0]); assign m = q[4] & q[3] & q[2] & ~q[1] & ~q[0];

always_ff @ (posedge ~C) begin if (m) begin

q <= 5'd0; cout <= 1'b0;

end

else begin

q <= q + 1'b1;

if (q[4] & q[3] & ~q[2] & q[1] & q[0]) cout <= 1'b1; end

end

always_ff @ (posedge C, negedge nPR) begin if (~nPR) F <= 1'b1;

else if (cout) F <= ~F; end

endmodule

3.5 СХЕМА ИЗ RTL VIEWER ДЛЯ КОДА HDL

На рисунке 3.5.1 приведена схема из RTL Viewer для кода HDL.

Рисунок 3.5.1 – схема из RTL Viewer

3.6 МОДЕЛИРОВАНИЕ УСТРОЙСТВА, ОПИСАННОГО КОДОМ

HDL

На рисунках 3.6.1 – 3.6.3 представлено моделирование в режиме Timing для

кода HDL.

Рисунок 3.6.1 – переход из 1 в 0

Рисунок 3.6.2 – переход из 0 в 1

Рисунок 3.6.3 – переход из 1 в 0(окончание периода)

На рисунке 3.6.4 представлено моделирование в режиме Functional.

Рисунок 3.6.4 – моделирование в режиме Functional

4. ФОРМИРОВАТЕЛЬ ЗАДЕРЖКИ

4.1 РАСЧЕТЫ

Ниже приведены расчеты для построения схемы:

Fвх = 50МГц

Tвх = 1/Fвх = 20 нс tз = 480мс

t0вых = 480мс

t1вых = 50мс

M1 = tвых/Tвх = 1

M0 = tз/Tвх = 24

M = M0 + M1 = 25

4.2 ФУНКЦИОНАЛЬНАЯ СХЕМА

На рисунке 4.2.1 приведена функциональная схема для формирователя задержки.

Рисунок 4.2.1 – функциональная схема

4.3 МОДЕЛИРОВАНИЕ

На рисунках 4.3.1-4.3.3 представлены разные переходы в режиме Timing.

Рисунок 4.4.1 – переход из 0 в 1

Рисунок 4.4.2 – переход из 1 в 0

Рисунок 4.4.3 – переход из 0 в 1(окончание периода)

На рисунке 4.4.4 представлено моделирование в режиме Functional.

Рисунок 4.4.4 – моделирование в режиме Functional

Ниже приведена проверка интервалов и периода:

506.038 – 486.038 = 20

986.038 – 506.038 = 480

1006.038 - 986.038 = 20

4.4 КОД НА HDL

Ниже представлен код на SystemVeriLog HDL:

module delay_sv ( input C,

output F); logic [4:0] q; logic cout, m;

assign m = q[4] & q[3] & ~q[2] & ~q[1] & ~q[0]; assign cout = m;

always_ff @ (posedge ~C) begin if (m)

q <= 5'd0; else

q <= q + 1'b1; end

always_ff @ (posedge ~C) begin F <= cout;

end endmodule

4.5 СХЕМА ИЗ RTL VIEWER ДЛЯ КОДА HDL

На рисунке 4.5.1 приведена схема из RTL Viewer для кода HDL.

Рисунок 4.5.1 – схема из RTL Viewer

4.6 МОДЕЛИРОВАНИЕ УСТРОЙСТВА, ОПИСАННОГО КОДОМ

HDL

На рисунках 4.6.1 – 4.6.3 представлено моделирование в режиме Timing для кода HDL.

Рисунок 4.6.1 – переход из 0 в 1

Рисунок 4.6.2 – переход из 1 в 0

Рисунок 4.6.3 – переход из 0 в 1(окончание периода)

На рисунке 4.6.4 представлено моделирование в режиме Functional.

Рисунок 4.6.4 – моделирование в режиме Functional

Заключение

В результате выполнения лабораторной работы были изучены двоичные

счетчики, их принципы построения и работы, а также выполнены следующие

задачи:

-Составлены таблицы истинности для счетчиков, выполнены расчеты для делителя частоты и формирователя задержки.

-Собраны схемы на холстах и промоделированы эти схемы

-написан код для каждой из схем и так промоделированы