Перейти к содержанию

john72

Members
  • Постов

    4
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные john72

  1. В общем как-то так мне это видится:

    Асинхронный. Сигнал кнопки является тактовым для триггера.

    reg out = 0;
    
    always @(posedge knob)
    out <= ~out;
    

    Синхронный. Сигнал кнопки лишь управляющий, при наличии другого тактового сигнала:

    wire knob;
    reg out = 0;
    reg knob_d = 0;
    
    always@(posedge clk)
    knob_d <= knob; //задерживаем сигнал от кнопки на один такт
    
    assign knob_edge = (knob^knob_d) & knob; //выделяем фронт и спад сигнала кнопки, и оставляем только фронт
    
    always @(posedge clk)
    if(knob_edge) out <= ~out; //переключаем выходной регистр по наличию фронта
    

    спасибо, не смог я скомпилировать объект, Quartus выдал 4 ошибки

  2. Добрый день!

    Недавно начал изучать ПЛИС. Необходима ваша помощь в написании устройства, принцип которого схож с работой кнопки и D триггера. Нажатие на кнопку без фиксации - на выходе сего устройства - логическая 1, при отпускании кнопки, 1 удерживается. При повторном нажатии на кнопку - логический 0 на выходе устройства. И т.д. Типа кнопки on/off. Или реализовывать внутри плис это все на D триггере?

    Спасибо всем откликнувшимся.

×
×
  • Создать...