Jump to content

    
Sign in to follow this  
Koluchiy

Clock enable в ISE 9.2

Recommended Posts

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

 

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

Есть некая схема, в которой есть сигналы, одни из которых надо обрабатывать с частотой 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.

Share this post


Link to post
Share on other sites
Здравствуйте.

 

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

Есть некая схема, в которой есть сигналы, одни из которых надо обрабатывать с частотой 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

Share this post


Link to post
Share on other sites
У него есть mylticylce констрейнты.

 

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

 

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

 

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

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

Share this post


Link to post
Share on other sites
То есть, ручками для каждого сигнала с ClkEna? Мдя...

 

 

 

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

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

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

Share this post


Link to post
Share on other sites
То есть, ручками для каждого сигнала с 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;

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this