|
CycloneIII+DDR2 - оценка трудности |
|
|
|
Mar 26 2010, 07:46
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Добрый день, для своего хобби-проекта нужно подключить к CycloneIII(потенциально EP3C16Q240C8N) побольше памяти (2Гб и больше).
Дано: 1) Можно делать 2-х слойные платы с дорогами 0.2мм(но если очень хочется, можно и 0.1). Вижу что обычно делают 4 слоя. Если с обоих сторон покрыть лаком и слоем металлизации как экраном - поможет ли? 2) Скорость работы памяти не критична, хоть 50Мгц уже что-то, главное количество памяти (тут как раз у SRAM/SDRAM/DDR1 проблемы). 3) Хотелось бы обойтись без BGA-чипов памяти, возможно ли использовать стандартные планки памяти с разъемами? Возможность воткнуть 4Гб планку памяти - вот предел мечтаний :-) 4) При необходимости FPGA можно взять дороже.
Насколько это реально для относительного новичка? (С FPGA занимался последний раз лет 8 назад, схему на 1млн LE сделал и отладил, никуда не влезла :-) ). Или с такими ограничениями остается опустить руки, и подключать тучу 8ns SRAM-ок? (максимум что видел K6R4008C1D на 4Мбит, с большей емкостью только медленные)
Update: Удалил DDR3, там похоже только StratixIII поможет :-)
Сообщение отредактировал BarsMonster - Mar 26 2010, 08:06
--------------------
|
|
|
|
|
 |
Ответов
(1 - 46)
|
Mar 26 2010, 07:59
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(BarsMonster @ Mar 26 2010, 09:46)  Дано: 1) Можно делать 2-х слойные платы с дорогами 0.2мм. Вижу что обычно делают 4 слоя. Если с обоих сторон покрыть лаком и слоем металлизации как экраном - поможет ли? DDR2/DDR3 бывает исключительно в корпусах BGA с шагом 0.8мм, поэтому с геометрией 0.2мм гарантировано не уложитесь. Цитата(BarsMonster @ Mar 26 2010, 09:46)  3) Хотелось бы обойтись без BGA-чипов памяти, возможно ли использовать стандартные планки памяти с разъемами? Возможность воткнуть 4Гб планку памяти - вот предел мечтаний :-) Без BGA не найдете, разве что малоизвестная нестандартная (т.е. не JEDEC-кая будет) экзотика. Использование готовых DIMM-ов - вариант, можно попробовать. А Вы уверены что Вам RAM надо, т.е. многократная запись точно нужна? При 50МГц уже многие NAND работать смогут, 2ГБ для них детский объем. Upd: DDR3 еще новые Спартаны-6 поддерживают, если без GTX то по цене доступно выйдет.
|
|
|
|
|
Mar 26 2010, 08:18
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Spartan-6 по цене действительно подходят, но не-БГА у них только крошки до 9к Logical Cells. Нужно именно память, на FPGA - процессор. Цитата На двуслойной плате DDR память не делается, DIMM вы не разведете в двух слоях и не подключите к QFP корпусу. А если с перемычками? Это же один экземпляр, лишние 10-20 минут на перемычки есть. По идее качество сигнала не должно быть хуже, чем от дорог на соседних слоях...
--------------------
|
|
|
|
|
Mar 26 2010, 12:50
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Не подскажите ссылку где говорят что нельзя? Пока вижу Цитата P.S. Кстати насчет DDR2 DIMM - там каждый байт идет со своим синхросигналом, поэтому шина и размазывается без проблем по нескольким банкам. На форуме альтеры нашел что SODIMM DDR2 можно подключить к 484-контактному циклону В общем понятно, к 240-контактному чипу DIMM точно не подключить. Тогда с какой толщиной дорог разводятся отдельные DDR2 чипы памяти, и насколько реально заставить работать отдельные чипы на обычной двухсторонней плате? (Думаю припаять BGA память я еще смогу, а вот 484-контактный FPGA вряд ли :-) ) Сколько-битная память тогда влезет по идее к 240-контактному циклону?
Сообщение отредактировал BarsMonster - Mar 26 2010, 12:52
--------------------
|
|
|
|
|
Mar 26 2010, 12:58
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Цитата(Kuzmi4 @ Mar 26 2010, 14:55)  А реально чем не подходит ONFI флеша: 14 лап на объём в десяток гигабит Флешу для стандарта ONFI 1.0 в принципе реально заказать (если через контору). Для ONFI 1.0 - можно на 100МГц данные в потоке гонять. Если не устраивает скорость - поставьте 2+ штуки и она пропорционально увеличится  Это процессор, он и читает и пишет, много и быстро. Ну и у флеши очень неприятная латентность при записи, особенно если флеш с ужасом понимает, что перед записью блок надо бы еще и стереть :-)
--------------------
|
|
|
|
|
Mar 26 2010, 13:16
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Цитата(Kuzmi4 @ Mar 26 2010, 15:04)  Ну тогда вам дорога в бга корпуса и ддр. На 4-х слойке думаю без проблем осилите ддр2 в корпусах. Вот на счёт содим - тут вроде 6 слоёв как нужно. Больше интересует реальность DDR2 чипов на двухслойке, возможно с перемычками. Если плату 4-6 слоев делать, то уже и FPGA BGA впаять можно - но тогда почти все придется делать не самому :-)
--------------------
|
|
|
|
|
Mar 26 2010, 13:31
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Цитата(Kuzmi4 @ Mar 26 2010, 15:20)  На сколько я знаю таким никто не занимался  Вам видимо предстоит долго и нудно гуглить Кстати о какой быстроте идёт речь когда частота прожекта 50МГц??  Или у вас ключевой параметры для памяти это latency? Ну, DDR2 50Мгц(впрочем по стандарту минимум 125Мгц) на 16-32 бита и флеш память... По скорости небо и земля :-) Про нудное гугление - эт само собой, и теребить людей придется долго как местных так и буржуев :-) Сейчас интересны именно мнения о реализуемости опытных разработчиков.
--------------------
|
|
|
|
|
Mar 29 2010, 11:44
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Цитата(deus @ Mar 29 2010, 10:32)  Товарищ хочет все сделать на коленках за 2 копейки. Так не бывает, а если бывает - то только в сказках. При работе с DDR2 нужно очень внимательно относится к трассировке. Даже если высокие скорости не нужны. Были проблемы при подключении DDR2 SO-DIMM к Cyclone II. Всего то, не выровняли проводники шины данных по длинне. Долго мучались пока запустили на частоте 160 Мгц, спасибо Альтере за гибкую структуру микросхем. На 2-х слойке развести DDR2 по моему не реально. Да, вы правы, именно на коленках и за 2 копейки, ибо это хобби а не на продажу. Заказывать все на заводе и получать продукт, к которому не была приложена моя рука - совсем не интересно. Известно следующее: 1) Чем больше слоев - тем хуже качество сигналов (много где видел). Пока не понятно почему считается что 4 лучше чем 2. 2) Чисто на 2-х слоях у меня нет цели делать, мне не лень запаять перемычки, качество сигналов на них не должно быть хуже чем на ПП - расстояние между проводниками всяко больше. 3) Насчет тайминга - опять же, писали что это не особо критично на этих частотах, главное с DQS угадать. Думаю, DQS точно сделаю проводом, длину которого можно подбирать. Посмотрел в других ветках - в расстояние между пинами DDR2 чипов можно запихнуть дорогу на 0.127мм (и пустое место тоже по 0.127). Непросто для домашнего фото-способа. Впрочем, есть сумасшедший вариант :-) Видел как немаленький BGA чип был с подпаянными проводками к шарам, у DDR2 пинов не много, должно быть вполне реально :-) (блин, не могу найти фотку этого чуда)
--------------------
|
|
|
|
|
Mar 29 2010, 15:02
|
Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 28-10-05
Из: Зеленоград
Пользователь №: 10 205

|
Цитата(BarsMonster @ Mar 29 2010, 14:44)  1) Чем больше слоев - тем хуже качество сигналов (много где видел). Пока не понятно почему считается что 4 лучше чем 2. Вот на счет этого я могу поспорить. Многослойность нужна еще и для того что бы обеспечить волновое сопротивление проводника, например 50 Ом. Когда все проводники проводятся внутри, между опорными слоями земли и питания. Без этого терминаторы на линиях будут только ухудшать качество сигнала и приводить к повышению звона, а не на оборот. На 2-х слоях (да даже на 4-х) этого сделать не удастся. А на несогласованных линиях говорить о стабильной работе DDR2, даже на низких частотах бесполезно.
|
|
|
|
|
Mar 29 2010, 17:45
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(BarsMonster @ Mar 29 2010, 14:44)  Известно следующее:
1) Чем больше слоев - тем хуже качество сигналов (много где видел). Пока не понятно почему считается что 4 лучше чем 2. 2) Чисто на 2-х слоях у меня нет цели делать, мне не лень запаять перемычки, качество сигналов на них не должно быть хуже чем на ПП - расстояние между проводниками всяко больше. 3) Насчет тайминга - опять же, писали что это не особо критично на этих частотах, главное с DQS угадать. Думаю, DQS точно сделаю проводом, длину которого можно подбирать.
Посмотрел в других ветках - в расстояние между пинами DDR2 чипов можно запихнуть дорогу на 0.127мм (и пустое место тоже по 0.127). Непросто для домашнего фото-способа. Впрочем, есть сумасшедший вариант :-) Видел как немаленький BGA чип был с подпаянными проводками к шарам, у DDR2 пинов не много, должно быть вполне реально :-) (блин, не могу найти фотку этого чуда) Да вам плата вообще не нужна тогда: можно все микросхемы кверху брюхом перевернуть (в том числе и БГА память), приклеить к листу фанеры и МГТФ-ом все межсоединения сделать.  Дешево и сердито. Кстати тогда и ПЛИС можно в БГА брать - например можно заюзать Spartan6 со встроенным контроллером DDR3 - вообще супер девайс получится. З.Ы. В результате получится ваша мечта - плата с числом слоёв равным нулю и одними перемычками. Проблем вообще никаких: возратных токов нету, волнового сопротивления нету, перемычки сигнал не искажают, голова при разводке платы не болит. Плюс ещё можно на лету выравнивть длины дорожек путём выравнивания длин проводов из МГТФ. P.S. Если не заработает купите бубен(только хороший, кожаный) и читайте про чёрную магию - книжка правильная.
|
|
|
|
|
Mar 29 2010, 18:29
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-03-10
Из: Россия, Москва
Пользователь №: 55 849

|
Цитата(VladimirB @ Mar 29 2010, 20:45)  Да вам плата вообще не нужна тогда: можно все микросхемы кверху брюхом перевернуть (в том числе и БГА память), приклеить к листу фанеры и МГТФ-ом все межсоединения сделать.  Дешево и сердито. Кстати тогда и ПЛИС можно в БГА брать - например можно заюзать Spartan6 со встроенным контроллером DDR3 - вообще супер девайс получится. Проводами меня не испугать ;-)  Тут проводов похоже больше чем на 8 бит DDR2 Книгу про черную магию скачал, читаю :-) Цитата(deus @ Mar 29 2010, 18:02)  Вот на счет этого я могу поспорить. Многослойность нужна еще и для того что бы обеспечить волновое сопротивление проводника, например 50 Ом. Когда все проводники проводятся внутри, между опорными слоями земли и питания. Без этого терминаторы на линиях будут только ухудшать качество сигнала и приводить к повышению звона, а не на оборот. На 2-х слоях (да даже на 4-х) этого сделать не удастся. А на несогласованных линиях говорить о стабильной работе DDR2, даже на низких частотах бесполезно. На этот счет 2 мысли: 1) Открыл корпус, смотрю на разводку DDR2 на материнской плате - дороги идут по поверхности, никакого волнового канала. 2) Землю поверх дорог я могу сделать и без 4-х слойной платы - слой лака+слой металлизации посаженный на землю или приклеенная фольга.
--------------------
|
|
|
|
|
Mar 29 2010, 19:52
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(BarsMonster @ Mar 29 2010, 22:29)  Проводами меня не испугать ;-) Тут проводов похоже больше чем на 8 бит DDR2 Книгу про черную магию скачал, читаю :-) На этот счет 2 мысли: 1) Открыл корпус, смотрю на разводку DDR2 на материнской плате - дороги идут по поверхности, никакого волнового канала. 2) Землю поверх дорог я могу сделать и без 4-х слойной платы - слой лака+слой металлизации посаженный на землю или приклеенная фольга. плохо читаете: дороги идут на поверности а под ними непрерывный слой земли. Если вы сможете нанести слой лака заданной толщины с точностью 10%, и знаете его диэлектрическую проницаемость на высоких частотах - то флаг вам в руки, а иначе бубен вам в помощь. Про волновой канал и то что дорожки обязательно должны быть внутри - это байки от тех, кто слоёв в плате не считает. И уж поверьте если китайцы смогли бы развести двухслойную плату с DDR2 - они бы это сделали. Они умудряются порой такие удивительные чудо-девайсы собирать из двух транзисторов, трёх кондёров и пустых мест под незапаянные детали.
|
|
|
|
|
Mar 30 2010, 10:43
|
Частый гость
 
Группа: Свой
Сообщений: 97
Регистрация: 28-10-05
Из: Зеленоград
Пользователь №: 10 205

|
Цитата(BarsMonster @ Mar 29 2010, 21:29)  2) Землю поверх дорог я могу сделать и без 4-х слойной платы - слой лака+слой металлизации посаженный на землю или приклеенная фольга. Делайте. В конце концов, наши ограничения существуют только у нас в уме. Кто знает, может быть вам удастся сказать новое слово в схемотехнике и конструкции аппаратуры. Даже если это не заработает, вы многому научитесь. Желаю успеха.
|
|
|
|
|
Mar 31 2010, 11:17
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(deus @ Mar 29 2010, 09:32)  Всего то, не выровняли проводники шины данных по длинне. Долго мучались пока запустили на частоте 160 Мгц, спасибо Альтере за гибкую структуру микросхем. 1).А можно подробней о выравнивании шины данных по длине?Мне нужно принять 14 бит данных,LVDS,DDR(не память),частота клока 280МГц.Разброс длин дорожек бит данных(макс минус мин) - 22мм.Это нормально или ещё нужно поровнять?Какой разброс длин вообще допустим?Вроде перекос распространения всего 66 ps при периоде 1800 ps. 2).Конструктор не может развести диффпары по данным в одном слое,если эти диффпары разнести на два слоя(p в одном,а n в другом) одна дорожка следует под другой - это как,допустимо?
|
|
|
|
|
Mar 31 2010, 12:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(_Anatoliy @ Mar 31 2010, 15:17)  1).А можно подробней о выравнивании шины данных по длине?Мне нужно принять 14 бит данных,LVDS,DDR(не память),частота клока 280МГц.Разброс длин дорожек бит данных(макс минус мин) - 22мм.Это нормально или ещё нужно поровнять?Какой разброс длин вообще допустим?Вроде перекос распространения всего 66 ps при периоде 1800 ps. А вы отмоделируйте и посмотрите, какая у вас будет ширина глазка с учетом фронтов и джиттера, а потом прикиньте эти 100 ps (именно 100, потому что скорость распространения электричества в меди в лучшем случае достигает 60% скорости света из-за ненулевой индуктивности etc.) к этой ширине. Вообще 14 пар развести с выравниванием до десятки обычно нет проблем, зачем судьбу испытывать. Если вы там конечно в площадь не зажаты совсем, что аккордеон лишний не поставить. Цитата(_Anatoliy @ Mar 31 2010, 15:17)  2).Конструктор не может развести диффпары по данным в одном слое,если эти диффпары разнести на два слоя(p в одном,а n в другом) одна дорожка следует под другой - это как,допустимо? Это опять же можно в HyperLynx посмотреть, что получится, если диффпару образовывать, проводя проводники не рядом, а друг под другом. Но вообще обычно проще проводить проводники пары рядом, а уже пары сами разводить по разным слоям. Однако надо помнить, что если сделать стек слоев равномерным - то дифференциальное сопротивление внутренних слоев будет отличаться от внешних.
|
|
|
|
|
Mar 31 2010, 13:27
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(DmitryR @ Mar 31 2010, 13:22)  А вы отмоделируйте и посмотрите, какая у вас будет ширина глазка с учетом фронтов и джиттера, а потом прикиньте эти 100 ps (именно 100, потому что скорость распространения электричества в меди в лучшем случае достигает 60% скорости света из-за ненулевой индуктивности etc.) к этой ширине. Вообще 14 пар развести с выравниванием до десятки обычно нет проблем, зачем судьбу испытывать. Если вы там конечно в площадь не зажаты совсем, что аккордеон лишний не поставить. Спасибо!Да,с площадью проблема,поколдую ещё - может что придумается. Цитата(DmitryR @ Mar 31 2010, 13:22)  Это опять же можно в HyperLynx посмотреть, что получится, если диффпару образовывать, проводя проводники не рядом, а друг под другом. Но вообще обычно проще проводить проводники пары рядом, а уже пары сами разводить по разным слоям. Однако надо помнить, что если сделать стек слоев равномерным - то дифференциальное сопротивление внутренних слоев будет отличаться от внешних. Всё никак не заставлю себя сесть за освоение HyperLynx А кто нибудь практически делал так - 10 пар шины в одном слое,а 4 пары друг под другом?
|
|
|
|
|
Apr 2 2010, 09:11
|

Частый гость
 
Группа: Участник
Сообщений: 95
Регистрация: 3-01-10
Из: Рождественно
Пользователь №: 54 616

|
Цитата(Kuzmi4 @ Mar 26 2010, 17:41)  Ну не скажите.. Флеша имеет 14 лап, стандарт 1.0 позволяет работать на 10нс, шина данных камня - байт, ставите 4 шутки для 32бит - уже получаем 10/4нс на чтение в потоке, ну там +/-. На запись в занятые сектора для уменьшения latency тоже можно поизголяться Просто, по-моему вы не в ту сторону копаете... Прошу прощения за офтоп, но мне очень интересно что за флеша такая с 14 лапами и 10нс ? интересует название микросхемы.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|