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

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

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

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

ПРИМЕНЕНИЕ РЕГИСТРОВ И СЧЕТЧИКОВ

Отчет по лабораторной работе №7 по дисциплине «Электроника и схемотехника 2»

Вариант №19

Студент гр.

Руководитель

Томск 2022

Введение

Цель работы – научиться совместно применять регистры и счетчики.

Постановка задачи:

1.Составить таблицы истинности для 4-х функций из 1 лабораторной работы согласно варианту.

2.Собрать схему, которая выполняет 4 параллельные операции и организовать прием и выдачу данных согласно варианту.

3.Собрать схемы, которые с помощью регистров обеспечивают

«чистый» выходной сигнал для асинхронного и синхронного счетчиков.

4. Описать устройства с помощью HDL.

5. Промоделировать работу схем и проверить с таблицами истинностями.

Задание по варианту:

прием данных по убывающему фронту параллельно и синхронно

выдача данных по возрастающему фронту последовательным кодом старшими разрядами вперед, активный уровень сигнала «read» – 1;

варианты, по которым необходимо собрать функции – 17, 18, 19, 20.

2

1 ВЫЧИСЛИТЕЛЬЙ ФУНКЦИЙ

1.1 ТАБЛИЦА ИСТИННОСТИ

Согласно варианту, необходимо реализовать выполнение следующий функций:

 

 

 

17

 

 

̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅

 

 

 

 

 

 

=

 

 

 

 

 

 

18

 

 

̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅

 

 

 

 

 

 

=

 

 

 

 

 

 

19

 

 

̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅

 

 

 

 

 

 

 

=

 

 

 

 

 

 

20

 

̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅

 

 

 

 

 

 

 

 

=

 

 

 

 

 

Ниже приведена таблица истинности 1.1 для вышеперечисленных

функций.

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.1 – Таблица истинности функций

 

 

 

 

Входы

 

 

 

 

 

Выход

 

 

 

 

D3(x)

D2(y)

D1(z)

 

D0(w)

F20

 

F19

 

F18

F17

 

 

0

0

0

 

 

0

1

 

1

 

1

1

 

 

0

0

0

 

 

1

1

 

0

 

0

0

 

 

0

0

1

 

 

0

1

 

1

 

0

0

 

 

0

0

1

 

 

1

0

 

0

 

1

1

 

 

0

1

0

 

 

0

1

 

1

 

1

0

 

 

0

1

0

 

 

1

1

 

0

 

0

1

 

 

0

1

1

 

 

0

1

 

0

 

0

0

 

 

0

1

1

 

 

1

0

 

0

 

1

1

 

 

1

0

0

 

 

0

1

 

0

 

1

0

 

 

1

0

0

 

 

1

1

 

0

 

0

1

 

 

1

0

1

 

 

0

1

 

0

 

0

0

 

 

1

0

1

 

 

1

0

 

0

 

1

1

 

 

1

1

0

 

 

0

0

 

0

 

0

1

 

 

1

1

0

 

 

1

0

 

0

 

1

0

 

 

1

1

1

 

 

0

0

 

1

 

1

0

 

 

1

1

1

 

 

1

0

 

0

 

0

1

 

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

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

3

Рисунок 1.1 – Функциональная схема вычислителя функций

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

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

Timing.

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

На рисунке 1.3 представлен результат моделирования в режиме

Functional.

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

4

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

выполнена в соответствии с таблицей истинности функций 1.1 и выполняет

параллельный вход и последовательный выход сигналов.

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

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

library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all;

use IEEE.NUMERIC_STD.ALL; entity AM is

port (Cint, Cext, RD, RST: in STD_LOGIC; D: in STD_LOGIC_VECTOR (3 downto 0); Out1, clkOut: out STD_LOGIC;

F1: out STD_LOGIC_VECTOR (3 downto 0) );

end;

architecture synth of AM is

type statetype is (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10); signal state: statetype;

signal CLR: STD_LOGIC;

signal F, Addr: STD_LOGIC_VECTOR (3 downto 0); begin

F(0) <= not(((Addr(3) xor Addr(2)) or Addr(1)) xor Addr(0));

F(1) <= not(((Addr(3) and Addr(2)) xor Addr(1)) xor Addr(0));

F(2) <= not((Addr(3) xor (Addr(2) and Addr(1))) or Addr(0));

F(3) <= not((Addr(3) and Addr(2)) or (Addr(1) and Addr(0))); process (Cext, CLR) begin

if CLR = '1' then CLR <= '0'; elsif falling_edge (Cext) then

CLR <= RST; Addr <= D;

end if; end process;

process (Cint, CLR) begin

if CLR = '1' then state <= S0; elsif rising_edge (Cint) then

case (state) is when S0 =>

clkout <= '0';

if RD = '1' then state <= S1; end if;

5

when S1 =>

Out1 <= F(3); clkOut <= '1'; state <= S2;

when S2 =>

clkOut <= '0'; state <= S3;

when S3 =>

Out1 <= F(2); clkOut <= '1'; state <= S4;

when S4 =>

clkOut <= '0'; state <= S5;

when S5 =>

Out1 <= F(1); clkOut <= '1'; state <= S6;

when S6 =>

clkOut <= '0'; state <= S7;

when S7 =>

Out1 <= F(0); clkOut <= '1'; state <= S0;

when others => state <= S0; end case;

end if; end process; end;

На рисунке 1.4 представлено моделирование вычислителя функций в

режиме Timing.

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

На рисунке 1.5 представлено моделирование вычислителя функций в

режиме Functional.

6

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

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

Viewer.

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

7

2 АСИНХРОННЫЙ СЧЕТЧИК С ВЫХОДНЫМ БУФЕРОМ

2.1 ТАБЛИЦА ИСТИННОСТИ

Для этого задания был использован вычитающий асинхронный счетчик из лабораторной работы с модулем счета 30.

Ниже приведена таблица истинности 2.1 для асинхронного счетчика с выходным буфером.

Таблица 2.1 – Таблица истинности асинхронного счетчика с буфером

№ сигнала

Выходы

 

 

 

 

 

D4

D3

D2

D1

D0

0

0

0

0

0

0

1

1

1

1

0

1

2

1

1

1

0

0

3

1

1

0

1

1

4

1

1

0

1

0

5

1

1

0

0

1

6

1

1

0

0

0

7

1

0

1

1

1

8

1

0

1

1

0

9

1

0

1

0

1

10

1

0

1

0

0

11

1

0

0

1

1

12

1

0

0

1

0

13

1

0

0

0

1

14

1

0

0

0

0

15

0

1

1

1

1

16

0

1

1

1

0

17

0

1

1

0

1

18

0

1

1

0

0

19

0

1

0

1

1

20

0

1

0

1

0

21

0

1

0

0

1

22

0

1

0

0

0

23

0

0

1

1

1

24

0

0

1

1

0

25

0

0

1

0

1

26

0

0

1

0

0

27

0

0

0

1

1

28

0

0

0

1

0

29

0

0

0

0

1

30

0

0

0

0

0

8

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

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

Рисунок 2.1 – Функциональная схема асинхронного счетчика с буфером

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

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

Timing.

Рисунок 2.2 – Моделирование счетчика с буфером в режиме Timing

На рисунке 2.3 представлен результат моделирования в режиме

Functional.

Рисунок 2.3 – Моделирование счетчика с буфером в режиме Functional

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

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

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

9

library ieee;

use ieee.std_logic_1164.all; entity lab7_ASCVHD is port (clk: in STD_LOGIC;

pipoOut: out STD_LOGIC_VECTOR(4 DOWNTO 0)); end;

architecture sync of lab7_ASCVHD is

component asc

port (C: in STD_LOGIC;

Q: out STD_LOGIC_VECTOR(4 downto 0)); end component;

signal tempOut: STD_LOGIC_VECTOR(4 DOWNTO 0);

begin ASCF: asc

port map(clk, tempOut); process(clk) begin

if rising_edge(clk) then pipoOut <= tempOut;

end if; end process; end;

На рисунке 2.4 представлено моделирование асинхронного счетчика с

буфером в режиме Timing.

Рисунок 2.4 – Моделирование счетчика с буфером в режиме Timing

На рисунке 2.5 представлено моделирование асинхронного счетчика с

буфером в режиме Functional.

Рисунок 2.5 – Моделирование счетчика с буфером в режиме Functional

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

Viewer.

10