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

Плохие тайминги в CycloneIII

Собрал проект на CycloneIII c Nios-ом. В ниосе есть ддр контроллер и lvds приемник. При компиляции критические ошибки. Не проходит анализ тайменгов по контроллеру ддр и лвдс. ДДР - контроллер альтеровский, ЛВДС - это тоже альтеровская корка.

 

В констрейнах прописано:

set_time_format -unit ns -decimal_places 3

derive_clock_uncertainty
create_clock -name {clk1} -period 20.000 -waveform { 0.000 10.000 } [get_ports {clkADC}]
create_clock -name {clk2} -period 40.000 -waveform { 0.000 20.000 } [get_ports {clkFPGA}]

 

Почему тайменги не проходят и как с этим бороться? В какую сторону идти? Может надо как-то хитро констрейны прописывать?

post-49045-1318590265_thumb.png

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


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

А на какой частоте вы заводите ддр2? У меня более 150 МГц не получалось собрать без криков таймквеста.

 

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


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

2 juvf

а что именно пишут в "Worst Case Timing Paths" ??

сори, это только в понедельник смогу

 

А на какой частоте вы заводите ддр2?

входной клок 50МГц. Ддр работает на 150 МГц. Ниос тоже от 150 работает. У меня получалось запускать ддр на 200 МГц, без проблем вроде работал. правда не помню были тайменги или нет. так то нареканий на работу ддр нет. Но сам проект.... не с того не с сего какой-нибудь регистр совершенно в другом месте, в моих модулях, встает в 1. Или данные с лвдс приходят так, что биты 13 и 10 залеплены на 1. Проц работает, программа работает, а какой нибудь модуль не работает. Пойду, на кофейной гуще погадаю..... Ни чего не меняю в проекте.... Пересоберу проект ....... ОООО!!! Работает. Еще раз пересоберу - не работает. И постоянно крики таймквеста.

 

У меня более 150 МГц не получалось собрать без криков таймквеста.
А с криками проект работал устойчево? или глючил?

 

ps у меня DDRII

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


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

Да я пока схему рисую. Сборку решил сделать чтоб посмотреть нормально все по пинам ляжет или нет.

Ниос тоже от 150 работает

:blink:

Ого! звоните срочно в книгу рекордов Гиннеса :help:

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


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

Ого! звоните срочно в книгу рекордов Гиннеса

Ой..... не 150, а половина. т.е. 75. Когда ддр работал 200, ниос работал на 100 МГц.

 

2 juvf

а что именно пишут в "Worst Case Timing Paths" ??

Слона и не заметил. Раскрыли глаза. Не проходил клок от ддр и от лвдс по моим самописным блокам. В блоках было много последовательных операторов "=". Подправил на "<=" и в мегакорке altsqrt была задержка 1 такт. Сделал 5. Ошибки исчезли.

Спасибо!!!

Изменено пользователем juvf

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


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

В констрейнах прописано:

set_time_format -unit ns -decimal_places 3
derive_clock_uncertainty
create_clock -name {clk1} -period 20.000 -waveform { 0.000 10.000 } [get_ports {clkADC}]
create_clock -name {clk2} -period 40.000 -waveform { 0.000 20.000 } [get_ports {clkFPGA}]

Вы сами их прописываете в sdc файле??

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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