реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Генерация тактового сигнала/импулса с применением задержки IOB
DSIP
сообщение Jan 26 2017, 04:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 18-04-07
Из: Россия, г. Томск
Пользователь №: 27 137



Опять на тему "нужна тактовая а её нет", и внутренний тактовый генератор ПЛИС недоступен.
https://electronix.ru/forum/index.php?s=&am...t&p=1476805

Или если нужно создать импульс из фронта при отсутствии тактовой. (И это, наверно, даже более актуально).

Есть такой способ генерации тактового сигнала в ПЛИС - построить кольцевой генератор из кучи LUTов.
Вместо кучи LUTов можно применить встроенную в IOB задержку, получим простой тактовый генератор.
Пример для Altera:
Код
  alt_iobuf
  clk_iobuf
  (
    .i (~clk   ),
    .oe(1'b1   ),
    .o (clk    ),
    .io(clk_pin)
  );

И в qsf файле указываем задержку:
Код
// Use IOB delay
set_instance_assignment -name PAD_TO_CORE_DELAY 6 -to clk_pin

Разумеется, для указания задержки, нужно сначала прочитать даташит на конкретную ПЛИС, выяснить какие задержки встроены в IOB, и какие параметры им можно передавать.

Эту задержку можно применить для генерации одиночного импульса из фронта при отсутствии тактового сигнала, например - сгенерировать сигнал сброса.
Код
  alt_iobuf
  delay_iobuf
  (
    .i (delay_i  ),
    .oe(1'b1     ),
    .o (delay_o  ),
    .io(delay_pin)
  );

  assign pulse = delay_i & ~delay_o;

Не забываем прочитать как, подумать какую и указать задержку в qsf файле:
Код
// Use IOB delay
set_instance_assignment -name PAD_TO_CORE_DELAY 6 -to delay_pin


Понятно, что в этом случае теряем один вывод ПЛИС, жертвы...

FPGA clock pulse generation IOB delay - это для поисковых машин
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016