Vitёk 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба Имеются эти два девайса, подключенные один к другому. Тактовая частота ПЛИС равна 50 МГц. Можно заставить работать память на частоте 25 Мгц (данные тогда будут следовать со скоростью 50 Мслов/сек), но это не интересно. Интересно, используя удвоенную тактовую, получить скорость 100 Мслов/с. Собственно, вопрос: каким образом, не используя FIFO, сопрячь две части схемы (50 и 100 МГц), что бы не было всяких логических состязаний и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BlackPahan 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба 1. ИМХО, без FIFO не получится. 2. Минимально домустимая частота тактирования DDR SDRAM 75МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitёk 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба 2. Да, точно. Придётся учетверять. 1. А если учетверять, то на ФИФО будет действительно проще. А вообще, на сколько на выходе DLL совпадают фронты сигналов одинарной и удвоеной частоты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба А вообще, на сколько на выходе DLL совпадают фронты сигналов одинарной и удвоеной частоты?Ни насколько, разъехавшиеся будут как попало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BlackPahan 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба А вообще, на сколько на выходе DLL совпадают фронты сигналов одинарной и удвоеной частоты?Ни насколько, разъехавшиеся будут как попало. Интересно... на Альтеровском PLL можно фазой выходных клоков рулить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба А вообще, на сколько на выходе DLL совпадают фронты сигналов одинарной и удвоеной частоты?Ни насколько, разъехавшиеся будут как попало. Позвольте не согласиться :) Если сигналы одинарной и удвоенной частоты беруться с выхода PLL (DLL), то фазы их соответствующих фронтов будут совпадать с достаточной степенью точности, чтобы можно было считать их синхронными, и при переходе между этими двумя доменами не требуется дополнительной логики синхронизации. Такая синхронизация фронтов является одной из функций блока PLL (DLL). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
3.14 0 14 июня, 2006 Опубликовано 14 июня, 2006 · Жалоба Я особо не настаиваю :) Просто был опыт когда в проекте с учетверенной и удвоенной частотами, при включении примерно 1 к 20 раз, фазы были разъехавшимися. С тех пор я не экспериментировал, тупо получаю все из нивысшей. Еще, учетверитель более чувствителен к шумам на входном сигнале, если удвоитель может как-то пережить даже кратковременное пропадание входной тактовой (без принудительного сброса) то учетверитель помирает при мелейших отклонениях. Одна из плат с учетверителем стала вырубаться пару раз в день, в итоге все вылилось во встраивание маленькогго частотомера на учетверенную частоту и в случае отсутствия генерировался сброс. Как оказалось позже на этой плате вместо 3.3В было ~3.1, сейчас склонен думать что причина была в этом. PS Хотя, конечно незачем мне было так категорично утверждать ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Я особо не настаиваю :) Просто был опыт когда в проекте с учетверенной и удвоенной частотами, при включении примерно 1 к 20 раз, фазы были разъехавшимися. С тех пор я не экспериментировал, тупо получаю все из нивысшей. Был однажды подобный случай, PLL была в виде отдельной микросхемы. Потом правда оказалось, что ее включили не правильно, но случаи разные бывают. Вообще такие вещи должны быть в документации четко указаны. Еще, учетверитель более чувствителен к шумам на входном сигнале, если удвоитель может как-то пережить даже кратковременное пропадание входной тактовой (без принудительного сброса) то учетверитель помирает при мелейших отклонениях. Одна из плат с учетверителем стала вырубаться пару раз в день, в итоге все вылилось во встраивание маленькогго частотомера на учетверенную частоту и в случае отсутствия генерировался сброс. Как оказалось позже на этой плате вместо 3.3В было ~3.1, сейчас склонен думать что причина была в этом. Были всякие проблемы, и с питанием, и со стабильностью входного сигнала, но если все эти проблемы решить должным образом, то оказывается, что все очень неплохо работает. То есть считать выходные частоты синхронными можно. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 15 июня, 2006 Опубликовано 15 июня, 2006 · Жалоба Просто был опыт когда в проекте с учетверенной и удвоенной частотами, при включении примерно 1 к 20 раз, фазы были разъехавшимися. Если в качестве учетверителя используется выход FX, а в качестве удвоителя - 2X - то имеют право быть разъехавшимися. А 1x и 2x выходы строго синфазны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gorby 6 18 июня, 2006 Опубликовано 18 июня, 2006 · Жалоба Вообще, Спартан-2 - не лучший выбор для контроллера ДДР. В Спартане-2 нельзя регулировать фазовый сдвиг генерируемого ДЛЛ клока. Что выливается в практическую невозможность застробировать данные при чтении, которые идут на 200 МГц. Нужный момент строба зависит от длины и нагрузки на шину данных. Кроме того, у этого Спартана нету DDR входных-выходных регистров, что сильно усложняет жизнь разработчику. У Ксилинкса есть Аппнота на ДДР контроллер на базе Спартан-2. Там все работает (разумеется, после правки напильником). Гораздо лучше подойдет Спартан-3 или 3Е, они же и подешевле будут. По поводу частоты. Стандарт JEDEC определяет нижнюю частоту ДДР памяти как 84 МГц. Что, однако, не мешает некоторым производителям делать ее еще ниже, например 75. Но нужно четко понимать, что далеко не все ДДР чипы будут работать на 75. Это связано с внутренним PLL чипа памяти. Он просто не рассчитан на низкие (менее 84 МГЦ в общем случае) частоты. Однако же, и тут существует тайный трюк. Если завести микросхему памяти в отладочный режим (прописыванием определенного бита в конфигурационном слове), то внутренний PLL отключится, позволив памяти работать на низкой частоте. Разумеется, производитель категорически не рекомендует использовать такой способ и не гарантирует временные параметры. Но оно работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitёk 0 19 июня, 2006 Опубликовано 19 июня, 2006 · Жалоба Вообще, Спартан-2 - не лучший выбор для контроллера ДДР.Абсолютно согласен. Но Спартан-3 не толлерантен к 5 вольтам, а мне нужно было обеспечить совместимость. В Спартане-2 нельзя регулировать фазовый сдвиг генерируемого ДЛЛ клока. Что выливается в практическую невозможность застробировать данные при чтении, которые идут на 200 МГц.Мой коллега вышел из положения, стробируя тактовую ДДР по спаду внутренней CLK, а все остальные сигналы - по фронту. Можно попытаться использовать и такой фокус. Однако же, и тут существует тайный трюк. Если завести микросхему памяти в отладочный режим (прописыванием определенного бита в конфигурационном слове), то внутренний PLL отключится, позволив памяти работать на низкой частоте. Разумеется, производитель категорически не рекомендует использовать такой способ и не гарантирует временные параметры. Но оно работает.А вот за это, батенька, огромное Вам спасибо. ;) Попробую в первую очередь. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BlackPahan 0 19 июня, 2006 Опубликовано 19 июня, 2006 · Жалоба 2 Vitёk Вам нужен поток 100Мслов/сек? Может вам обычным SDRAM'ом ограничиться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 17 19 июня, 2006 Опубликовано 19 июня, 2006 · Жалоба А 1x и 2x выходы строго синфазны. Они, конечно, синфазны на выходе DLL. А потом-то они пропускаются через глобальные буфера, на выходах которых вся их синфазность пропадает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vitёk 0 19 июня, 2006 Опубликовано 19 июня, 2006 · Жалоба Может вам обычным SDRAM'ом ограничиться?Устройство уже собрано. Собственно, основной обьём DDR памяти стоит на второй ПЛИС (V2-pro), и что бы не плодить номенклатуру, её же я поставил и на Spartan-2. При этом я отдавал себе отчёт, что придётся напрячься, но только один раз. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oval 0 20 июня, 2006 Опубликовано 20 июня, 2006 · Жалоба А 1x и 2x выходы строго синфазны. Они, конечно, синфазны на выходе DLL. А потом-то они пропускаются через глобальные буфера, на выходах которых вся их синфазность пропадает. Да, это так. Даже для одного клока фазы прихода на разные элементы (триггеры) будут разными. Однако этот разбег фаз учитывается самим ISE Place&Route, то есть логически синфазность не нарушается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться