Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задержка MAXII + Quartus
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MSL
MAXII, EPM1270T144C5, Quartus 9.0, VHDL.

Есть внешняя тактовая частота, которая выставляется PLL другой микросхемы и может быть от 1MHz до 100MHz, по rising_edge этой частоты выставляются данные на выход и по этому же фронту читаем состояние результат. Если на частотах в мегагерцы нет проблем, то на частотах в десятки мегагерц уже нужно учитывать задержку которую дают буфера на входе/выходе MAXII (внешние), т.е. читать данные с задержкой в несколько ns. В общем есть что то типа

Код
CLK_RD <= CLK;
CLK_WR <= CLK;

process (CLK_WR)
begin

  if rising_edge(CLK_WR) and can_write = '1' then

    output <= data_wr;

  end if;

end process;

process (CLK_RD)
begin

  if rising_edge(CLK_RD) and can_read = '1' then

    data_rd <= input;

  end if;

end process;


Как "правильно" сделать на этой микросхеме и квартусе, чтобы CLK_RD задерживался например на 4 ns относительно CLK_WR?
artem79
Нужно ли будет вообще задавать задержку такого порядка. Сами линии в плисе дают примерно такиеже задержки. Создайте проект посмотрите в chip planner. Если мало поставть буферный элемент. Должно хватить.
MSL
Цитата(artem79 @ Jul 14 2009, 14:18) *
Нужно ли будет вообще задавать задержку такого порядка. Сами линии в плисе дают примерно такиеже задержки. Создайте проект посмотрите в chip planner. Если мало поставть буферный элемент. Должно хватить.


Проект есть и работает, это просто "доводки". Куда "поставть буферный элемент"??? Данные на входе input появляются после полтакта CLK примерно, после того, как был выставлен output, происходит задержка output и input во внешних буферах. Период при 50 MHz это 20 ns. И мне задержка в несколько ns при чтении критична при таких частотах. Вопрос с том как павильно сделать CLK_RD <= CLK after x ns; для MAXII и Quartus.
yura-w
Цитата(MSL @ Jul 14 2009, 14:59) *
как павильно сделать CLK_RD <= CLK after x ns; для MAXII и Quartus.

правильнее: посмотрите MAX II Device Handbook, описание возможности в разделе Programmable Input Delay, настройка описана в разделе Programmable Input Delay(эти настройки только для Quartus).
MSL
Цитата(yura-w @ Jul 14 2009, 22:17) *
правильнее: посмотрите MAX II Device Handbook, описание возможности в разделе Programmable Input Delay, настройка описана в разделе Programmable Input Delay(эти настройки только для Quartus).


Может я не совсем понятно все описал, но пинов входных пинов CPLD в моем примере только 2 (CLK и input) и входные задержки мне на них не нужны. CLK_RD и CLK_WR это сигналы в VHDL модуле. Спасибо конечно за совет перечитать доки-)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.