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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> цепочка буферов для вывода CLK насквозь через ПЛИС
Putnik
сообщение Aug 6 2010, 07:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Простите за ламерский вопрос,
какая цепочка буферов будет правильной для вывода тактового сигнала насквозь через ПЛИС?
конечно видимо правильно было бы его снаружи подвести к ЦАПу, но так уже сделано..


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Aug 6 2010, 08:02
Сообщение #2


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



вопрос не понятный. зачем цепочка буферов и что за плис?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 6 2010, 08:03
Сообщение #3


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

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



Это без разницы IMHO - просто напишите CLKOUT<=CLKIN.
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 6 2010, 08:19
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



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, и пока без толку


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
FalloutMan
сообщение Aug 6 2010, 20:49
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 19-04-10
Из: Москва
Пользователь №: 56 743



Цитата(Putnik @ Aug 6 2010, 12:19) *
to DmitryR
не получается так, вылетает уже на этапе translate с ошибкой
и сопутствующими варнингами -

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

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


Go to the top of the page
 
+Quote Post
Victor®
сообщение Aug 8 2010, 06:58
Сообщение #6


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



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


Делайте на выходном DDR-тригере.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Flanker
сообщение Aug 9 2010, 04:50
Сообщение #7


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

Группа: Свой
Сообщений: 76
Регистрация: 16-05-05
Из: г.Чебоксары
Пользователь №: 5 090



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

Скорее всего, когда вы выдаете сигнал clk29MHz на выход, вы его берете до буфера IBUFG, а для тактирования проекта используете тактовый сигнал после IBUFG. Вам необходимо выдавать на выход тот сигнал тактовой, который у вас после IBUFG.
Т.е. clk29MHz -> IBUFG -> clk29M -> на тактироване проекта и на OBUF
надеюсь понятно написал biggrin.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 9 2010, 06:21
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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

Поддерживаю, пропускаете сигнал через триггер и всех делов...
PS Если частота высокая можно дополнительно использовать DCM для устранения фазовых набегов/отставаний тактовой частоты и т.д.


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Flanker
сообщение Aug 9 2010, 07:44
Сообщение #9


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

Группа: Свой
Сообщений: 76
Регистрация: 16-05-05
Из: г.Чебоксары
Пользователь №: 5 090



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

Если сигнал глобальный, то ИМХО добавлять еще DCM не стоит (если не умножать/делить/сдвигать частоту). Тем более городить цепочку IBUFG -> триггер -> BUFG
Go to the top of the page
 
+Quote Post
ledum
сообщение Aug 9 2010, 07:48
Сообщение #10



******

Группа: Участник
Сообщений: 3 650
Регистрация: 1-02-09
Из: Киев
Пользователь №: 44 237



Пусть несколько устарело, но таблица 1 и Рис.5 http://automotive.analog.com/static/import...7755AN501_a.pdf могут дать пищу для размышлений.

Сообщение отредактировал ledum - Aug 9 2010, 07:50
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 9 2010, 08:37
Сообщение #11


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Flanker @ Aug 9 2010, 10:44) *
Если сигнал глобальный, то ИМХО добавлять еще DCM не стоит (если не умножать/делить/сдвигать частоту). Тем более городить цепочку IBUFG -> триггер -> BUFG

Тогда расскажите почему ставят в контроллерах DDR памяти


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Flanker
сообщение Aug 9 2010, 09:01
Сообщение #12


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

Группа: Свой
Сообщений: 76
Регистрация: 16-05-05
Из: г.Чебоксары
Пользователь №: 5 090



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

Скажу честно, не знаю . Готовые корки не использовал, писал врукопашную из-за спортивного интереса
Go to the top of the page
 
+Quote Post
disel
сообщение Aug 9 2010, 09:03
Сообщение #13


Знающий
****

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



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


потому что ДДР это не ЦАП. Постом выше ledum дал очень правильную ссылку дающую ответ на этот вопрос.
Go to the top of the page
 
+Quote Post
tema-electric
сообщение Aug 9 2010, 11:04
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 309
Регистрация: 18-04-08
Из: Томск
Пользователь №: 36 887



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


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


--------------------
Кто сказал МЯУ?
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 20 2010, 14:45
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



извините, уехал в отпуск, только вернулся, поэтому не смог раньше проверить,

Итак, убрал все 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: и просто для интереса, может в будущем пригодится, как пропустить клок через триггер?


--------------------
за Навального!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th July 2025 - 02:57
Рейтинг@Mail.ru


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