Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Вы владелец небоскреба! Стройте этажи, управляйте магазинами и работниками!

Небоскреб Мечты

Казуальные, Симуляторы, 2D

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
microtha

Готовый секундомер на ПЛИС. код написан на зайлинкс. VHDL⁠⁠

8 лет назад

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;


entity Timer is
port
(
clk : in std_logic; --входной тактовый сигнал
reset : in std_logic; --кнопка сброса
start : in std_logic; --кнопка пуска
stop : in std_logic; --кнопка останова
sseg : out std_logic_vector(6 downto 0); --сегменты индикатора
anode : out std_logic_vector(3 downto 0) --аноды семисегментных индикаторов
);
end Timer;


architecture Behavioral of Timer is


signal en_cou : std_logic := '0'; --разрешение работы счётчика секунд
signal cou : integer range 0 to 49999999 := 0; -- для счёта секунд
signal cou_scan : unsigned(16 downto 0) := (others =>'0'); --счетчик переключения анодов
signal sec : integer range 0 to 15 := 0; --единицы секунд
signal d_sec : integer range 0 to 15 := 0; --десятки секунд

signal segments : integer range 0 to 15 := 0; --цифра для отображения на текущем индикаторе

begin


-- счётчик
process(clk, reset) begin
if reset = '1' then -- сброс - счётчик не считает, разрешение счёта обнуляется, значение обнуляется
en_cou <= '0';
cou <= 0;
elsif clk event and clk = '1' then --если не сброс, то счётчик работает
if start = '1' then --кнопка старт нажата
en_cou <= '1';
elsif stop = '1' then --кнопка стоп нажата
en_cou <= '0';
end if;

if en_cou = '1' then --сам счетчик таймера
if cou = 49999999 then --49999999 тактов = 1 секунда
cou <= 0;
if sec = 9 then --9
sec <= 0;
if d_sec = 6 then --6
d_sec <= 0;
else
d_sec <= d_sec + 1;
end if;
else
sec <= sec + 1;
end if;
else

cou <= cou + 1;
end if;
else
cou <= cou;
sec <= sec;
d_sec <= d_sec;
end if;
end if;
end process;


-- переключение индикаторов
process(clk) begin
if clk event and clk = '1' then
cou_scan <= cou_scan + 1;
if cou_scan(16) = '0' then
anode <= "0001";
segments <= sec;
else

anode <= "0010";
segments <= d_sec;
end if;
end if;
end process;

--декодирование цифры на семисегментный индикатор
with segments select
sseg <= "0000110" when 1, --1
"1011011" when 2, --2
"1001111" when 3, --3
"1100110" when 4, --4
"1101101" when 5, --5
"1111101" when 6, --6
"0000111" when 7, --7
"1111111" when 8, --8
"1101111" when 9, --9
"1110111" when 10, --A
"1111100" when 11, --b
"0111001" when 12, --C
"1011110" when 13, --d
"1111001" when 14, --E
"1110001" when 15, --F
"0111111" when others; --0


end Behavioral;


<script>

источник: программист из infomonster
проверили на работоспособность =)
если надо ucf-ка, скину

Показать полностью
Xilinx Код для секундомера Vhdl Длиннопост Текст
7
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии