Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Плохие тайминги в CycloneIII
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
juvf
Собрал проект на 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}]


Почему тайменги не проходят и как с этим бороться? В какую сторону идти? Может надо как-то хитро констрейны прописывать?
Kuzmi4
2 juvf
а что именно пишут в "Worst Case Timing Paths" ??
gosu-art
А на какой частоте вы заводите ддр2? У меня более 150 МГц не получалось собрать без криков таймквеста.
juvf
Цитата(Kuzmi4 @ Oct 14 2011, 17:28) *
2 juvf
а что именно пишут в "Worst Case Timing Paths" ??

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

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

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

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

ps у меня DDRII
gosu-art
Да я пока схему рисую. Сборку решил сделать чтоб посмотреть нормально все по пинам ляжет или нет.
Цитата(juvf @ Oct 14 2011, 16:50) *
Ниос тоже от 150 работает

blink.gif
Ого! звоните срочно в книгу рекордов Гиннеса help.gif
juvf
Цитата
Ого! звоните срочно в книгу рекордов Гиннеса

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

Цитата(Kuzmi4 @ Oct 14 2011, 16:28) *
2 juvf
а что именно пишут в "Worst Case Timing Paths" ??

Слона и не заметил. Раскрыли глаза. Не проходил клок от ддр и от лвдс по моим самописным блокам. В блоках было много последовательных операторов "=". Подправил на "<=" и в мегакорке altsqrt была задержка 1 такт. Сделал 5. Ошибки исчезли.
Спасибо!!!
Fynjisx
Цитата(juvf @ Oct 14 2011, 14:04) *
В констрейнах прописано:
Код
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 файле??
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.