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

Lattice + iceCUBE2 + iCE40+ LP8K помогите с констрейнами

Всем привет!

Помогите советом.

Есть DDR + PLL.

Входной клок 65MHz (Input 65MHz).

Выходной клок 130MHz сдвинутый по фазе на 90 градусов (Gen 130MHz).

DDR.thumb.jpg.fcd5a655eb5807490d998f5d601f60d0.jpg

Как правильно описать констрэйны, что бы поставить Gen 130MHz по центру данных ?

Заранее спасибо!

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


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

Никак. Констрейнами положение клока относительно данных (или данных относительно клока) выставить нельзя.

Как работает set_output_delay, неоднократно тут обсуждалось. Воспользуйтесь поиском.

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


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

On 7/11/2024 at 8:04 PM, andrew_b said:

Никак. Констрейнами положение клока относительно данных (или данных относительно клока) выставить нельзя.

Как работает set_output_delay, неоднократно тут обсуждалось. Воспользуйтесь поиском.

Вообще то  это вход.

По поводу Gen130MHz вышла ошибочка. Это входной клок, сделанный на PLL, из Input65MHz.

Приёмная частота сдвинута относительно передающей на 90 градусов.

Констрэйн нужен для проверки правильности приёма данных.

 

Входной "Input 65MHz".

Входной "Gen 130MHz" сделан на PLL из "Input 65MHz" и сдвинут по фазе на 90 градусов.

Входные данные "Input Data".

 

DDR.thumb.jpg.fcd5a655eb5807490d998f5d601f60d0.jpg

Как правильно описать констрэйны, что бы Gen 130MHz был по центру данных ?

Заранее спасибо!

 

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

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


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

14 часов назад, OLD_SHURiK сказал:

Вообще то  это вход.

По поводу Gen130MHz вышла ошибочка. Это входной клок, сделанный на PLL, из Input65MHz.

Приёмная частота сдвинута относительно передающей на 90 градусов.

Констрэйн нужен для проверки правильности приёма данных.

 

Входной "Input 65MHz".

Входной "Gen 130MHz" сделан на PLL из "Input 65MHz" и сдвинут по фазе на 90 градусов.

Входные данные "Input Data".

 

DDR.thumb.jpg.fcd5a655eb5807490d998f5d601f60d0.jpg

Как правильно описать констрэйны, что бы Gen 130MHz был по центру данных ?

Заранее спасибо!

 

 

Ответ тот-же. Никак. Вы либо придумываете способ калибровки входного потока под необходимый центр данных, используя всякие динамические задержки и сдвиги клоков на PLL. Нет констрейнов, которые двигают клок или данные. Констрейны нужны для того, чтобы временной анализ мог осуществить этот самый анализ. 

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


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

On 7/12/2024 at 10:36 AM, Flip-fl0p said:

Ответ тот-же. Никак. Вы либо придумываете способ калибровки входного потока под необходимый центр данных, используя всякие динамические задержки и сдвиги клоков на PLL. Нет констрейнов, которые двигают клок или данные. Констрейны нужны для того, чтобы временной анализ мог осуществить этот самый анализ. 

Может я неправильно выразился, но мне и нужно  -> написать Констрейны  для того, чтобы временной анализ мог осуществить этот самый анализ.

Какое время ему надо указать (или что добавить к Tco_min и Tco_max) для

"-min -add_delay" и "-clock_fall -min -add_delay"

"-max -add_delay" и "-clock_fall -max -add_delay"

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

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


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

On 7/12/2024 at 10:36 AM, Flip-fl0p said:

Ответ тот-же. Никак. Вы либо придумываете способ калибровки входного потока под необходимый центр данных, используя всякие динамические задержки и сдвиги клоков на PLL. Нет констрейнов, которые двигают клок или данные. Констрейны нужны для того, чтобы временной анализ мог осуществить этот самый анализ. 

Ещё раз про DDR.

Lattice

iCEcube2

iCE40 LP8K

Правильно лия понял.

В iCE40 серии LP нет средств выравнивания даных и клоков.

PLL (SB_PLL40_CORE) может делаь сдвиг фазы только на 0 или 90 градусов.

Временной анализ показывает только время setup.

И если время setup отрицательное, то выровнять даные относительно клока можно только с использованием в PLL - DYNAMICDELAY?

Т.е. надо писать свой код. Который будет анализировать принимаемые данные и используя DYNAMICDELAY будет пытаться поставить клок в нужное(стабильное) место?

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

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


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

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

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

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

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

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

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

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

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

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