Счетчики
Автор: Dzhuletta • Март 5, 2021 • Лабораторная работа • 1,990 Слов (8 Страниц) • 882 Просмотры
Санкт-Петербургский политехнический университет Петра Великого
Институт Физики, Нанотехнологий и Телекоммуникаций
ОТЧЕТ
Лабораторная работа №6
Счетчики
Работу выполнили студенты группы
Преподаватель:
Санкт-Петербург
202_
Исходные данные и задание.
Параметры используемых ПЛИС, необходимые для корректного создания проекта в Vivado, представлены в таблице 1.[pic 1]
Табл.1.Параметры ПЛИС
Реализовать различные типы счетчиков. В качестве входов использовать кнопки и/или слайдеры, в качестве выходов – светодиоды и семисегментный индикатор. Одним из входов разработанного устройства должен быть сигнал тактирования, корректно описанный в XDC файле.
Необходимо реализовать:
- Реализовать 30-разрядный синхронный двоичный суммирующий счетчик по модулю 230 с синхронным сбросом.
- На основе счетчика реализовать делитель частоты. Получить сигнал с периодом примерно 1 с.
- *Реализовать 30-разрядный синхронный двоичный реверсивный счетчик по модулю 230 с синхронным сбросом.
- **На основе делителя частоты и 8-разрядного циклического сдвигающего регистра реализовать кольцевой счетчик с периодом сдвига примерно 1 с.
6.1. Реализовать 30-разрядный синхронный двоичный суммирующий счетчик по модулю 230 с синхронным сбросом.
- Задание: Цифровое устройство должно иметь один вход для сброса счетчика (нижняя кнопка), один вход для сигнала тактирования и восемь информационных выходов (светодиоды). На выходные порты необходимо выводить восемь старших разрядов счетчика при проверке на плате и разряды с 15 по 8 для автопроверки.
- Схема устройства после Elaborated Design/Schematics
[pic 2]
Рис.1.Схема устройства после Elaborated Design/Schematics
- Схема устройства после разводки проекта
[pic 3]
Рис.2. Схема устройства после разводки проекта
- Количество использованных ресурсов ПЛИС
[pic 4]
Рис.3. Просмотр количества использованных ресурсов Post-Synthes
[pic 5]
Рис.4. Просмотр количества использованных ресурсов Post-Implementation
- Текст программы на VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
USE ieee.std_logic_arith.all;
entity lab61 is
Port ( clk : in STD_LOGIC;
srst : in STD_LOGIC;
led : out STD_LOGIC_VECTOR (7 downto 0));
end lab61;
architecture a of lab61 is
signal cntr : std_logic_vector(29 downto 0);
begin
process (clk) begin
if rising_edge(clk) then
if srst= '1' then
cntr <= (others => '0');
else
cntr <= unsigned(cntr) + 1;
end if;
end if;
end process;
led <= cntr(29 downto 22);
end a;
- Текст XDC/UCF файла
set_property PACKAGE_PIN U17 [get_ports srst]
set_property IOSTANDARD LVCMOS33 [get_ports srst]
#clk
set_property PACKAGE_PIN W5 [get_ports {clk}]
set_property IOSTANDARD LVCMOS33 [get_ports {clk}]
create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {clk}]
set_property PACKAGE_PIN U16 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN E19 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property PACKAGE_PIN U19 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property PACKAGE_PIN V19 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property PACKAGE_PIN W18 [get_ports {led[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
set_property PACKAGE_PIN U15 [get_ports {led[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[5]}]
set_property PACKAGE_PIN U14 [get_ports {led[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[6]}]
set_property PACKAGE_PIN V14 [get_ports {led[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[7]}]
- Таблица истинности
IN | OUT | |||||||
U17(srst) | U16 | E19 | U19 | V19 | W18 | U15 | U14 | V14 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Табл.1. Таблица истинности для 30-разрядного синхронного двоичного суммирующего счетчика по модулю 230 с синхронным сбросом.
...