Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: цепочка буферов для вывода CLK насквозь через ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Putnik
Простите за ламерский вопрос,
какая цепочка буферов будет правильной для вывода тактового сигнала насквозь через ПЛИС?
конечно видимо правильно было бы его снаружи подвести к ЦАПу, но так уже сделано..
rv3dll(lex)
вопрос не понятный. зачем цепочка буферов и что за плис?
DmitryR
Это без разницы IMHO - просто напишите CLKOUT<=CLKIN.
Putnik
to rv3dll(lex)
ПЛИС - 3-й спартан,

to DmitryR
не получается так, вылетает уже на этапе translate с ошибкой
и сопутствующими варнингами -
Код
ConstraintSystem:203 - A target design object for the Locate constraint
   '<NET "clk29MHz"  LOC = "F10";> [vout_m.ucf(33)]' could not be found and so
   the Locate constraint will be removed.

NgdBuild:1012 - The constraint <NET "clk29MHz"  LOC = "F10";>
   [vout_m.ucf(33)] is overridden on the design object dacclk by the constraint
   <NET "dacclk"     LOC = "G15";> [vout_m.ucf(102)].
NgdBuild:1012 - The constraint <NET "clk29MHz"  LOC = "F10";>
   [vout_m.ucf(33)] is overridden on the design object clk29MHz by the
   constraint <NET "dacclk"     LOC = "G15";> [vout_m.ucf(102)].

в проекте clk29MHz через IBUFG -> BUFG делаю глобальным тактовым и от него работает часть схемы,
кроме того надо его вывести наружу, пробовал разные комбинации цепочки из IBUFG,BUFG,OBUF, и пока без толку
FalloutMan
Цитата(Putnik @ Aug 6 2010, 12:19) *
to DmitryR
не получается так, вылетает уже на этапе translate с ошибкой
и сопутствующими варнингами -

На сколько я понял, у Вас часть на языке, а часть в схемном редакторе сделана.

Не заморачивайтесь, делайте все на языке.


Victor®
Цитата(Putnik @ Aug 6 2010, 10:39) *
Простите за ламерский вопрос,
какая цепочка буферов будет правильной для вывода тактового сигнала насквозь через ПЛИС?
конечно видимо правильно было бы его снаружи подвести к ЦАПу, но так уже сделано..


Делайте на выходном DDR-тригере.
Flanker
Цитата(Putnik @ Aug 6 2010, 12:19) *
в проекте clk29MHz через IBUFG -> BUFG делаю глобальным тактовым и от него работает часть схемы,
кроме того надо его вывести наружу, пробовал разные комбинации цепочки из IBUFG,BUFG,OBUF, и пока без толку

Скорее всего, когда вы выдаете сигнал clk29MHz на выход, вы его берете до буфера IBUFG, а для тактирования проекта используете тактовый сигнал после IBUFG. Вам необходимо выдавать на выход тот сигнал тактовой, который у вас после IBUFG.
Т.е. clk29MHz -> IBUFG -> clk29M -> на тактироване проекта и на OBUF
надеюсь понятно написал biggrin.gif
Maverick
Цитата(Putnik @ Aug 6 2010, 10:39) *
Простите за ламерский вопрос,
какая цепочка буферов будет правильной для вывода тактового сигнала насквозь через ПЛИС?
конечно видимо правильно было бы его снаружи подвести к ЦАПу, но так уже сделано..

Поддерживаю, пропускаете сигнал через триггер и всех делов...
PS Если частота высокая можно дополнительно использовать DCM для устранения фазовых набегов/отставаний тактовой частоты и т.д.
Flanker
Цитата(Maverick @ Aug 9 2010, 10:21) *
Поддерживаю, пропускаете сигнал через триггер и всех делов...
PS Если частота высокая можно дополнительно использовать DCM для устранения фазовых набегов/отставаний тактовой частоты и т.д.

Если сигнал глобальный, то ИМХО добавлять еще DCM не стоит (если не умножать/делить/сдвигать частоту). Тем более городить цепочку IBUFG -> триггер -> BUFG
ledum
Пусть несколько устарело, но таблица 1 и Рис.5 http://automotive.analog.com/static/import...7755AN501_a.pdf могут дать пищу для размышлений.
Maverick
Цитата(Flanker @ Aug 9 2010, 10:44) *
Если сигнал глобальный, то ИМХО добавлять еще DCM не стоит (если не умножать/делить/сдвигать частоту). Тем более городить цепочку IBUFG -> триггер -> BUFG

Тогда расскажите почему ставят в контроллерах DDR памяти
Flanker
Цитата(Maverick @ Aug 9 2010, 12:37) *
Тогда расскажите почему ставят в контроллерах DDR памяти

Скажу честно, не знаю . Готовые корки не использовал, писал врукопашную из-за спортивного интереса
disel
Цитата(Maverick @ Aug 9 2010, 12:37) *
Тогда расскажите почему ставят в контроллерах DDR памяти


потому что ДДР это не ЦАП. Постом выше ledum дал очень правильную ссылку дающую ответ на этот вопрос.
tema-electric
Цитата(Maverick @ Aug 9 2010, 15:37) *
Тогда расскажите почему ставят в контроллерах DDR памяти


В контроллерах DDR PLL ставят для получения тактового сигнала, сдвинутого от основного на 90 градусов. Используется он для тактирования выходных регистров данных DQ, и маски данных DM. Что это дает? В итоге тактовый сигнал DQS синхронен с системой, а данные DQ и маска DM выравнены по центру. Более подробные схемы можно найти в соответствующих аппнотах (an348 Interfacing DDR SDRAM with Cyclone Devices) и документации на чип в секции взаимодействия с устройствами внешней памяти.
Putnik
извините, уехал в отпуск, только вернулся, поэтому не смог раньше проверить,

Итак, убрал все BUFG, и дальше сделал по совету Flanker
clk29MHz -> IBUFG -> clk29M -> на тактирование проекта и на OBUF(или сразу на выход, по совету DmitryR) результат в обоих случаях - один варнинг -Route:455 - CLK Net:dacclk_c may have excessive skew because 0 CLK pins and 1 NON_CLK pins failed to route using a CLK template.
и нормальный клок на осциллографе,

считаю проблему решенной, спасибо всем за обсуждение!

ps: и просто для интереса, может в будущем пригодится, как пропустить клок через триггер?
Boris_TS
Цитата(Putnik @ Aug 20 2010, 18:45) *
и просто для интереса, может в будущем пригодится, как пропустить клок через триггер?

Если я правильно понял, что Вам надо, то вот схема, предназначенная для вывода clock'а "через триггер". Основным достоинством этой схемы является то, что clock выведенный таким образом будет иметь минимальную разбежку фронтов с данными (выводимыми через Output Flip-Flop тактируемых с того же clock'огого дерева).
Нажмите для просмотра прикрепленного файла
Putnik
Цитата(Boris_TS @ Aug 21 2010, 10:15) *
Если я правильно понял, что Вам надо, то вот схема, предназначенная для вывода clock'а "через триггер". Основным достоинством этой схемы является то, что clock выведенный таким образом будет иметь минимальную разбежку фронтов с данными (выводимыми через Output Flip-Flop тактируемых с того же clock'огого дерева).

Спасибо, думаю это как раз тот вариант про который здесь говорили
rloc
Цитата(Putnik @ Aug 21 2010, 23:38) *
Спасибо, думаю это как раз тот вариант про который здесь говорили


Putnik, на будущее, не заводите клоки через ПЛИС, какими путями внутри кристалла этот сигнал не шел, в любом случае на него будет много чего наводиться. Просто душа болит видеть такое безобразие. Самому не всегда удается добиться нужной чистоты сигнала при запитки от отдельных PECL буферов и прокладки цепей на отдельном слое ПП, экранированном c двух сторон землей, а тут такое crying.gif Иногда, добиваясь нужных параметров, приходится клоки тащить по печати отдельным жестким коаксиальным кабелем!
Kuzmi4
Цитата(rloc @ Aug 22 2010, 20:06) *
... Иногда, добиваясь нужных параметров, приходится клоки тащить по печати отдельным жестким коаксиальным кабелем!

Приведите пример пожалуста, интересно..
rloc
Фотку своей платы или спектрограмму сигнала при плохой ЭМС?

По работе имею дело с высокоскоростными многоразрядными ЦАП/АЦП с clk до 2.5 ГГц. Часто проблемы возникают когда от одного источника тактов нужно запитать несколько ЦАП/АЦП, как ни крути, если вести по ПП, то линия тактов всегда будет пересекать какие-то другие линии (хуже если цифровые) и избежать проблем с ЭМС ой как сложно.
Kuzmi4
2 rloc
интересует именно конструкция - как это реализовывалось (потому думаю вариант:Фотку, ну или часть, если секретная).
rloc
К сожалению пока живьем платы нет, кабель будет припаиваться к специальным дорожкам толщиной ~2мм на пасте. Были некоторые сложности с выравниванием длин.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.