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

Делитель частоты. Cyclone V. Минимум ALMs

Просто из интереса, стала задача описать делитель 50 МГц -> 1 Гц используя минимум логики в Cyclone V. Сейчас минимум в 26 регистров и 19 ALMs. Используя готовое lpm_counter - 26 регистров и 20 ALMs.

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


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

Просто из интереса, стала задача описать делитель 50 МГц -> 1 Гц используя минимум логики в Cyclone V. Сейчас минимум в 26 регистров и 19 ALMs. Используя готовое lpm_counter - 26 регистров и 20 ALMs.

Чтобы меньше логики кушало можно использовать вначале PLL для деления частоты, а потом уже доделить ее на логике - в таком случае разрядность счетчика и компараторов будет меньше:

 

process (clk,reset)  
begin  
  if reset = '1' then  
   A <= '0';  
   count <= (others=>'0');  
  elsif rising_edge(clk) then  
    if count=x"FF" then  
     count <= (others=>'0');  
     A <= not A;  
    else  
     count <= count + 1;  
    end if;   
   end if;  
end process;

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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