ig_f 0 1 сентября, 2022 Опубликовано 1 сентября, 2022 · Жалоба Добрый день! В проекте есть приемник CSI2 на частоте на частоте 300 МГц, 600 Мбит/с в режиме ДДР соответственно. Для приема используется блок altlvds_rx c десериализацией 8. Входной клок заведен на отдельную PLL, и c[0] используется чтобы латчить входные данные. Данные center-aligned, задержки прописаны по методичке ddr-timing-cookbook. В PLL ставлю нулевую задержку. Собираю, смотрю тайминги Слак по setup. Напрашивается добавить фазы в PLL. Добавляю 90гр и смотрю опять Фаза накрутилась, но квартус зачем-то навалил и задержки по данным. Сперва решил, что он куда-то регистры разместил далеко, залокейтил их как в первой сборке, но оказалось он впихнул на вход комбинационную логику которая делает DOUT = DIN и тупо добавляет задержки данных. Ставил 120гр фазы, квартус уменьшает задержку комбинационной логики, фазы PLL хватает чтоб слак по setup убрать, но теперь надо бороться с холдом... ок, вижу что там нужно вписать теперь мультицикл, так как фронт вылез за launch, вписываю, собираю - он опять увеличил комбинационную задержку так что и по сетапу прослакано... Можно ли сделать так, чтобы квартус не довавлял/убавлял по свой прихоти эту комбинационную логику пустую? Или я что то не так трактую? Вот таблицы DataPath из репорта до и после добавления мультицикла. +3.5 нс на ровном месте Я не специалист по заданию ограничений но может как-то это решается? Если нет, то каким путем нужно идти, чтобы добиться сходимости таймингов? PS Проект достался по наследству, он как-то работал в железе до тех пор пока не потребовалось сделать пару изменений. После сборки данные перестали приниматься. Оказалось нет входных констрейнов. Я немного слышал о ПЛИС и решил, что смогу быстренько подчинить, а он как уж на сковороде Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_f 0 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба В общем проблема решена, частично. Может кому-то будет полезно. Проблема была в длинных интерконнект путях, которые квартус добавлял вместе с моей накруткой фазы в PLL. Отключил в настройках фиттера функцию Optimize Hold Timinng, после этого фиттер стал более послушным, перестал накидывать эти задержки, и вместе с локейтом регистров это дало результат - по входным данным слаки удалось устранить, приемник заработал как надо. Правда, еще есть слаки в длинных комбинационных путях fifo, которая стоит после lvds приемников... Я пока-что забил на это, там максимальная величина слакп 0.029 нс. Но в дальнейшем хотелось бы устранить. Может посоветуете по-крупному методологию, как с этим можно бороться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба On 9/16/2022 at 12:38 PM, ig_f said: длинных комбинационных путях fifo можете пояснить этот термин - "длинный комбинационный путь"? Под этим понимается много слоев логики? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_f 0 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба Да, я имел ввиду многослойную логику. Но счас глянул конкретное место с самым большим слаком, и там всего один LUT в той же ячейке... При этом они в одном LABе. Слак по холду. На картинке прослаканый путь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба On 9/16/2022 at 2:36 PM, ig_f said: Слак по холду если бы туда как-нибудь добавить один логический элемент... и если при этом не появится слак по setup... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_f 0 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба 17 minutes ago, Yuri124 said: если бы туда как-нибудь добавить один логический элемент... Это генерённая fifo из визарда не представляю как туда чего-то добавить. Можно наверно только регистр этот попробовать в другой лаб поместить... Вот посмотрел сетап для этого пути. Т.е. там дисбаланс чудовищный в пользу сетапа. ПОчему то квартус не смог это разрулить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба 1 hour ago, ig_f said: Вот посмотрел сетап для этого пути. Т.е. там дисбаланс чудовищный в пользу сетапа. ПОчему то квартус не смог это разрулить сами цифры ни о чем не говорят. смотрите детализацию, квартус вам все скажет, почему, отчего и как. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба попробовать поиграться еще раз с настройками квартуса и /или скомпилировать с разными seed. При таком незначительном слаке может помочь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_f 0 16 сентября, 2022 Опубликовано 16 сентября, 2022 (изменено) · Жалоба 6 minutes ago, Yuri124 said: попробовать поиграться еще раз с настройками квартуса и /или скомпилировать с разными seed. Пока путем релокейта прослаканых регистров в соседний LAB удалосьизбавиться от красных надписей. Понадобилось 5-6 перестановок: локейтишь один, появляется новый) Благо всего пара регистров со слаками было... Но смущает то, что в списке осталось много регистров со положительным слаком, но небольшим 5 - 20 пс. И при этом по сетапу у них около 12 нс, т.е. огромный запас. Было бы хорошо подкорректировать, но не вручную же их таскать по чипу? Попробую воспользоваться Ваши советом Quote смотрите детализацию не очень понял, о какой детализации идет речь? Изменено 16 сентября, 2022 пользователем ig_f Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 16 сентября, 2022 Опубликовано 16 сентября, 2022 · Жалоба 39 minutes ago, ig_f said: не очень понял, о какой детализации идет речь? Что-то вроде Report detailed path. он покажет полностью как идет сигнал, где какие дельты и почему. После этого внимательное чтение документации на чип покажет, откуда такое большое/малое время во временном анализе и как с этим бороться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yuri124 4 19 сентября, 2022 Опубликовано 19 сентября, 2022 · Жалоба On 9/16/2022 at 6:04 PM, ig_f said: осталось много регистров со положительным слаком, но небольшим 5 - 20 пс при расчете времянки анализатор учитывает наихудшие возможные значения задержек, чего в реальности не будет. можно посмотреть, какая группа сигналов "на грани" и попробовать прописать в констрейнах на всю группу ограничения - чтобы изначально квартус пытался развести с запасом. Конечно, после окончания разводки может оказаться (после окончательного расчета), что заданные констрейны нарушены, но стало лучше, чем было без них. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 21 сентября, 2022 Опубликовано 21 сентября, 2022 · Жалоба посмотрите это Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться