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

И снова про счетчики

Для числа 14, т.е. 4'b1110, достаточно объединить 3 старших бита по И. Если выход равен 1, то все эти биты установлены, значит число есть 4'b1110 или 4'b1111. А это и есть >=14. А чтобы точно убедиться, что число точно равно 14, нужно проверять еще и младший бит на равенство 0, т.е. проинвертировать его и подать на ту же схему И, что и раньше. Теперь она должна быть 4-х-входовой.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос по теме счетчиков.

 

А можно ли, что бы повысить быстродействие счетчика, сравнивать значение счетчика с максимальным поразрядно, убрав многоразрядные И, ИЛИ?

 

Задаем макс. значение счетчика.

constant max_count : std_logic_VECTOR(26 downto 0) := "1......";

Проверяем значение верхнего (26-го разряда)

process (clk)
    begin
    if (clk'event and clk = '1') then
        if (count_mill(26) ='1') then     -- сравниваем count_mill(26) с "1"
            en_rst(26) <='1';
        else
            en_rst(26) <= '0';
        end if;
    end if;
end process;

Если он "1" - сравниваем значение 25-го разряда, 

L: for i in 25 downto 0 generate

process (clk)
    begin
    if (clk'event and clk = '1') then
        if (en_rst(i+1) = '1' and count_mill(i) = max_count(i)) then 
         en_rst(i)<='1'; 
        else             
         en_rst(i)<= '0';
        end if;
    end if;
end process;

end generate L;

И так далее, до 0-го. Сигнал en_rst(0) - на выход счетчика.

 

Если счетчик увеличиваем на частоте, много меньшей тактовой - можно сравнивать все разряды. Если на частоте, равной тактовой - сравниваем только "1" -е разряды.

 

Или так не надо делать, и можно обходиться проще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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