Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Временные задержки
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Akakiy
Есть ли у кого практика реализации управляемых временных задержек? Если да то что получилось? Минимальное время и дискретность. Интересует диапазон единицы наносекунд и меньше.
3.14
Если Вы планируете дискреты задержек осуществлять на основе задержек цепей, логики, защелок. Скорее всего толкового из этого ничего не выйдет.
А если на основе всяких сдвиговых регистров, то пожалуйста, скорости в большей степени зависят от кристалла. Думаю на Spartan2 дискрет в ~5 нс можно будет получить.
NeoN
выбирай на вкус
левша
Цитата(3.14 @ Nov 18 2004, 08:37 PM)
Если Вы планируете дискреты задержек осуществлять на основе задержек цепей, логики, защелок. Скорее всего толкового из этого ничего не выйдет.
А если на основе всяких сдвиговых регистров, то пожалуйста, скорости в большей степени зависят от кристалла. Думаю на Spartan2 дискрет в ~5 нс можно будет получить.

Я думаю что сихронизация на основе задержек асинхронных элементов это то что может дать возможность выжать из кристалла всё, вместо того чтобы ставить более дорогую микросхему, но риск конечно тоже велик. Впринципе симулятор MAXPLUSII показывает такие задержки. А ставить внешниие линии задержки это не всегда приминимо.
3.14
Интересно, а у Altera есть констрейн типа MINDELAY? У Xilinx такого нет. Т.е. Вы не сможете хотябы с какой-то степенью уверенности получать дискреты задержек. А насчет симулятора, не забывайте, что имеется довольно большой разброс в задержках (min,typ,max) и плавают они от температуры здорово. А на сдвиговом регистре, пускай и дискретов таких не получиш, зато все относительно железно. Хотя встает другой вопрос, а как тогда задать MAXSKEY для тактового сигнала. Но это уже отдельная история.
Инженер
Задержку можно получить включением принудельно логических ячеек (элемент LCELL), макроячеек (Элемент MCELL) или элемента EXP. Задержка равна задержке на одном элементе. Это то число, которое стоит последним на маркировке микросхемы. EPF10K10ATC144-3 задержка-3 нс и каждый элемент вносит такую задержку. (Или примерно такую)
khach
У Xilinx уже есть ( но только для Virtex-4).
Искать на их сайте по ключу IDELAY
Калиброванная задержка из 64 элементов по 78pS каждая.
Barbarossa
Цитата(Инженер @ Dec 29 2004, 08:51)
Задержку можно получить включением принудельно логических ячеек (элемент LCELL), макроячеек (Элемент MCELL) или элемента EXP. Задержка равна задержке на одном элементе. Это то число, которое стоит последним на маркировке микросхемы. EPF10K10ATC144-3 задержка-3 нс и каждый элемент вносит такую задержку. (Или примерно такую)
*

Ага, можно сделать задержку и на LCELL. Гарантированно непредсказуемую smile.gif . Не надо забывать, что кроме собственной задержки буфера будут еще задержки, обусловленные связями между буферами. Вклад в общую задержку они вносят немалый, и, что самое неприятное, зависят от разводки кристалла.
//Nikson
Цитата(Barbarossa @ Dec 29 2004, 23:16) *
Ага, можно сделать задержку и на LCELL. Гарантированно непредсказуемую smile.gif . Не надо забывать, что кроме собственной задержки буфера будут еще задержки, обусловленные связями между буферами. Вклад в общую задержку они вносят немалый, и, что самое неприятное, зависят от разводки кристалла.



если забить на разводку кристалла итд итп - интересует только теоретическая симуляция схемы - где выставить время задержки на элементе LCELL? пробовал менять в Assignment Editor - Timings, при симуляции ничего не меняется, никаких задержек сигнала нет sad.gif
des00
Цитата(//Nikson @ May 23 2006, 20:23) *
если забить на разводку кристалла итд итп - интересует только теоретическая симуляция схемы - где выставить время задержки на элементе LCELL? пробовал менять в Assignment Editor - Timings, при симуляции ничего не меняется, никаких задержек сигнала нет sad.gif


За такое сразу руки вырвать angry.gif

выставить задержку на LCELL не возможно, какая есть, такая есть.
В температуре все будет плавать в очень широких пределах, и реально ценность данной реализации линии задержки будет низкой.

Насчет IDELAY ну во первых все это тоже плавает в температуре и требует подстройки, а во вторых если вы по одному пину загоните сигнал, по второму вытащите наружу то часть сигнала пойдет по линиям разводки, по которым задержка опять таки плавает.
iosifk
Цитата(Akakiy @ Nov 18 2004, 20:27) *
Есть ли у кого практика реализации управляемых временных задержек? Если да то что получилось? Минимальное время и дискретность. Интересует диапазон единицы наносекунд и меньше.


Обсуждать имеет смысл только задержки, получаемые на DLL и PLL.
Все остальное - идиотизм. И это самое ласковое определение.
Тут уже пару месяцев назад два ... такое обсуждали. И сколько им не объясняли, так они и не поняли.
Теперь начался еще один круг.

Если нет возможности "задвинуть" сигналы в FPGA, ставьте внешние чипы, например Микрел.
А бодягу разводить - бесполезно!

Если резко высказался - простите...

Удачи!
//Nikson
Цитата
За такое сразу руки вырвать

Ну, прежде чем мне руки вырвут и забросают гнилыми помидорами, расскажу краткую предысторию.

В ПЛИСах сильно не разбираюсь, некоторое время тыкался методом научного тыка, но заинтересовало, понравилось. Поэтому когда появилась тема курсовой, связанная с ПЛИС, её и взял. Нашёл литературу по теме, почитал. Поначалу обрадовался: "О, да тут всё объяснено, всё показано и даже схемы есть - осталось только их повторить и всё будет ОК". А всё оказалось не так просто. Вся теория начинается с "а пропустим-ка наш сигнал через линию задержек в Х нс каждая", где Х - зависит от оптимизма автора. Вот я и залез на форум, где и узнал, сколько "нового и интересного" меня ожидает...

Сейчас самая большая загвоздка в линии задержек. Из-за катастрофической нехватки времени уже забил на приближенность устройства к реальности - хотя бы промоделировать теорию в симуляторе, думал накидаю LCELLов в схемном редакторе и будет мне счастье - фиг:
Цитата
выставить задержку на LCELL не возможно, какая есть, такая есть
, да и к тому же даже в симуляторе всё плавает до безобразия, что делает всё сделанное бессмысленным.

вот поэтому и вижу 2 выхода (соответственно 2 вопроса к форумчанам).
1) найти в Quartus/MaxPlus как просимулировать схему без привязки к какому-либо конкретному устройству с возможностью вручную задать параметры задержек на разных элементах (и стабильных) - это если совсем оторваться от жизни. (tpd для lcell игнорируется)
2) сделать линию задержки на PLL, как говорит iosifk... но как? то, что я вижу на блок-схеме (по сути, та же линия задержки с N выходами, см. рис.) никак не похоже на мегафункции altpll/pll... и по функционированию тоже... - гораздо более предпочтительный вариант (как более реальный)

в общем, если у кого есть какие-нибудь мысли - буду благодарен!

кстати,
Цитата
Если резко высказался - простите...

простите, что задаю глупые вопросы
ilya79
des00>>Насчет IDELAY ну во первых все это тоже плавает в температуре и требует подстройки

Немного запоздало, но хотелось бы возразить, если про Xilinx :
ug070.pdf стр-319 ->

IDELAY is a 64-tap, wraparound, delay element with a fixed, guaranteed tap resolution
(see Virtex-4 Data Sheet). It can be applied to the combinatorial input path, registered input
path, or both. IDELAY allows incoming signals to be delayed on an individual basis. The
delay element is calibrated to provide an absolute delay value (TIDELAYRESOLUTION)
independent of process, voltage, and temperature variation. !!!!

Как они это могут обеспечить сам не понимаю smile.gif
des00
Цитата(ilya79 @ May 25 2006, 22:44) *
des00>>Насчет IDELAY ну во первых все это тоже плавает в температуре и требует подстройки

Немного запоздало, но хотелось бы возразить, если про Xilinx :
ug070.pdf стр-319 ->

IDELAY is a 64-tap, wraparound, delay element with a fixed, guaranteed tap resolution
(see Virtex-4 Data Sheet). It can be applied to the combinatorial input path, registered input
path, or both. IDELAY allows incoming signals to be delayed on an individual basis. The
delay element is calibrated to provide an absolute delay value (TIDELAYRESOLUTION)
independent of process, voltage, and temperature variation. !!!!

Как они это могут обеспечить сам не понимаю smile.gif


Простите меня великодушно а где в этом тексте вы видите слова про ТОЧНОСТЬ линии задержки ?
я вижу только разрешаюшую способность, если для вас эти слова одно и тоже, то ......

smile.gif
disel
2 //Nikson
То что изображено на присоединенном эскизе является генератором случайных чисел. Эта тема довольно давно разрабатывается и у нас и бугром. Задержки в элеменах и их зависимость от температуры, напряжения и прочее и является тем элементом случайности, который лежит в основе идеи использовать цифровые ГСЧ. Формировать такой схемой управляемые задержки занятие не самое лучшее.
Very_hard
Цитата
Простите меня великодушно а где в этом тексте вы видите слова про ТОЧНОСТЬ линии задержки ?
я вижу только разрешаюшую способность, если для вас эти слова одно и тоже, т

The delay element is calibrated to provide an absolute delay value TIDELAYRESOLUTION independent of process, voltage, and temperature variation

!!! т.е. значение элемента задержки не зависит от процессов, напряжения, температуры и является абсолютной(!) величиной. (75 ps для виртекса 4). Это значение - разрешающая способность, имеющая абсолютную величину, так что она характеризует точность имхо.
des00
Цитата(Very_hard @ May 26 2006, 02:41) *
The delay element is calibrated to provide an absolute delay value TIDELAYRESOLUTION independent of process, voltage, and temperature variation

!!! т.е. значение элемента задержки не зависит от процессов, напряжения, температуры и является абсолютной(!) величиной. (75 ps для виртекса 4). Это значение - разрешающая способность, имеющая абсолютную величину, так что она характеризует точность имхо.

я бы перевел все же эту фразу бы так
"Элемент задержки, откалиброван таким образом, что бы обеспечить абсолютную задержку величины TIDELAYRESOLUTION (т.е. разрешения) независимой от процессов напряжения и вариаций температуры".

Точность (precision) и разрешаюшая способность (resolution) ИМХО 2 абсолютные вещи, очень часто их путают, особенно в применении к термодатчикам и АЦП.
Very_hard
Цитата
я бы перевел все же эту фразу бы так
"Элемент задержки, откалиброван таким образом, что бы обеспечить абсолютную задержку величины TIDELAYRESOLUTION (т.е. разрешения) независимой от процессов напряжения и вариаций температуры".

Четко указано отсутствие зависимости от температуры и пр. + четко указано значение TIDELAYRESOLUTION 75 пс в даташите... (пишут даже "carefully(!) smile.gif calibrated to provide an absolute delay value...") По-моему все это достаточно характеризует точность... нет даже "+/-"... Типа : "гадами будем, но как бы вы ни грели/изменяли напряжение и т.д. задержка будет 75 пс." smile.gif что еще надо?

Что касается точности и разрешающей способности - как я понимаю, общая задержка может быть представлена набором дискретных задержек(величина которых представляет собой разреш. способность). Погрешность общей задержки (в сетке разрешающей способности) определяется погрешностью дискрета и количеством дискретов. Про дискрет известно: не зависит от температуры, равен (откалиброван) 75(без +/-) пс. Следовательно общая задержка, сформированная из этих дискретов, с большой вероятностью обладает теми же свойствами. smile.gif т.е. равна 75*n ps. И уж во всяком случае не "плавает в температуре и требует подстройки". smile.gif
des00
Цитата(Very_hard @ May 26 2006, 03:37) *
Цитата
я бы перевел все же эту фразу бы так
"Элемент задержки, откалиброван таким образом, что бы обеспечить абсолютную задержку величины TIDELAYRESOLUTION (т.е. разрешения) независимой от процессов напряжения и вариаций температуры".

Четко указано отсутствие зависимости от температуры и пр. + четко указано значение 75 пс в даташите... (пишут даже "carefully(!) smile.gif calibrated to provide an absolute delay value...") По-моему все это достаточно характеризует точность... нет даже "+/-"... Типа : "гадами будем, но как бы вы ни грели/изменяли напряжение и т.д. задержка будет 75 пс." smile.gif что еще надо?


блин опять двадцать пять, я вам про фому, вы мне про ерему.
Покажите мне где я сомневаюсь в температурной нестабильности величины приведеной в даташите ?
Внимательно вчитайтесь в мои слова, в даташите говориться о нестабильности разрешающей способности линии задержки, но это не значит что точность этой линии задержки будет также температурно независимой и вот именно о точности всего IO буфера c IDELAY в даташите нет не слова, есть только слова о том, что шаг изменения задержки (разрешающая способность) не зависит от температуры. что вполне возможно.
Very_hard
Цитата
и вот именно о точности всего IO буфера c IDELAY в даташите нет не слова


А что Вы хотите? Про точность входных буферов и температурной зависимости наверняка есть инфа. Ну плавают задержки на буферах и что? к этой плавающей задержке прибавляется не изменяющаяся задержка на IDELAY.
Естественно, применять подобного рода задержки внутри кристалла - самоубийство(трассировка сведет всю точность на нет), а вот на входах/выходах с помощью IDELAY можно получить стабильный температурно независимый СДВИГ сигналов на абсолютную величину.
//Nikson
Цитата
Обсуждать имеет смысл только задержки, получаемые на DLL и PLL.


Можно в двух словах рассказать, как, используя PLL, получить задержку сигнала, скажем на 1 нс. (вместо использования линии задержки) ?
des00
Цитата(Very_hard @ May 26 2006, 04:51) *
а вот на входах/выходах с помощью IDELAY можно получить стабильный температурно независимый СДВИГ сигналов на абсолютную величину.


Спасибо вы мне окрыли америку !!!! а мужики то не знают!!! (с) Толстяк.

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

Дальнейший спор считаю бессмысленным

Цитата
Что касается точности и разрешающей способности - как я понимаю, общая задержка может быть представлена набором дискретных задержек(величина которых представляет собой разреш. способность). Погрешность общей задержки (в сетке разрешающей способности) определяется погрешностью дискрета и количеством дискретов. Про дискрет известно: не зависит от температуры, равен (откалиброван) 75(без +/-) пс. Следовательно общая задержка, сформированная из этих дискретов, с большой вероятностью обладает теми же свойствами. smile.gif т.е. равна 75*n ps. И уж во всяком случае не "плавает в температуре и требует подстройки".


Если вы также оцениваете точность преобразований аналогово сигнала в цифровой (АЦП, термодатчики, аналоговые линии задержки) то могу тольку посоветовать почитать теорию аналого-цифрового преобразования. Узнаете много нового.

Желаю удачи
Very_hard
Цитата
Если вы также оцениваете точность преобразований аналогово сигнала в цифровой

При чем тут аналого-цифровое преобразование и его точность? Не пойму. хотя бы в двух словах, что тут неправильно?
daemonDX
У Xilinx есть пара appnotes, посвященных разработке контроллеров DDR SDRAM (к примеру, xapp678c, xapp688) для VirtexII\IIPro. Задача там состояла, помнится, в том, чтоб задержать сигнал строба данных относительно опорного клока. Они ее достаточно успешно решили - линия задержки на цепочке из LUT, закрепленная RPM, плюс схема калибрации "длины" линии (delay calibration circuit), работающей постоянно. IP контроллера, который они поставляют, работает именно с этой схемкой линии задержки. Так что прецедент создания линии задержки на внутренних ресурсах кристалла - есть, причем, официальный, от производителя biggrin.gif.
SFx
Цитата(daemonDX @ Jun 2 2006, 12:52) *
У Xilinx есть пара appnotes, посвященных разработке контроллеров DDR SDRAM (к примеру, xapp678c, xapp688) для VirtexII\IIPro. Задача там состояла, помнится, в том, чтоб задержать сигнал строба данных относительно опорного клока. Они ее достаточно успешно решили - линия задержки на цепочке из LUT, закрепленная RPM, плюс схема калибрации "длины" линии (delay calibration circuit), работающей постоянно. IP контроллера, который они поставляют, работает именно с этой схемкой линии задержки. Так что прецедент создания линии задержки на внутренних ресурсах кристалла - есть, причем, официальный, от производителя biggrin.gif.

Да только он хз как работает и проверить на симуляции его не возможно - я уже сталкивался с этим контроллером - 4 месяца головой ап стену бился - тольку пока мало... продолжаю - PAR модель для симуляции ваще в принципе не работает - щас с ксайлинсксами связываемся по теме....
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.