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

 
 
> задание 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
Ответов
RobFPGA
сообщение Mar 12 2009, 16:44
Сообщение #2


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

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Вот только что сделал тест для проверки. 3 регистра (шириной 8 бит) включены цепочкой ->InReg->MidlReg->OutReg->
Clk завел через DCM. пока CLKOUT_PHASE_SHIFT=NONE
задал

NET "Clk" TNM_NET = Clk;
TIMESPEC TS_Clk = PERIOD "Clk" 200 MHz HIGH 50%;
TIMEGRP "tg_dou" OFFSET = OUT 0.8 ns AFTER "Clk";

Естественно для 4vlx15-12 получил ошибку в PR. В post MAP TimeAnalisys ошибка для tg_dou = -1.4 ns
при этом вижу что DCM дает только -2.4 ns .

Ставлю DCM. mode CLKOUT_PHASE_SHIFT =FIXED, PHASE_SHIFT=-180 ~ -3.5 ns
Все проходит без проблем и без ошибок. - Худший вариант в группе для tg_dou = +0.05 ns. Лучший = +0.27 ns
При этом в post PR TimeAnalisys вижу что DCM дает уже -5.65 ns

Так что мне кажется что особых танцев с бубнами тут и не нужно

Успехов! Rob
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 12 2009, 19:21
Сообщение #3


Знающий
****

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



Цитата(RobFPGA @ Mar 12 2009, 19:44) *
Вот только что сделал тест для проверки. 3 регистра (шириной 8 бит) включены цепочкой ->InReg->MidlReg->OutReg->
Clk завел через DCM. пока CLKOUT_PHASE_SHIFT=NONE
задал

NET "Clk" TNM_NET = Clk;
TIMESPEC TS_Clk = PERIOD "Clk" 200 MHz HIGH 50%;
TIMEGRP "tg_dou" OFFSET = OUT 0.8 ns AFTER "Clk";

Естественно для 4vlx15-12 получил ошибку в PR. В post MAP TimeAnalisys ошибка для tg_dou = -1.4 ns
при этом вижу что DCM дает только -2.4 ns .

Ставлю DCM. mode CLKOUT_PHASE_SHIFT =FIXED, PHASE_SHIFT=-180 ~ -3.5 ns
Все проходит без проблем и без ошибок. - Худший вариант в группе для tg_dou = +0.05 ns. Лучший = +0.27 ns
При этом в post PR TimeAnalisys вижу что DCM дает уже -5.65 ns

Так что мне кажется что особых танцев с бубнами тут и не нужно


Вы можете выложить весь проект? Может у меня просветление наступит. Не понимаю почему у меня такой длинный путь. Вроде все то же. Правда у меня не 12, а только 10 спидгрейд. DCM тоже пробывал.

Но в целом это не решает проблемы. У меня нет проблем с времянкой, существующая разводка кристалла меня полностью устраивает. Все работает. Безо всякого DCM. Я только хочу чтобы ISE ее контролировал автоматически, а не я каждый раз вручную. А он контролирует только верхнюю границу. В этом только и вопрос. DCM же кроме джиттера еще увеличивает потребление питания и требует формирование ресета. И нужен он только потому, что ISE не может проверить условие X > min. Обидно до кончика хвоста когда софт ограничивает возможности железа.




Цитата(Boris_TS @ Mar 12 2009, 20:05) *


Микросхема конечно греется, но не так страшно. Она радиатором прижата. Я задаю температуру в констрейнах, по логике ISE должен проверить задержки при худших условиях. Мне же главное чтобы эти задержки в заданных пределах оставались. Надо почитать подробнее что ISE с констрейном температуры делает.

Цитата(Boris_TS @ Mar 12 2009, 20:05) *
Есть идейка, не совсем то, что Вам нужно, но может навести на полезные мысли:


Случай действительно не совсем мой, за совет спасибо!
Go to the top of the page
 
+Quote Post
Gothard
сообщение Mar 13 2009, 07:05
Сообщение #4


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

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



Цитата(disel @ Mar 12 2009, 22:21) *
У меня нет проблем с времянкой, существующая разводка кристалла меня полностью устраивает. Все работает. Безо всякого DCM

Сколько у вас экземпляров работает?
Цитата(disel @ Mar 12 2009, 22:21) *
Я только хочу чтобы ISE ее контролировал автоматически, а не я каждый раз вручную.

А что может КАРДИНАЛЬНО изменяться от трассировки к трассировке если у вас триггера в IOB? Клок разведется по другой ветке? сколько это - 100пс?

Извиняюсь за настойчивость по "впариванию" DCM и ответ не на тот вопрос, который вы задаете, но я вижу проблему и хочется помочь. Я ранее приводил 3 пункта и ИМХО вам бы проверить что первые 2 удовлетворяются без использования DCM.
Да - есть кривость софта (или это какое-то намерение ксилинкса, т.к. они минимум даже в даташите не написали), но, действительно, задержки приводятся МАКСИМАЛЬНЫЕ и вы можете контролировать только их. Максимум - это один крайний случай. Есть второй - минимальная задержка (да - ту которую вы хотите контролировать), но увы такое ощущение, что вам это не удастся (хотя буду рад, если кто-то опишет способ).

Без DCM вы можете "влипнуть" на каком-нибудь экземпляре устройства, даже если сейчас все работает (как я посчитал ранее - запас у вас не велик). Задержка зависит от температуры, напряжения и даже (что может быть самое главное) экземпляра кристалла. Использование DCM позволит вам нивелировать разброс задержки распространения клока на кристалле, что в моем понимании не мало. Осциллографом, да и тем более на одном экземпляре, вы не проверите крайние случаи - можно только опираться на цифры, которые приводит производитель.

P.S.: DCM решит только проблему по первому пункту, который я описывал (т.е. разброс времени распространения клока по кристаллу). Разброс выходного буфера особо не скомпенсировать...вот только если ток можно посильнее на выходе задать, но надо смотреть на согласование...если использовать DCI вроде бы неплохо выходит.

P.P.S: А уж как поставите DCM smile.gif - задавайте на нем какой надо сдвиг и "вписывайтесь" хотя бы по максимальному OFFSET.

Сообщение отредактировал Gothard - Mar 13 2009, 07:18
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- disel   задание OFFSET OUT   Mar 12 2009, 12:01
- - DmitryR   Не скажу за гуру, но я в этих случаях поступаю так...   Mar 12 2009, 13:13
- - Boris_TS   Цитата(disel @ Mar 12 2009, 16:01) У меня...   Mar 12 2009, 13:18
|- - DmitryR   Цитата(Boris_TS @ Mar 12 2009, 16:18) 1. ...   Mar 12 2009, 13:42
|- - disel   Цитата(DmitryR @ Mar 12 2009, 16:42) Почи...   Mar 12 2009, 13:57
|- - 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
|- - Gothard   Цитата(disel @ Mar 12 2009, 16:57) Безо в...   Mar 12 2009, 15:09
|- - disel   Цитата(Gothard @ Mar 12 2009, 18:09) каже...   Mar 12 2009, 15:43
|- - 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   Приветствую! Поменял 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 18:03
Рейтинг@Mail.ru


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