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

Clock enable в ISE 9.2

Здравствуйте.

 

Вопрос такой.

Есть некая схема, в которой есть сигналы, одни из которых надо обрабатывать с частотой 100 Мгц, другие - 25 Мгц.

По 25 Мгц есть довольно сложная комбинаторная логика (кучка ifов, cas'ов и т.д.).

 

Написал я это на Верилоге в таком примерно стиле:

 

always @ (posedge clk100)

begin

if (ClkEna)

output1 <= input1 + input2;

end

 

ClkEna равен 1, когда 2хбитный счетчик по частоте 100 равен 0.

 

Трабла в чём.

Когда всё это дело компилится, мне Xilinx'овский timing analyzer выдает несоблюдение временных требований как раз по цепям, где на 25 Мгц частоте считается большая комбинаторная логика.

Причем он считает, что на рассчет этой логики у него есть 10 нс (как будто ClkEna сигнал может приходить каждый такт, хотя на самом деле - каждые 4 такта и 40 нс).

 

Его можно как-то убедить в том, что ClkEna есть, и его надо учитывать при расчете временных параметров?

Или оно этого не умеет.

 

А тогда как им пользоваться?

 

Заранее спасибо за ответы.

Да, ISE 9.2.

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


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

Здравствуйте.

 

Вопрос такой.

Есть некая схема, в которой есть сигналы, одни из которых надо обрабатывать с частотой 100 Мгц, другие - 25 Мгц.

По 25 Мгц есть довольно сложная комбинаторная логика (кучка ifов, cas'ов и т.д.).

 

Написал я это на Верилоге в таком примерно стиле:

 

always @ (posedge clk100)

begin

if (ClkEna)

output1 <= input1 + input2;

end

 

ClkEna равен 1, когда 2хбитный счетчик по частоте 100 равен 0.

 

Трабла в чём.

Когда всё это дело компилится, мне Xilinx'овский timing analyzer выдает несоблюдение временных требований как раз по цепям, где на 25 Мгц частоте считается большая комбинаторная логика.

Причем он считает, что на рассчет этой логики у него есть 10 нс (как будто ClkEna сигнал может приходить каждый такт, хотя на самом деле - каждые 4 такта и 40 нс).

 

Его можно как-то убедить в том, что ClkEna есть, и его надо учитывать при расчете временных параметров?

Или оно этого не умеет.

 

А тогда как им пользоваться?

 

Заранее спасибо за ответы.

Да, ISE 9.2.

У него есть mylticylce констрейнты. Другой путь отказаться от clk_en и использовать выход clkdv DCM, то есть заводить ещё одну частоту - 25 МГц, синхронность схемы при этом сохранится, ISE учитывает то, что 25 есть производная частота от 100

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


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

У него есть mylticylce констрейнты.

 

То есть, ручками для каждого сигнала с ClkEna? Мдя...

 

Другой путь отказаться от clk_en и использовать выход clkdv DCM

 

C этого всё начиналось, но тогда надо городить огород с выбором фазы 25 Мгц сигнала для подстройки под время прихода входного 100 Мгц сигнала...

Или FIFO, что в общем не очень получается.

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


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

То есть, ручками для каждого сигнала с ClkEna? Мдя...

 

 

 

C этого всё начиналось, но тогда надо городить огород с выбором фазы 25 Мгц сигнала для подстройки под время прихода входного 100 Мгц сигнала...

Или FIFO, что в общем не очень получается.

Не надо фазу подбирать. С clkdv сигнал синфазной с clk0 dcm, а время установку по clk0 для данных, изменяющихся по clkdv ise сам проверяет

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


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

То есть, ручками для каждого сигнала с ClkEna? Мдя...
Не надо мдякать. Задаётся констрейн только для ClkEna. Примерно так:

 

 # clock
NET clk100 TNM_NET = clk100;
TIMESPEC TS_clk100 = PERIOD clk100 100 MHz;

# multi-cycle paths -- clock enables
NET ClkEna TNM = ClkEna;
TIMESPEC TS_ClkEna = FROM ClkEna TO ClkEna TS_clk100/4;

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


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

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

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

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

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

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

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

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

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

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