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

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

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

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

3.1 РАСЧЕТЫ

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

вх = 20нс

 

 

 

= 1,785714 МГц, =

1

=560нс.

 

вых

 

 

вых

вых

 

 

 

 

 

 

=

 

вых

= 28

 

 

 

 

 

 

 

 

 

 

 

 

 

вх

 

 

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

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

Рисунок 3.1 – Функциональная схема делителя частоты

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

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

Рисунок 3.2 – Моделирование делителя частоты в режиме Timing

11

Рисунок 3.3 – Моделирование делителя частоты в режиме Timing

По результатам моделирование видно, что период получился равен

заданному условию задачи:

826,26 – 266,26 = 560.

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

Рисунок 3.3 – Моделирование делителя частоты в режиме Functional

3.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL

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

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity divvhdl is

port(C: in STD_LOGIC; F: out STD_LOGIC); end;

architecture synth of divvhdl is

signal q: STD_LOGIC_VECTOR(4 downto 0); signal cout, rs, tF: STD_LOGIC;

begin

cout <= q(4) and q(3) and q(2) and (not(q(1))) and not(q(0)); rs <= not(q(4)) and q(3) and q(2) and q(1) and not(q(0)) and C; F <= tF;

process(C) begin

if cout = '1' then q <= "00000";

elsif rising_edge(C) then q <= q + '1';

12

end if; end process;

process(C, rs) begin

if rs = '1' then tF <= '1';

elsif cout = '1' then tF <= not(tF); end if;

end process; end;

На рисунке 3.4 представлено моделирование делителя частот в режиме

Timing.

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

На рисунке 3.5 представлено моделирование делителя частот в режиме

Functional.

Рисунок 3.5 - Моделирование в режиме Functional

На рисунке 3.6 представлено изображение схемы с помощью RTL

Viewer.

Рисунок 3.6 – RTL Viewer представление

13

1 = 1= 1
задержВых
зажержВх

4 ГЕНЕРАТОР ЗАДЕРЖКИ

4.1 РАСЧЕТЫ

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

= 20 нс

= 500 нс

М0 = вых = 500 = 25вх 20

+ 0 = 1 + 25 = 26

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

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

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

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

По созданной функциональной схеме было выполнено моделирование в двух режимах.

На рисунках 4.2,4.3 представлено моделирование схемы в режиме

Timing.

Рисунок 4.2 – Моделирование схемы в режиме Timing, часть 1

14

Рисунок 4.3 – Моделирование схемы в режиме Timing, часть 2

Итого получаем, что задержка между сигналами – 500 нс, а длительность

сигнала в состоянии логической единицы – 20 нс.

На рисунках 4.4, 4.5 представлено моделирование схемы в режиме

Functional

Рисунок 4.4 – Моделирование схемы в режиме Functional, часть 1

Рисунок 4.5 – Моделирование схемы в режиме Functional, часть 2

Результаты получились аналогичные результатам моделирования в

режиме Timing.

4.4 ОПИСАНИЕ С ПОМОЩЬЮ HDL

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

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity delayvhd is port(C: in STD_LOGIC; F: out STD_LOGIC); end;

architecture synth of delayvhd is

signal q: STD_LOGIC_VECTOR(4 downto 0); signal cout, tF: STD_LOGIC;

begin

cout <= q(4) and q(3) and not(q(2)) and not(q(1)) and q(0); process(C) begin

if rising_edge(C) then

if cout = '1' then q <= "00000"; else

q <= q + '1';

15

end if; end if; end process;

process(C) begin

if falling_edge(C) then F <= cout; end if;

end process; end;

На рисунках 4.6-4.8 представлено моделирование схемы в режиме

Timing.

Рисунок 4.6 – Моделирование схемы в режиме Timing, часть 1

Рисунок 4.7 – Моделирование схемы в режиме Timing, часть 2

Рисунок 4.8 – Моделирование схемы в режиме Timing, часть 3

Итого получаем, что задержка между сигналами:

1028 – 528 = 500 нс Длительность сигнала в состоянии логической единицы:

528 – 508 = 20 нс На рисунках 4.9, 4.10 представлено моделирование схемы в режиме

Functional

Рисунок 4.9 – Моделирование схемы в режиме Functional, часть 1

16

Рисунок 4.10 – Моделирование схемы в режиме Functional, часть 2

Результаты получились аналогичные результатам моделирования в режиме Timing.

На рисунке 4.11 изображено RTL Viewer представление описанной с помощью HDL схемы.

Рисунок 4.11 – RTL Viewer представление

17

Заключение

В результате выполнения лабораторной работы были изучены основные типы триггеров, их принципы построения и работы.

Были реализованы и промоделированы следующие схемы:

-динамический RS-триггер;

-двухступенчатый T-триггер;

-одноступенчатый D-триггер.

Отчет был оформлен согласно ОС ТУСУР 01–2021.

18

Соседние файлы в папке 19 варик