Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Снова стандартный вопрос: генерация двух синхронных сигналов двумя DCM.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Little_boo
В поиске не нашел.
У меня Виртекс 2, обрабатываю и генерирую DDR поток 125 мегагерц.
Так уже исторически сложилось, что я использовал 2 тактовых сигнала: 125 мегагерц и 250, которые между собой должны быть синхронны (точнее 3 сигнала - CLK_LOW0,CLK_LOW90,CLK_HIGH). А такт на входе - 100 Мгц. Не понимаю, как решить задачу - ISE core генератор не рекомендует соединить CLKFX выход DCM с CLKIN_IN из-за clock skew, если попробовать - post fit не моделируется, и c синтезом гемор по моему, а если пытаюсь делить 250 Мгц первого DCM делителем (D триггером), то на задержке триггера синхронность теряю. Или я не знаю про правильный способ деления ? Уже крыша едет... схема при моделировании работает по одному, а после синтеза по другому...на такт sad.gif

Гуру, помогите blink.gif
Very_hard
Цитата
ISE core генератор не рекомендует соединить CLKFX выход DCM с CLKIN_IN
А Вы попробуйте, у меня получилось:
100 Мгц вход -> 125 Мгц(CLKFX_OUT1) -> 250 Мгц(CLK2X_OUT2) + 125 МГц (CLK0_OUT2). Не знаю правда, как будет работать, но моделируется вроде правильно. Насчет "не рекомендует":
http://www.xilinx.com/xlnx/xil_ans_display...tPagePath=18181
TailWind
Я не знаю тонкостей DDR.

Может лучше один clock 250МГц.
А где нужно enable через такт.
Little_boo
2 TailWind:

да, идея хороша, более того мне советовали так сделать давно, я просто не прислушался, щаз свою state машину перевел на 250 через такт, все круто, но есть один ньюанс: у меня в схеме фифо из корки... и оно тоже должно тактироваться частотой 125 Мгц.
TailWind
И его тоже на 250!

У FIFO обычно два сигнала управляющих WR_ и RD_
Сложи их с инверсным enable wink.gif
Little_boo
на него 250 нельзя подавать. синтезируемое работает до 225.
TailWind
Я не знаю есть ли в твоём синтезаторе такое понятие как multicycle?

Она же на самом деле на 125 работает!
Little_boo
Как интересно cheers.gif .
Я в Synplify 8.5 работаю.
Что такое multicicle и как его использовать ?
У меня кстати после пары изменений и моя State машина перестала в 4 наны укладываться.
TailWind
И она по сути работает на 125.

В Synplify я multycycle вроде видел.

multycycle - это constrain который означает, что сигнал имеет время на распростронения не 1 клок, а 2 например (как у тебя).

А зачем тебе тогда 250, если ты в них не укладываешься? wink.gif
Может лучше всё на 125?
Little_boo
машина и работает на 125. на 250 работает только счетчик и запитанный от него мультиплексор выходных данных.
Насчет multicicle понятно - это констрейн, а их я писать не умею пока... оттягивал приятный момент знакомства как мог. Теперь начну читать guide наконецта. cranky.gif
TailWind
Цитата(Little_boo @ Nov 10 2006, 20:22) *
машина и работает на 125. на 250 работает только счетчик и запитанный от него мультиплексор выходных данных.
Насчет multicicle понятно - это констрейн, а их я писать не умею пока... оттягивал приятный момент знакомства как мог. Теперь начну читать guide наконецта. cranky.gif


Это для DDR? Эмулирует работы по двум фронтам?

Я так никогда не делал и последствий предсказать не могу, но всё же: что если мультиплексор запитать от клока и сделать две очереди (чётные и не чётные)?
TailWind
Или ещё лучше:
Два T триггера. Один по фронту 125МГц другой по срезу.
Комбинационная схема от них управляет мультиплексором.
Little_boo
Ето контроллер линк портов TigerShark-a.
Он состоит из двух частей приемника и передатчика. Проблема возникла в трансивере при эмуляции протокола линк порта - нужно сгенерить DDR поток, и к тому же на ходу анализировать управляющие последовательности из потока данных.
Там два накопительных регистра и переключательный мультиплексор. А 250 МГц используются помимо управления мультиплексором еще и при анализе протокола шины, хотя все больше и больше соблазн вообще отказаться от потребления напрямую 250 МГц - такое ощущение что ето сделать можно.
TailWind
Цитата
все больше и больше соблазн вообще отказаться от потребления напрямую 250 МГц - такое ощущение что это сделать можно.

Я к этому и клоню!

Цитата
А 250 МГц используются помимо управления мультиплексором еще и при анализе протокола шины

Я не видел этот интерфейс.
Подозреваю, что управляющие сигналы можно ловить на 125.

У порта может быть конфигурационный регистр, в котором можно отключить DDR или ещё как-нибудь упростить себе жизнь.

Ты работоспособность как проверяешь?
Моделируешь или запускаешь тесты на устройстве?
Проверяешь setup'ы и hold'ы на шине?
Little_boo
smile.gif если бы я задался целью упростить себе жизнь, просто перевел бы шину на 100 МГц. Но требуется максимальная производительность. Работоспобность проверяю моделированием и анализатором.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.