реклама на сайте
подробности

 
 
> задание OFFSET OUT, как контролировать минимальные значения?
disel
сообщение Mar 12 2009, 12:01
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Добрый день!

Никак не могу понять как правильно написать этот констрейн. Прошу направить на путь истинный smile.gif

Задача:
Выдача данных с Virtex4 на ЦАП. Режим SYSTEM_SYNCHRONOUS. Клок на плис и на цап приходит в одной фазе с клочного дистрибьютера. Тактовая частота 192 Мгц (период соответсвенно ~ 5,2 нс). Данные должны быть достоверны во временном окне 0,8-4,37 нс относительно положительного клока.

По всем документам которые прочитал (wp237 и т.д.) нужно задать примерно такой констрен:
TIMEGRP "DAC_PAD_GRP" OFFSET = OUT 0.8 ns AFTER "DAC_Tx_CLK_P" TIMEGRP "DAC_RG_GRP" RISING;

OFFSET = OUT по сути проверяет условие: временя прохождения данных до выходного пада от регистров + временя прохождения клока от входного пада до регистров < меньше требумой.

У меня эта сумма получается больше периода, порядка 8,6-9,1 нс. Подвигать ее влево-вправо не проблема, вопрос в другом:
как правильно задать констрейн в случае, когда время прохождения сигнала от входного до выходного пада больше периода? Если прибавить период или два, т.е написать OFFSET = OUT 6 ns или OFFSET = OUT 11.2 ns, то окно валидности данных проверяется только по одной границе.

Как многоуважемые гуру поступают в таком случае?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Boris_TS
сообщение Mar 12 2009, 13:18
Сообщение #2


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(disel @ Mar 12 2009, 16:01) *
У меня эта сумма получается больше периода, порядка 8,6-9,1 нс.

Могу ошибаться, но мне кажется эта цифра достаточно странной для Virtex-4... Поэтому задам ряд наводящих вопросов:
1. Используете ли Вы выходные триггеры по линиям данных для DAC?
2. Используете ли Вы DCM для DAC_Tx_CLK_P ?
3. Какой путь проходит DAC_Tx_CLK_P ?

К сожалению по OFFSET OUT подсказать не могу... т.к. в моих проектах особой пользы от этого constraint не было: частота выходных сигналов до 100МГц - т.е. можно без подстраховки, а время задержки получалось постоянным и определялось только параметрами ПЛИС; из-за того что CLK у меня проходили по следующему пути: IBUFG->(DLL) ->BUFG->C(OFF) - использовались только специально предназначенные для CLK линии связи, а данные с выхода OFF сразу (с 0 задержкой) попадают на OBUF.

А мнения по правильному применению OFFSET OUT сам бы с удовольствием послушал...
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Mar 12 2009, 13:42
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Boris_TS @ Mar 12 2009, 16:18) *
1. Используете ли Вы выходные триггеры по линиям данных для DAC?

...

А мнения по правильному применению OFFSET OUT сам бы с удовольствием послушал...

Почитайте WP237. OFFSET OUT нужен только тогда, когда между последним триггером и пэдом есть логика. Но сейчас так никто не делает. Поэтому по памяти (лень перечитывать) синтезатор умеет сам ставить фазу DCM на основании OFFSET OUT. Однако, мне лично спокойнее поставить ее самому.
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 12 2009, 13:57
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(DmitryR @ Mar 12 2009, 16:42) *
Почитайте WP237. OFFSET OUT нужен только тогда, когда между последним триггером и пэдом есть логика. Но сейчас так никто не делает. Поэтому по памяти (лень перечитывать) синтезатор умеет сам ставить фазу DCM на основании OFFSET OUT. Однако, мне лично спокойнее поставить ее самому.


Читал, не помогло. Безо всякой логикой задержка от триггера до выходного пада получается больше 3 нс, т.е. требования не выполняются. Крутить фазу DCM никакой необходимости нет, я же написал что могу двигать фазу внешними средствами. К тому же кроме джиттера это ничего не изменит. Хотя конечно интерестно узнать как заставить синтезатор делать это.
Однако это не есть ответ на мой вопрос. Двигать фазу с помощью DCM возможно только в пределах такта, у меня задержка больше такта.

Цитата(DmitryR @ Mar 12 2009, 16:54) *
Первое: тот джиттер, что добавит DCM (150 ps) при таких частотах глубоко безразличен. Что касается "клочного дистрибьютора": если вы можете ее двигать отдельно для ЦАП и для FPGA - двигайте там, отличный вариант.


150 пс это 2% от 5,2 нс. не так чтобы совсем мало. И самое обидное, что это нужно делать чтобы удовлетворить кривизну софта.
Вопрос про то как ограничить время прохождения сигнала от входа до выхода. Например как задать следующее условие:

min < временя прохождения данных до выходного пада от регистров + временя прохождения клока от входного пада до регистров < max
Go to the top of the page
 
+Quote Post
Gothard
сообщение Mar 12 2009, 15:09
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 127
Регистрация: 16-02-07
Из: Долгопрудный
Пользователь №: 25 406



Цитата(disel @ Mar 12 2009, 16:57) *
Безо всякой логикой задержка от триггера до выходного пада получается больше 3 нс, т.е. требования не выполняются. Крутить фазу DCM никакой необходимости нет, я же написал что могу двигать фазу внешними средствами.

кажется здесь противоречие smile.gif. Зачем вам тогда вообще понадобилось накладывать ограничение плису?
Цитата(disel @ Mar 12 2009, 16:57) *
И самое обидное, что это нужно делать чтобы удовлетворить кривизну софта.

Какой софт вы имеете в виду?
Цитата(disel)
Трегера в падах конечно

Кроме как использовать DCM (в Virtex-4) у вас нет большого выбора.
1. "Окошко" у вас довольно малое. Примено 3,5нс, если попасть надо между 0,8-4,37. При периоде 5,2нс у вас запас по неопределенности примерно 1,7нс.
DCM компенсирует задержку распространения синх. сигнала по кристалу (эта задержка как минимум зависит от температуры). В доках ксилинкса сложно понять величину разброса задержки синхросигнала (минимальных значений clock2pad в доках не вижу sad.gif ), но есть такое ощущение, что разброс одного порядка с величиной вашего запаса. Вы его уже хорошенько "съели". Кстати - если бы вы выдавали клок на ЦАП из плиса а не с внешнего размножителя - этой проблемы бы не было, но теперь у вас выбора нет...
2. Время переключения сигнала на выходе ПЛИСа тоже имеет разброс (который ксилинкс тоже не привел, но вы его можете посмотреть проведя IBIS моделирование) - еще "съели" от запаса (он еще есть?).
3. Если используются выходные триггера - то сместить сигнал на паде Virtex-4 без DCM нельзя.
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 12 2009, 15:43
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(Gothard @ Mar 12 2009, 18:09) *
кажется здесь противоречие smile.gif. Зачем вам тогда вообще понадобилось накладывать ограничение плису?

А как мне быть уверенным в том что данные на выходе появляются в нужное время?

Цитата(Gothard @ Mar 12 2009, 18:09) *
Какой софт вы имеете в виду?

Синтезатор конечно.

Цитата(Gothard @ Mar 12 2009, 18:09) *
Кроме как использовать DCM (в Virtex-4) у вас нет большого выбора.
1. "Окошко" у вас довольно малое. Примено 3,5нс, если попасть надо между 0,8-4,37. При периоде 5,2нс у вас запас по неопределенности примерно 1,7нс.
DCM компенсирует задержку распространения синх. сигнала по кристалу (эта задержка как минимум зависит от температуры). В доках ксилинкса сложно понять величину разброса задержки синхросигнала (минимальных значений clock2pad в доках не вижу sad.gif ), но есть такое ощущение, что разброс одного порядка с величиной вашего запаса. Вы его уже хорошенько "съели". Кстати - если бы вы выдавали клок на ЦАП из плиса а не с внешнего размножителя - этой проблемы бы не было, но теперь у вас выбора нет...
2. Время переключения сигнала на выходе ПЛИСа тоже имеет разброс (который ксилинкс тоже не привел, но вы его можете посмотреть проведя IBIS моделирование) - еще "съели" от запаса (он еще есть?).
3. Если используются выходные триггера - то сместить сигнал на паде Virtex-4 без DCM нельзя.


Почему нет выбора? Работает же сейчас без DCM. Только констрейны красным горят, нервируют. Собственно вопрос как этого избежать. DCM как я уже писал не решит данной проблемы.

1. "Окошко" к сожалению задаю не я, а производитель цапа. Если тактировать цап той хернёй которую выдает DCM можно получить кучу других проблем, уже с плис не связанные. Сейчас джиттер ~ 1 пс, а будет 150. Выход цапа это точно не улучшит. Собсвенно для этого и есть режим SYSTEM_SYNCHRONOUS. По поводу задержек: для этого и хочу ограничить сверху и снизу. Сейчас разброс между разными линиями по отчетам 0.5 нс. Это устраивает. Но хочется чтобы он не зависил от фазы луны, положения звезд и т.д. А при нарушении кричал от этом. Сейчас кричит всегда.

2. Да, нужно проверить на модели. Или осциллографом посмотреть будет.

3. Я могу менять фазу между клоками цапа и плис


Цитата(Gothard @ Mar 12 2009, 18:19) *
DCM сдвигает фазу (считается что сигнал у вас периодический). Причем с очень хорошим шагом (в районе 100пс).
Поскольку сигнал периодический, то сдвиг на -3 нс эквивалентен сдвигу на 2нс при периоде 5нс. (правда сдвиг задается в долях периода, но все же...)
Если у вас задержка больше периода - то сигнал будет принят через несколько тактов (сколько их укладывается в задержку), но на соотношение "полочки" данных относительно фронта не повлияет.


Да понимаю я это. Но сдвиг на величину меньше периода проблемы не решает, а сдвиг на период - это безумие. Ставить DCM только для того чтобы удовлетроворить запросы синтезатора? Ну не знаю..

Цитата(DmitryR @ Mar 12 2009, 18:13) *
Я уже тоже писал, что при периоде тактовой частоты в 5ns задержка в 9ns эквивалентна задержке в 4ns. И вообще вы какой-то неверующий, вам уже несколько человек хором говорят, что надо либо внутри поставить DCM, либо внешней PLL фазу подвигать, а вы все свое.


У всех есть свои недостатки smile.gif Никто же не показал как записать условие: X > MIN. Я же только это хочу узнать. А меня все зачем то убеждают что период - он периодический. Да верю я в это.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- disel   задание OFFSET OUT   Mar 12 2009, 12:01
- - DmitryR   Не скажу за гуру, но я в этих случаях поступаю так...   Mar 12 2009, 13:13
|- - DmitryR   Цитата(disel @ Mar 12 2009, 16:57) Однако...   Mar 12 2009, 14:24
||- - disel   Цитата(DmitryR @ Mar 12 2009, 17:24) Заде...   Mar 12 2009, 14:35
||- - DmitryR   Цитата(disel @ Mar 12 2009, 17:35) Трегер...   Mar 12 2009, 14:49
||- - disel   Цитата(DmitryR @ Mar 12 2009, 17:49) Забе...   Mar 12 2009, 15:08
||- - DmitryR   Цитата(disel @ Mar 12 2009, 18:08) Не оче...   Mar 12 2009, 15:13
||- - Gothard   Цитата(disel @ Mar 12 2009, 18:08) DCM мо...   Mar 12 2009, 15:19
|- - Boris_TS   Есть идейка, не совсем то, что Вам нужно, но может...   Mar 12 2009, 17:05
- - disel   1. Выходные регистры конечно используются 2. DCM н...   Mar 12 2009, 13:44
|- - DmitryR   Цитата(disel @ Mar 12 2009, 16:44) 2. DCM...   Mar 12 2009, 13:54
- - RobFPGA   Приветствую! ... min < временя прохождения...   Mar 12 2009, 14:54
- - RobFPGA   Приветствую! Вот только что сделал тест для п...   Mar 12 2009, 16:44
|- - disel   Цитата(RobFPGA @ Mar 12 2009, 19:44) Вот ...   Mar 12 2009, 19:21
|- - Gothard   Цитата(disel @ Mar 12 2009, 22:21) У меня...   Mar 13 2009, 07:05
- - RobFPGA   Приветствую! Поменял speed на -10. Тут конечн...   Mar 12 2009, 20:47
- - disel   Rob, спасибо за проект! Выяснилась интереснта...   Mar 13 2009, 07:42
|- - Gothard   Цитата(disel @ Mar 13 2009, 10:42) как DC...   Mar 13 2009, 08:48
|- - disel   Цитата(Gothard @ Mar 13 2009, 11:48) Може...   Mar 13 2009, 10:54
||- - Gothard   Цитата(disel @ Mar 13 2009, 13:54) У меня...   Mar 13 2009, 11:23
||- - disel   Цитата(Gothard @ Mar 13 2009, 14:23) Вот ...   Mar 13 2009, 11:38
|- - Boris_TS   Цитата(Gothard @ Mar 13 2009, 12:48) согл...   Mar 13 2009, 11:59
|- - disel   Цитата(Boris_TS @ Mar 13 2009, 14:59) Обр...   Mar 13 2009, 13:13
|- - Boris_TS   Цитата(disel @ Mar 13 2009, 17:13) Все та...   Mar 13 2009, 13:52
|- - disel   Цитата(Boris_TS @ Mar 13 2009, 16:52) А в...   Mar 13 2009, 14:15
- - Singer   Была такая проблема - дикие времена (иногда даже о...   Mar 14 2009, 16:52
- - disel   Цитата(Singer @ Mar 14 2009, 19:52) Была ...   Mar 15 2009, 08:36


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016