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
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