Итак Stratix4. Есть входной сигнал с частой ~50Мгц. Требуется изменять его фазу прихода до триггера. PLL закончились. Думаю использовать задержку в порте вода/вывода. Но она не большая (кстати , по документации данная задержка может быть 0..7 , в чем пс или нс ? ).
Как еще можно задержать сигнал ?
Цитата(Костян @ Nov 8 2010, 13:47)

по документации данная задержка может быть 0..7 , в чем пс или нс ? ).
Как еще можно задержать сигнал ?
В документации должно быть оговорено точно. Такие цифры, вроде, не подходят ни к ps, ни к ns.
Задержать сигнал можно, если выстроить целую линейку LCELL (или других элементов). Я использовал цепочку из 32 сигналов CARRY (создал некую "извращенную" схему). Частота 50 MHz, если не ошибаюсь, задерживалась на целый такт на ~20 CARRY для ACEX.
Цитата(ViKo @ Nov 8 2010, 16:05)

Я использовал цепочку из 32 сигналов CARRY (создал некую "извращенную" схему).
Хуже не придумать...
А из PLL вывести сигнал основной и со сдвинутой на 90 град. фазой можно?
QUOTE (iosifk @ Nov 8 2010, 10:28)

Хуже не придумать...
А из PLL вывести сигнал основной и со сдвинутой на 90 град. фазой можно?
а если PLL закончились ? я об этом речь веду.
Цитата(iosifk @ Nov 8 2010, 14:28)

Хуже не придумать...
... и лучше не придумать

Таким способом я худо-бедно измерял время точнее, чем тактовая частота. И важны мне были относительные величины. Достаточно было, что в цепочке сохранялось свойство монотонности кода, соответствующего задержке.
QUOTE (ViKo @ Nov 8 2010, 10:05)

В документации должно быть оговорено точно. Такие цифры, вроде, не подходят ни к ps, ни к ns.
наверно плохо искал, нигде в datasheet не обговаривается единица измерения
Обманул чуток, не CARRY использовал, а CASCADE. Первых требовалось слишком много (малую задержку дают), а вторых хватало.
Код
Dly0 = Clk & TimPls;
for i in 1 to MeasWid-1 generate
Dly[i] = cascade(Dly[i-1]) & Busy;
end generate;
Hold[].clk = global(TrigLck);
Hold[].ena = TrigEna;
Hold[].d = Dly[];
И неравномерность (нелинейность) кода была, когда из одного LAB в другой переходили сигналы.
bogaev_roman
Nov 8 2010, 12:59
Цитата(Костян @ Nov 8 2010, 15:31)

а если PLL закончились ? я об этом речь веду.
Может кратная какая есть? 200МГц? Задержку на элементах делать - нестабильно работать все будет, там же даже задержка сигнала при разных условиях разная будет, джиттер сто пудов полезет...
а если через пару триггеров пропустить затактированных частотой например в 4 раза больше чем сдвигаемый сигнал???
или некоторые частоты получить не с ПЛЛ, а разделив их через логические ячейки, из более высокой частоты более низкие, вот и освободите ПЛЛ
Цитата(Костян @ Nov 8 2010, 16:31)

а если PLL закончились ? я об этом речь веду.
еще раз. У Ксайлинкса В каждом блоке DCM есть основной выход, и выходы, сдвинутые относительно основного на 90, 180 и 270 град...
Мужики, ну нету PLL (DCM). Рассматриваю именно такую задачу.
QUOTE
Может кратная какая есть? 200МГц?
кратных тоже нету.

P.S Так и не разобрался, какие задержки можно получить, если включать delay в портах ввода/вывода ?
Цитата(Костян @ Nov 8 2010, 15:49)

P.S Так и не разобрался, какие задержки можно получить, если включать delay в портах ввода/вывода ?
0..7 ns
upd. обманул! Это безразмерная величина. А реальная задержка см. ниже.
Цитата(Костян @ Nov 8 2010, 07:49)

P.S Так и не разобрался, какие задержки можно получить, если включать delay в портах ввода/вывода ?
DC and switching characteristics
Shtirlits
Nov 8 2010, 14:43
А если частоту поднять и общим clock enable притормозить лишнее?
QUOTE (des00 @ Nov 8 2010, 12:09)

пасиб , получается 0.7ps*0..15
Маловато будет, хотя бы 5..10нс
DmitryR
Nov 8 2010, 17:16
Повысьте скорость захвата этого сигнала вдвое, и вам станет безразлична его фаза.
Цитата(Костян @ Nov 8 2010, 16:51)

Маловато будет...
... особенно, если учесть, что на 1 mm дорожки печатной платы получается задержка в 5 ps.
Похоже, те задержки применимы только для точного выравнивания перекосов в многоразрядных векторах...
QUOTE (DmitryR @ Nov 8 2010, 15:16)

Повысьте скорость захвата этого сигнала вдвое, и вам станет безразлична его фаза.
мой входной сигнал является сигналом синхронизации, захват не поможет
QUOTE
... особенно, если учесть, что на 1 mm дорожки печатной платы получается задержка в 5 ps.
Похоже, те задержки применимы только для точного выравнивания перекосов в многоразрядных векторах...
насколько я понял, данные задержки в пинах используются например для точной подстройки задержек для DDR контроллера памяти.
murmel1
Nov 9 2010, 19:05
Что то странный вопрос.
У вас кристалл суперсовременный, скорость в 50 МГц для него плевая, задержки от ножки до регистра QUARTUS спокойно регулирует в пределах 10 нс.
Расскажите подробнее. Вам оперативно надо регулировать или при компиляции ? Если при компиляции, то просто задайте временные настройки и пусть думает Fitter
Цитата(murmel1 @ Nov 9 2010, 21:05)

задержки от ножки до регистра QUARTUS спокойно регулирует в пределах 10 нс
"Меня терзают смутные сомнения". Вот так просто - задал задержку, и все? А на 100 нс сможет?
Костян
Nov 10 2010, 11:34
QUOTE (murmel1 @ Nov 9 2010, 17:05)

Расскажите подробнее. Вам оперативно надо регулировать или
при компиляции ? Если при компиляции, то просто задайте временные настройки и пусть думает Fitter
задержка статическая, т.е однократно нужно задать при компиляции (выровнять фазу прихода сигнала синхронизации) . В том то и дело, что не сведом , какие настройки нужно задать фиттеру , для получения задержки. Будте добры, покажите пример.
DmitryR
Nov 10 2010, 12:41
Нету такого примера в природе. Еще раз говорю, если у вас как-то магически такое узкое окно данных, что ни передний, ни задний фронты этой частоты в окно не попадают - пощелкайте все вместе (и клок, и данные) высокой частотой (200 например) и извлеките оттуда данные.
murmel1
Nov 12 2010, 19:40
Не поддавайтесь на провокации. Все можно.
Assignment editor Настройки Tsu и Th. Можно вводить разные значения. Неоднократно пробовал в Cyclone 1/2/3 и Stratix 2, Fitter регулирует в пределах +-10ns (не во всех случаях, конечно, если шина разведена по всем углам кристалла, то времена сложно выровнять).
100 ns ? Пробуйте. По идее, фиттер разведет сигналы до регистрам петлями.
Всегда можно делать это и вручную, пропуская сигналы через цепочки lcell, и вручную задавая их расположение. Но автомат и сам справляется.
Правда, я с новыми семействами еще не мучился. В свете новой политики на TimeQuest, возможно, эти настройки надо вводить в нем.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.