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

У меня нет ALTLVDS_RX. У меня самописный приёмник. По некоторым причинам ALTLVDS_RX не подходит.

А что именно за причины? Это ж 1в1 для режима ддр тоже самое.

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


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

А что именно за причины? Это ж 1в1 для режима ддр тоже самое.

Для подстройки фазы клока я применяю выводы для управления динамическим сдвигом, для этого ALT_LVDS_RX я запускаю в режиме EXTERNAL_PLL. Поэтому между ALT_LVDS_RX и PLL необходимо применять клоковый буфер, который требует 2 частоты с PLL, иначе работать не будет. А 2 частоты я не могу применить из-за того, что мне просто не хватит выводов PLL для динамической подстройки. А вот попробовать применить ALT_LVDS_RX в качестве DDR приёмника - это мысль.

Изменено пользователем Flip-fl0p

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


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

В том и фишка, при 2 разрядном выходе лвдс_рх вырождается в ддр с одним клоком.

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


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

В том и фишка, при 2 разрядном выходе лвдс_рх вырождается в ддр с одним клоком.

Результат аналогичный:

ALT_LVDS_RX.png

Проблема появляется если входы размещены в банке IOBANK_4A.

Если входы разместить в банке IOBANK_5B - то проблема уходит.

P.S. Реальная железка работает без нареканий :wacko:

Quartus 15.0 результат аналогичный...

Изменено пользователем Flip-fl0p

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


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

P.S. Реальная железка работает без нареканий :wacko:

Временная модель, приведенная Вами - скорее всего для худшего случая (slow - повышенная температура, пониженное напряжение и технологический разброс). Все-таки Вы уверены, что клок идет по глобальной линии клока? Интересно посмотреть запас по холду, если он большой, то можно попробовать фазу подергать.

Зы Посмотрел внимательно на последний отчет по времянке, у Вас ограничения не потерялись в sdc (relationship соответствует 1нс, а должен по идее 2.5нс)?

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


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

Временная модель, приведенная Вами - скорее всего для худшего случая (slow - повышенная температура, пониженное напряжение и технологический разброс). Все-таки Вы уверены, что клок идет по глобальной линии клока? Интересно посмотреть запас по холду, если он большой, то можно попробовать фазу подергать.

Зы Посмотрел внимательно на последний отчет по времянке, у Вас ограничения не потерялись в sdc (relationship соответствует 1нс, а должен по идее 2.5нс)?

В последнем отчете, я даже на задавл констрейны. Я Посмотрел на FMAX, посмотрел на слаки - и сделал вывод о том, что этот вариант так-же не работает. Не думаю, что если я поставлю PLL, задам констрейны он будет отличаться.

Изменено пользователем Flip-fl0p

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


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

В последнем отчете, я даже на задавл констрейны. Я Посмотрел на FMAX, посмотрел на слаки - и сделал вывод о том, что этот вариант так-же не работает. Не думаю, что если я поставлю PLL, задам констрейны он будет отличаться.

Задайте ограничения, тогда slack уменьшится до -2нс, потом сдвиньте приемную частоту больше, чем на 2нс (300градусов), если hold не вылезет, то по setup должно пройти (в идеальном случае). Но откуда там набегает 3нс при переходе от ddr регистра до обычного в соседней ячейке - загадка.

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


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

Но откуда там набегает 3нс при переходе от ddr регистра до обычного в соседней ячейке - загадка.
Вероятно, отгадка такая:

Cyclone V DQ pin used for user pin(not DDR DQ pin), always need to route through HMCPHY_RE. this routing element would cause almost 2ns differnece between setup and hold. no way to bypass it.

so never use DQ pins as high speed input or output in cyclone V

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


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

Вероятно, отгадка такая:

Ох ё... Это многое объясняет. В handboock на cyclone 5 я даже не видел ничего похожего (неудивительно 3800 страниц...).

Изменено пользователем Flip-fl0p

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


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

Вероятно, отгадка такая:

Очень интересно. Архитектурная особенность только для cyclone V или для других семейств типа arriaV тоже?

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


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

Очень интересно. Архитектурная особенность только для cyclone V или для других семейств типа arriaV тоже?
Про Арию не знаю, не работал. В Циклоне я столкнулся со слаками пару лет назад: https://electronix.ru/forum/index.php?showtopic=130681

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


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

Остался ещё один нерешённый вопрос. Почему Quartus удалил частоты С1 и С2 созданные на PLL.... И оставил только С0. Он их не будет "оптимизировать" только если я каждой частоте назначу разные сдвиги фаз.

Да и почему железка то работает как положено и самое главное стабильно, имея такое нарушение по Setup ?

Изменено пользователем Flip-fl0p

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


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

и почему железка то работает как положено и самое главное стабильно, имея такое нарушение по Setup ?

А что удивительного? если задержка ровно на такт у вас, то всё и работает как надо, другое дело, если вы начнете её в температуре гонять, от нулей до +70С, там могут начаться чудеса. Ну и при массовом производстве могут на разных экземплярах разные результаты получаться.

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


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

Упаду на хвост по теме. Не удаётся выполнить выходные времянки для ЦАП(Fclk = 100MHz,SDR,Cyclon III).

set_output_delay 5 -max -clock {clk_dac} [get_ports {dac_*}]
set_output_delay -3 -min -clock {clk_dac} [get_ports {dac_*}]

Клок в плис приходит от ЦАП -> PLL -> формирование данных, fast_output_register задействован.

Вращение фазы PLL нужного эффекта не приносит. Почему-то на io_obuf задержка 5,3нс и разница на двух битах достигает 5,3 - 2,3 = 3нс.

Что посоветуете,коллеги?

post-18832-1502352978_thumb.png

post-18832-1502352993_thumb.png

post-18832-1502353705_thumb.png

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


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

Что посоветуете,коллеги?

Эти ограничения из даташита (просто максимальное окно на работу при них получается всего 10-5-3=2нс)? clk_dac - это выход pll (из приведенных ограничений не видно)? Для подробного анализа можете привести схему чипланнера, на которой показаны расположения io-буферов и pll (может они по всему периметру раскиданы, так непонятно)?

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


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

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

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

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

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

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

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

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

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

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