Может кто сможет подсказать:
Необходимо получить контролер DDR SDRAM. В устройстве использованы 4 корпуса 32Мх16 Samsung K4X51163PC-L(F)E/GC3. Естественно такой микросхемы MIG не знает, пытаюсь выставить параметры корпуса в ручную.
А вот теперь проблема - в генераторе задан диапазон значений и эти значения не подходят для моей памяти (пример: Address and Control Input setup time имеет диапазон до 1100 ps, а для указанной схемы памяти он 1300 ps), и соответственно, данное значение нельзя ввести
Может кто подскажет как выкручиваться?
PS Такая же ситуация свойственна для Micron MT46H16M16LF-75.
DmitryR
Mar 5 2010, 12:19
Для начала выбрать тип памяти LPDDR - MT46H16M16LF-75 появится.
Что бы не плодить ветки задам свой вопрос здесь.
До сих пор мы работали с Альтерой, в том числе реализовали на ней несколько устройств с интерфейсом DDR2. Сейчас мы рассматриваем Xilinx Spartan-6 в качестве значительно более дешевой альтернативы микросхеме Stratix III. Вопрос: есть ли у кого опыт реализации интерфейса DDR2 400 MHz на микросхемах Spartan-6 и нет ли там "подводных камней" с которыми можно столкнутся на этапе разработки и которые не описаны в документации Xilinx?
Требуемая ширина шины 64 бит - максимально возможный для этого семейства. Еще проблема еще в том, что времени на освоение ISE и MIG у нас мало. Выигрыш по деньгам конечно не малый - 958$ (EP3SL50F780C2) - 250$(XC6SLX150-3FG900C) = 700$. Но с альтерой мы уже работали, а с Xilinx - нет.
DmitryR
Mar 5 2010, 14:17
Самый очевидный подводный камень заключается в том, что контроллер в Spartan-6 поддерживает только шестнадцатиразрядную память, и для шестидесяти четырех разрядов вы будете иметь 4 отдельных контроллера с необходиомстью разводить адреса и управление отдельно, то есть примерно 60 лишних ног и соответственно невозможность использовать модули, так как там одно управление на все 64 разряда.
Цитата(DmitryR @ Mar 5 2010, 15:19)

Для начала выбрать тип памяти LPDDR - MT46H16M16LF-75 появится.
Дмитрий, а где выбрать? У меня нет такой опции, использую Virtex-4.
DmitryR
Mar 8 2010, 07:58
Тогда думаю, что вы попали - контроллер для Virtex-4 такую память не поддерживает.
Да вот и у меня такое ощущение.
Может кто знает как отыскать С А S T, Inc. D D R/D D R2 S D R A M Controller ? Он вроде бы поддерживает mobile DDR для Virtex-4.
Цитата(White @ Mar 8 2010, 17:50)

Да вот и у меня такое ощущение.
Может кто знает как отыскать С А S T, Inc. D D R/D D R2 S D R A M Controller ? Он вроде бы поддерживает mobile DDR для Virtex-4.
Есть cast sdr sdram контроллер. Если поможет...
Cast sdr sdram контроллер я здесь видел, спасибо, но боюсь он мне не как не поможет. Вот незадача однако...
DmitryR
Mar 9 2010, 09:10
Так надо ж было этот вопрос решать наверное до того, как плату делать. Посмотрите на OpenCores - там несколько DDR контроллеров есть. Вообще не понимаю смысла к Virtex-4 ставить Mobile DDR - экономия на спичках IMHO.
Цитата(DmitryR @ Mar 9 2010, 12:10)

Так надо ж было этот вопрос решать наверное до того, как плату делать. Посмотрите на OpenCores - там несколько DDR контроллеров есть. Вообще не понимаю смысла к Virtex-4 ставить Mobile DDR - экономия на спичках IMHO.
Ну выходит так как нужно далеко не всегда, особенно, когда ТЗ на разработку выдается теми кто совсем ничего не понимает в нем, большая часть условий задачи не оговорена. В общем что сделано то сделано, но задачи с меня снимать все равно ни кто не хочет. Это была лирика.
Теперь вопрос к тем кто писал что-то похожее на DDR контролер

tCK = 12 ns tAC = 2-8 ns

Вопрос заключается в том, как обеспечить надежный захват данный?
Может у кого есть здравые мысли как это сделать, но не излишне сложно?
DmitryR
Mar 29 2010, 07:35
Мысли есть: сгенерируйте с помощью MIG контроллер и посмотрите. Без излишних сложностей там IMHO не получится - обычно требуется калибровка IODELAY, и у памяти случаются недокументированные косяки, как показывает анализ комментариев в коде фирменных контроллеров. Так же еще посмотрите, какой стандарт ввода-вывода вы будете использовать: мне кажется, что у LPDDR свой стандарт какой-то, у новых ПЛИС он выделен в отдельный стандарт ввода-вывода, а вот в Virtex-4 - нет. Поэтому для начала просто попробуйте регистр режима прочитать, убедитесь что у вас память и ПЛИС электрически совместимы.
Цитата(DmitryR @ Mar 29 2010, 11:35)

Мысли есть: сгенерируйте с помощью MIG контроллер и посмотрите. Без излишних сложностей там IMHO не получится - обычно требуется калибровка IODELAY, и у памяти случаются недокументированные косяки, как показывает анализ комментариев в коде фирменных контроллеров.
Мдя, не просто там разобраться... ладо это-то я делаю.
Цитата(DmitryR @ Mar 29 2010, 11:35)

... Так же еще посмотрите, какой стандарт ввода-вывода вы будете использовать: мне кажется, что у LPDDR свой стандарт какой-то, у новых ПЛИС он выделен в отдельный стандарт ввода-вывода, а вот в Virtex-4 - нет. Поэтому для начала просто попробуйте регистр режима прочитать, убедитесь что у вас память и ПЛИС электрически совместимы.
LVCMOS там.
У меня возник вопрос - на ниже приведенном рис 17 и на выше приведенном рис 30 есть задержки.

Вопрос в том, откуда они возникают?
И с чем связан такой разброс фронтов DQ? так в стандарте я не нашел ничего похожего.
Просвятите, если кто знает?
BarsMonster
Mar 30 2010, 16:01
Цитата(White @ Mar 30 2010, 18:40)

И с чем связан такой разброс фронтов DQ? так в стандарте я не нашел ничего похожего.
Просвятите, если кто знает?
Ну так это видимо показывают, что в реальности проводники разной длины по шине DQ + внутри плисины все не одинаковой длины...
17см дороги = 1нс
DmitryR
Mar 31 2010, 06:30
Цитата(White @ Mar 30 2010, 19:40)

LVCMOS там.
Хм. У Virtex-4 LVCMOS18 Vol=0.4 max, Voh=1.35 min. У MT46H16M16 Vil=0.36 max, Vih=1.44 min. То есть теоретически может сложиться ситуация, когда выход Virtex-4 будет колебаться в пределах зоны гистерезиса памяти, и это не будет противоречить даташитам. Очевидно не зря в Spartan-6 введен стандарт ввода-вывода MOBILE_DDR c Vol=0.18 max, Voh=1.62 min.
Дмитрий у меня другая память - в начале темы я писал, что там стоит самсунг K4X51163PC.. у него Vil = 0,56 max, Vih = 1,26 min
Но мне бы сейчас больше хотелось, что бы мне рассказали про задержки в памяти
Цитата(White @ Mar 31 2010, 15:47)

Дмитрий у меня другая память - в начале темы я писал, что там стоит самсунг K4X51163PC.. у него Vil = 0,56 max, Vih = 1,26 min
Но мне бы сейчас больше хотелось, что бы мне рассказали про задержки в памяти

Не обращайте внимания на задержки на рисунках. Там показаны возможные случаи задержки данных, удовлетворяющих стандарту, и требуемое положение DQS, чтобы получалось стробирование данных при чтении как раз в пределах валидного окна. Наиболее простой случай для вас - берете MIG генерите DDR/DDRII контроллер, в принципе для любого кристалла, запускаете встроенный тестбенч, который пишет/читает паттерны, и смотрите глазами на диаграммы. Под Virtex4 переделать будет не очень трудно, всего-лишь выходные примитивы в IOB заменить, и возможно распределенную RAM в части чтения данных.
DmitryR
Apr 1 2010, 05:50
Проблема заключается в том, что Mobile-DDR поддерживается только в Spartan-6, а там он погружен и перенести соответственно не получится. А обычный DDR контроллер есть и для Virtex-4, можно сгенерировать и ничего не переделывать, но он скорее всего не заработает, так как различается времянка.
Ну то что он не заработает это 100%, дело в том, что координально отличается инициализация памяти и ее чтение. Запись практически аналогична.
Сейчас суть в том, что надо понять сейчас можно ли захлопывать данных на фронтам CLK?
Про все прочие особенности пока речи не идет.
Цитата(White @ Apr 1 2010, 19:24)

Ну то что он не заработает это 100%, дело в том, что координально отличается инициализация памяти и ее чтение. Запись практически аналогична.
Сейчас суть в том, что надо понять сейчас можно ли захлопывать данных на фронтам CLK.
Про все прочие особенности пока речи не идет.
Сорри, не увидел что речь идет про LPDDR, слишком часто по топику сквозит DDR/DDRII. Но и в этом случае не все так сложно, как можно подумать. Тут все отличия этих стандартов
http://download.micron.com/pdf/technotes/DDR/tn4615.pdf. Переделать инциализацию и диаграмму чтения не так сложно. Я долго ковырял МИГи, модуль отвечающий за арбитраж практически один и тот же. Можете сами сравнить исходники разных контроллеров. Различия в некоторых кусках конвеера управляющих сигналов, но зная как должны выглядеть диаграммы , можно доковырять логику и переделать контроллер под нужный стандарт. Понятно что при том при всем придется подкрутить констрейны. Все решаемо с помощью симуляции нетлиста бэканнотированного sdf файлом.
DmitryR
Apr 2 2010, 06:12
Цитата(White @ Apr 1 2010, 19:24)

Сейчас суть в том, что надо понять сейчас можно ли захлопывать данных на фронтам CLK?
Этот вопрос можно перевести примерно так: "На самом ли деле разработчики стандарта DDR памяти забыли выкинуть из драфта абсолютно лишний сигнал DQS, или в нем все-таки есть какой-то скрытый смысл"? Да, в нем есть смысл - он тактирует данные, а CLK тактирует команды. Рассматривайте это как разные временные домены.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.