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

Коллеги, пытаюсь запустить SERDES на 800МГц, но никак не могу победить разваливающиеся времянки.

Тактирование SERDES сделал от внешнего клока. И выскочастотный и низкочастотный клоки получаю посредством примитивов BUFGCE_DIV.

В документации Xilinx вроде именно так и рекомендуют делать.

Частоты вроде небольшие, но чтобы я ни пробовал писать в констрейнах, все время получаю ругань на Pulse Width.

Прошу совета у товарицей имеющих опыт запуска этих SERDES на подобные или более высокие частоты.

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


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

Коллеги, пытаюсь запустить SERDES на 800МГц, но никак не могу победить разваливающиеся времянки.

Тактирование SERDES сделал от внешнего клока. И выскочастотный и низкочастотный клоки получаю посредством примитивов BUFGCE_DIV.

В документации Xilinx вроде именно так и рекомендуют делать.

Частоты вроде небольшие, но чтобы я ни пробовал писать в констрейнах, все время получаю ругань на Pulse Width.

Прошу совета у товарицей имеющих опыт запуска этих SERDES на подобные или более высокие частоты.

Мои прикидки на пальцах для обычного кинтекса давали границу в районе 250Мгц. После которой необходима динамическая подстрока этого самого serdes.

 

Т.е. иными словами при фиксированной задержке в idelay можно работать на частотах ниже 250 Мгц. Выше нужно как то её крутить.

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


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

Мои прикидки на пальцах для обычного кинтекса давали границу в районе 250Мгц. После которой необходима динамическая подстрока этого самого serdes.

 

Т.е. иными словами при фиксированной задержке в idelay можно работать на частотах ниже 250 Мгц. Выше нужно как то её крутить.

Немного странно, т.к. даже на Cyclone IV я без проблем получал 800МГц без всяких ухищрений. А здесь намного более шустрый чип.

Под динамической подстройкой Вы имели ввиду фазовые соотношения между низкочастотным и высокочастотным клоком?

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


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

речь шла про 250 DDR

Я здесь пытаюсь использовать OSERDESE3. Он может работать 4x или 8x.

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


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

Немного странно, т.к. даже на Cyclone IV я без проблем получал 800МГц без всяких ухищрений. А здесь намного более шустрый чип.

Под динамической подстройкой Вы имели ввиду фазовые соотношения между низкочастотным и высокочастотным клоком?

Я говорю лишь про свой опыт. Т.е. может быть можно и без ухищрений но я не нашёл как.

 

Про подстройку речь идёт про подбор входной задержки линий данных так чтобы клок попадал в середину окна данных.

И делать это с некоторой регулярностью.

 

Я здесь пытаюсь использовать OSERDESE3. Он может работать 4x или 8x.
Внутреннее деление роли не играет. Я говорил про входную частоту.

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


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

Коллеги, пытаюсь запустить SERDES на 800МГц, но никак не могу победить разваливающиеся времянки.

Тактирование SERDES сделал от внешнего клока. И выскочастотный и низкочастотный клоки получаю посредством примитивов BUFGCE_DIV.

Вы бы хотя бы указали тип вывода: HP или HR, напряжение питания банка и тип вывода клока: MRCC или SRCC.

 

Полезные ссылки: xapp585, xapp1064.

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


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

У меня здесь немного другая проблема.

SERDES работает на выход и используется для грубой подстройки фазы выходного сигнала.

Точную подстройку я делаю через ODELAY.

Проблема с Pulse Width именно со стороны выскочастотного клока заходящего на SERDES.

Именно на него ругается Timing Analyzer.

Клоки для SERDES:

IBUFDS		#(
		.DQS_BIAS("FALSE") // (FALSE, TRUE)
		)

		ibufds_clk_800MHz (
		.I  (clk_800MHz_p),
		.IB (clk_800MHz_n),
		.O  (clk_800MHz)
		) ;

BUFGCE_DIV	#(
		.BUFGCE_DIVIDE (4),
		.IS_CE_INVERTED (1'b0),
		.IS_CLR_INVERTED (1'b0),
		.IS_I_INVERTED (1'b0)
		)

		bufg_clk_sys (
		.I (clk_800MHz),
		.CE (1'b1),
		.CLR (1'b0),
		.O (clk_sys)
		) ;

BUFGCE_DIV	#(
		.BUFGCE_DIVIDE (1),
		.IS_CE_INVERTED (1'b0),
		.IS_CLR_INVERTED (1'b0),
		.IS_I_INVERTED (1'b0)
		)

		bufg_clk_io (
		.I (clk_800MHz),
		.CE (1'b1),
		.CLR (1'b0),
		.O (clk_io)
		) ;

post-7056-1525255034_thumb.png

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


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

Вы бы хотя бы указали тип вывода: HP или HR, напряжение питания банка и тип вывода клока: MRCC или SRCC.

Питание 1.8В.

HR

Клок заведен как дифф. пара на GCLK.

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


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

Питание 1.8В, HR

Клок заведен как дифф. пара на GCLK.

Осталось узнать какой speed grade у кристалла.. :biggrin:

 

 

PS. Для HR частоту 800 МГц вроде как никто и не обещает:

 

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


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

Осталось узнать какой speed grade у кристалла.. :biggrin:

Блин. Слона то я и не приметил...

У них на DevKit speed grade 2 запаян.

Похоже придется изобретать свой SERDES на связке логика + ODDR с тактированием от 400МГц...

Хотя я так однажды уже делал для Arria GX...

 

PS. Для HR частоту 800 МГц вроде как никто и не обещает:

Непосредственно 800МГц мне не нужно.

Мне нужно подстраивать фазу выходного сигнала с шагом 1.25нс.

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


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

Мне нужно подстраивать фазу выходного сигнала с шагом 1.25нс.
В каком диапазоне?

 

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


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

В пределах такта 200МГц, т.е. 5нс = 4 шага.
По идее это делается сдвигом тактовой на 90 градусов. В DCM или PLL

 

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


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

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

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

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

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

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

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

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

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

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