Задача
По короткому входному импульсу выдать выходной импульс заданной длительности независимо от длины входного.
Тип схемы и среда
Последовательная схема: детектор фронта + вычитающий счётчик-таймер.
Алгоритм работы
Нарастающий фронт входа загружает счётчик значением длительности. Далее счётчик убывает до нуля, а выход активен, пока счётчик не ноль.
Код на AHDL
% Проект 14: одновибратор (растяжение импульса) % SUBDESIGN ahdl_14_odnovibrator ( clk, clrn : INPUT; trig : INPUT; q : OUTPUT; ) VARIABLE prev : DFF; cnt[7..0] : DFF; BEGIN prev.clk = clk; prev.clrn = clrn; prev.d = trig; cnt[].clk = clk; cnt[].clrn = clrn; IF trig & !prev.q THEN cnt[].d = H"FF"; ELSIF cnt[].q != 0 THEN cnt[].d = cnt[].q - 1; ELSE cnt[].d = 0; END IF; q = cnt[].q != 0; END;
Пояснения
Ждущий мультивибратор в цифре — это загружаемый таймер. Длительность = загруженное значение × период такта.
Инструменты и справочники по теме
📦 help-user.ru — скупка и ремонт компьютерной техники. Продать ноутбук, ПК, комплектующие — help-user.ru.
Что дальше
Скачайте ahdl_14_odnovibrator.tdf, создайте проект в MAX+PLUS II или Quartus,
назначьте выводы под свою плату и скомпилируйте. Остальные 49 разработок — в
разделе проектов на AHDL.