Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DDR+Cyclone3 (EP3C16Q240)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2
Kuzmi4
2 DmitryR - то что вы расказываете - это же связь поведения линии со скоростью переключения сигналов а не с их уровнем..
Разница между 3В и 3.3В на сколько я понял лишь в том, что на 3 вольтах можно есчё Drive Strength выбирать, что естественно влияет на скорость сигналов, но ведь 12 мА от 16 мА не сильно отличаются laughing.gif, то есть кардинально погоды это не сделает..
Или там кардинально драйвера отличается для 3В и 3.3В ??

Я понимаю что взяв в HyperLynx драйвер Cyclone 3 на 3.3В и погоняв его на сотнях МГц я всё увижу, но хочется не быть поставленным перед фактом, а знать почему так..
brag
Цитата(Kuzmi4 @ Sep 28 2009, 13:20) *
2 DmitryR - то что вы расказываете - это же связь поведения линии со скоростью переключения сигналов а не с их уровнем..
Разница между 3В и 3.3В на сколько я понял лишь в том, что на 3 вольтах можно есчё Drive Strength выбирать, что естественно влияет на скорость сигналов, но ведь 12 мА от 16 мА не сильно отличаются laughing.gif, то есть кардинально погоды это не сделает..
Или там кардинально драйвера отличается для 3В и 3.3В ??

Я понимаю что взяв в HyperLynx драйвер Cyclone 3 на 3.3В и погоняв его на сотнях МГц я всё увижу, но хочется не быть поставленным перед фактом, а знать почему так..

0.3 вольта - это большая разница. можно и без гиперлинкс, промоделируйте в ltspicе импульс 3в и 3.3в с полседоватлельной катушкой и каким-то резистором на землю - вы увидити, как отличается овершут.

я вообще буду все запитывать от 2.7-2.8в, да бы по-меньше возистся с дизайном платы
COMA
brag,

А если попробовать разместить микросхему памяти на обратной стороне под FPGA? Соединения получатся почти точка-точка.
У меня похожий проект - EP3C25Q240C8N + 64Mbx16 DDR SDRAM.
torik
Столько разговоров про DDR память, что я тоже захотел такую. Прочитал хандбук и некоторые апноты. Остановимся на корпусе PQFP-240, для многих удобно и дешево за счет ручного монтажа. Для подключения 16-бит DDR2/DDR придется использовать top и bottom банки ПЛИС (как самые быстрые), т.к. сверху и снизу ПЛИС по одной группе по 8 бит. На каждые 8 бит памяти нужны по одному сигналу DQS, DM. А зачем аж по 6 с каждой стороны? Возникает вопрос:
- можно ли из 6-и DQS и DM использовать один любой? Иными словами... top - это банки 7 и 8, в каждом из них по 4 DQ для DDR (т.е. задействованы оба банка). С другой стороны, банк 7 - это DQS1,3,5, банк 8 - DQS0,2,4. Все равно какой из них задействовать?

Если можно, то действительно может получиться:

Цитата
А если попробовать разместить микросхему памяти на обратной стороне под FPGA? Соединения получатся почти точка-точка.
У меня похожий проект - EP3C25Q240C8N + 64Mbx16 DDR SDRAM.


ноги A0...A12, RAS, CAS, BA0,1, CKE вроде бы можно на любые IO?
COMA
Цитата(torik @ Oct 1 2009, 15:55) *
- можно ли из 6-и DQS и DM использовать один любой? Иными словами... top - это банки 7 и 8, в каждом из них по 4 DQ для DDR (т.е. задействованы оба банка). С другой стороны, банк 7 - это DQS1,3,5, банк 8 - DQS0,2,4. Все равно какой из них задействовать?

Если можно, то действительно может получиться:
ноги A0...A12, RAS, CAS, BA0,1, CKE вроде бы можно на любые IO?

Если использовать верхний и нижний банк, то DQS DM и DQ использовать любые не получится.
Они собраны в группы по 10 выводов: 8 DQ + DQS + DM.
torik
Т.е. группе DQ5B соответсвуют сигналы DQS5B и DM5B? Но тогда:

Цитата
А зачем аж по 6 с каждой стороны?

?

Где это вообще написано, что-то я упустил...
COMA
В хандбуке на 3-й циклон на стр.198 "Cyclone III Memory Interfaces Pin Support" можно почитать про группы.
Также квартус ругается при компиляции, если задействовать не те DQS и DQM
brag
Цитата(COMA @ Oct 1 2009, 00:51) *
brag,

А если попробовать разместить микросхему памяти на обратной стороне под FPGA? Соединения получатся почти точка-точка.
У меня похожий проект - EP3C25Q240C8N + 64Mbx16 DDR SDRAM.

я тоже об этом думал...сколько слоев плата? если 4 слоя, то обычно волновое сопротивление bottom/power какое-попало.
хотя,если проводники очень короткие, то это не важно.
но пока заюзаю SDRAM. DDR в следующем проекте или в следующей ревизии этого проекта. мож к тому времени и насобираю денег на платы в Китае - влеплю BGA.

Цитата
Столько разговоров про DDR память, что я тоже захотел такую. Прочитал хандбук и некоторые апноты. Остановимся на корпусе PQFP-240, для многих удобно и дешево за счет ручного монтажа. Для подключения 16-бит DDR2/DDR придется использовать top и bottom банки ПЛИС (как самые быстрые), т.к. сверху и снизу ПЛИС по одной группе по 8 бит. На каждые 8 бит памяти нужны по одному сигналу DQS, DM. А зачем аж по 6 с каждой стороны?
Возникает вопрос:
- можно ли из 6-и DQS и DM использовать один любой? Иными словами... top - это банки 7 и 8, в каждом из них по 4 DQ для DDR (т.е. задействованы оба банка). С другой стороны, банк 7 - это DQS1,3,5, банк 8 - DQS0,2,4. Все равно какой из них задействовать?

если вы внимательно посмотрите,то некоторые DQS-пины относятся не к той DQ-группе, к которой относятся остальные DQ-пины, а в документе написано, что DQS пины надо брать из той же DQ-группы, что и DQ/DM - пины.
просто пинауты(таблицы) общие для разных корпусов.

Цитата
ноги A0...A12, RAS, CAS, BA0,1, CKE вроде бы можно на любые IO?

любые, только чтобы по частоте устроили. рекомендуют из тех же сторон, что и DQ/DM/DQS.
DmitryR
Цитата(brag @ Oct 2 2009, 15:23) *
то обычно волновое сопротивление bottom/power какое-попало.
Это с какого это перепуга оно какое попало? Даже если вы не уточнике стек слоев изготовителю, то он сделает межслойное расстояние равномерное, и зная толщину платы и толщину меди можно легко расчитать сопротивление. Но даже если ничего не расчитывать, то у bottom сопротивление такое же, как у top - они же зеркальны.
brag
Цитата(DmitryR @ Oct 4 2009, 12:59) *
Это с какого это перепуга оно какое попало? Даже если вы не уточнике стек слоев изготовителю, то он сделает межслойное расстояние равномерное, и зная толщину платы и толщину меди можно легко расчитать сопротивление. Но даже если ничего не расчитывать, то у bottom сопротивление такое же, как у top - они же зеркальны.

какое попало, я имел в виду, что его обычно не расчитываю..
если есть толщина платы и нужно выдержать сопротивление TOP-GND-PWR, то bottom В пролете.
Нажмите для просмотра прикрепленного файла
DmitryR
Обычно все-таки выдерживают сопротивление top и bottom, потому что нет смысла выдерживать сопротивление прямоугольников из меди. Если же вам надо четыре слоя с выдержанным сопротивлением - то необходимо делать даже не шесть, а восемь слоев. В плейнах конечно можно проводник-другой провести аккуратно, но не те сигналы, которые трубуют выдержанного сопротивления.
brag
Цитата(DmitryR @ Oct 5 2009, 07:47) *
Обычно все-таки выдерживают сопротивление top и bottom, потому что нет смысла выдерживать сопротивление прямоугольников из меди. Если же вам надо четыре слоя с выдержанным сопротивлением - то необходимо делать даже не шесть, а восемь слоев. В плейнах конечно можно проводник-другой провести аккуратно, но не те сигналы, которые трубуют выдержанного сопротивления.

а как выдержать сопротивление bottom, относительно земли? над ним же план питания, и часто порезанный, особенно в случаи fpga, где надо несколько питаний.
явно шестислойкой пахнет smile.gif

еще пробовал присобачить DDR 16bit в quartus-e к ep3c10e144, матерится, что сильно много out/io ног заюзано на 12 ног идущих подряд.
попытаюсь еще, уберу DM,.., хочется более элегантный корпус, чем qfp240
barabek
Цитата(brag @ Oct 5 2009, 22:03) *
еще пробовал присобачить DDR 16bit в quartus-e к ep3c10e144, матерится, что сильно много out/io ног заюзано на 12 ног идущих подряд.
попытаюсь еще, уберу DM,.., хочется более элегантный корпус, чем qfp240

К сожалению сам сейчас проверить не могу. Но помню что на меня quartus как-то так тоже ругался. Даже на родном ките от альтеры. Нужно было объеденить io DQ в output enable group. У Вас не тоже самое?
brag
Цитата(barabek @ Oct 5 2009, 17:20) *
К сожалению сам сейчас проверить не могу. Но помню что на меня quartus как-то так тоже ругался. Даже на родном ките от альтеры. Нужно было объеденить io DQ в output enable group. У Вас не тоже самое?

мне такое писало
Цитата
Error: Too many output and bidirectional pins per VCCIO and ground pair in I/O bank 4 when the VREF pin 65 (VREFGROUP_B4_N0) is used on device EP3C10E144C8 -- no more than 5 output/bidirectional pins within 12 consecutive pads are allowed when the voltage reference pins are driving in, but there are potentially 6 pins driving out
Info: Location 64 (pad PAD_89): Pin ddr_a[8] of type output uses SSTL-2 Class I I/O standard
Info: Location 69 (pad PAD_97): Pin ddr_a[7] of type output uses SSTL-2 Class I I/O standard
Info: Location 70 (pad PAD_98): Pin ddr_a[6] of type output uses SSTL-2 Class I I/O standard
Info: Location 71 (pad PAD_99): Pin ddr_a[5] of type output uses SSTL-2 Class I I/O standard
Info: Location 72 (pad PAD_100): Pin ddr_a[4] of type output uses SSTL-2 Class I I/O standard
Info: Following 1 pins have the same output enable group -10: 1 pins require VREF pin and 1 pins could be output
Info: Location 67 (pad PAD_94): Pin ddr_dq[8] of type bi-directional uses SSTL-2 Class I I/O standard
Info: Following 12 location(s) shared the same VCCIO and ground pair, and 6 pin(s) are placed
Info: Location 64 (pad PAD_89): Pin ddr_a[8] of type output uses SSTL-2 Class I I/O standard
Info: Location 65 (pad PAD_90): unused
Info: Location (pad PAD_91): unused
Info: Location (pad PAD_92): unused
Info: Location 66 (pad PAD_93): unused
Info: Location 67 (pad PAD_94): Pin ddr_dq[8] of type bi-directional uses SSTL-2 Class I I/O standard
Info: Location (pad PAD_95): unused
Info: Location 68 (pad PAD_96): unused
Info: Location 69 (pad PAD_97): Pin ddr_a[7] of type output uses SSTL-2 Class I I/O standard
Info: Location 70 (pad PAD_98): Pin ddr_a[6] of type output uses SSTL-2 Class I I/O standard
Info: Location 71 (pad PAD_99): Pin ddr_a[5] of type output uses SSTL-2 Class I I/O standard
Info: Location 72 (pad PAD_100): Pin ddr_a[4] of type output uses SSTL-2 Class I I/O standard
brag
втулил таки. раскидал по 5 out/io пинов на каждую vccio/gnd пару.
DM пины туда-же влезли, как не странно, шестыми smile.gif. но я их активно драйвить не буду - буду кешировать. мож вообще на землю посажу.
кому надо - цепляю tcl-файлик для EP3C10E144C8N + ddr 16bit
Нажмите для просмотра прикрепленного файла
COMA
Цитата
матерится, что сильно много out/io ног заюзано на 12 ног идущих подряд.

Та же беда.

У меня на EP3C25Q240C8N кроме памяти еще Compact Flash и ethernet. Никак не могу раскидать.

Кстати, а как квартус считает 12 ног? Откуда и докуда?

P.S. Может создадим референс дизайн правильной разводки DDR SDRAM на 4-6 слоях? Сам собираюсь рисовать в Expedition PCB (лицензионный).
brag
12 ног хз, нікакой закономерности не вловил, но понял я одно: на одну VCCIO/GND группу влазит не более 5 io или out ног.
но почему-то на 6-ю ногу он матерится не на всех банках... но это все в случаи, если там есть io с опорным напряжением.

compact flash и ether - да, выводов много, но вместить можно, думаю.

я сделаю ref-дизайн, когда отлажу..под qfp144 хочу...правда рисую я w pads.
только он будет в силу моих возможностей - плата по-проще, без всяких bga и micro-via.
des00
Цитата(brag @ Oct 5 2009, 11:36) *
12 ног хз, нікакой закономерности не вловил, но понял я одно: на одну VCCIO/GND группу влазит не более 5 io или out ног.


может это поможет smile.gif

7. Cyclone III Device I/O Feature -> DDR/DDR2 and QDRII Pads
Цитата
For dedicated DQ and DQS pads on a DDR interface, DQ pads must be on the same side of the I/O
banks as DQS pads. With the DDR and DDR2 memory interfaces, a maximum of five DQ pads are
supported per 12 consecutive pads in column banks or 14 consecutive pads in row banks. No other
I/O can be placed within the same consecutive pads where DQ pads are located, except DDR/DDR2
pins.
COMA
Цитата
except DDR/DDR2 pins.

Ругается на адресные линии.

Может дело в этом:


Нажмите для просмотра прикрепленного файла
DmitryR
Цитата(brag @ Oct 5 2009, 15:03) *
а как выдержать сопротивление bottom, относительно земли? над ним же план питания, и часто порезанный
Токам высокой частоты, для правильного прохождения которых и выдерживают обычно сопротивление нет разницы, земля или питание - они по ВЧ под одним потенциалом. А что он порезан - правильно, надо следить, чтобы на bottom важные сигналы не пересекали границу полигона. Но конечно шесть слоев сделать лучше.
brag
Цитата(COMA @ Oct 6 2009, 10:36) *
Ругается на адресные линии.

Может дело в этом:


Нажмите для просмотра прикрепленного файла


я бы не стал это менять, тк потом могут посыпатся глюки.. если в документации написано, то лучше уж как-то это соблюдать smile.gif
Цитата
Токам высокой частоты, для правильного прохождения которых и выдерживают обычно сопротивление нет разницы, земля или питание - они по ВЧ под одним потенциалом. А что он порезан - правильно, надо следить, чтобы на bottom важные сигналы не пересекали границу полигона. Но конечно шесть слоев сделать лучше.

спасибо! тогда все становится еще проще...
будет такой стекапНажмите для просмотра прикрепленного файла

а пустое место на top/bot лучше залить полигонами и прошить (пострадает слой питания из за дырок) или оставить пустыми?
DmitryR
Залить можно, прошивать необязательно.
brag
а петель тогда не будет земляных? и не будет ли полигон антенной, подключенной к земле?
и еще по платам - в кого-то был положительный опыт разводки any angle для hi-speed?
Kuzmi4
2 brag - на счёт сплошной металлизации - встречал как то обсуждение ПП - mixed/сотня мегагерц, суть в обсчем была в том , там что-то с уровнем шумов ужасно просто было. В обсчем когда сняли все заливки с топа и боттома и остались голые проводники - всё вдруг заработало как надо. Хотя чаще встречал что заливка наоборот помогает ну или не мешает, по крайнеё мере.
Хотя конечно её можно как то хитро сделать - умельцев у нас хватает laughing.gif
В обсчем тут ICX в помощь wink.gif - он всё могЁт!
COMA
Цитата
я бы не стал это менять, так потом могут посыпаться глюки.. если в документации написано, то лучше уж как-то это соблюдать

Я не собираюсь ничего менять. Если ограничивают, значит так надо smile.gif

P.S. Разместил 64 Mbx16 DDR SDARM + Ethernet + Compact Flash + UART + 1 LED + 14 IO для своих целей в EP3C25Q240C8N
brag
Цитата(DmitryR @ Oct 6 2009, 12:43) *
Залить можно, прошивать необязательно.



Цитата(Kuzmi4 @ Oct 6 2009, 13:52) *
2 brag - на счёт сплошной металлизации - встречал как то обсуждение ПП - mixed/сотня мегагерц, суть в обсчем была в том , там что-то с уровнем шумов ужасно просто было. В обсчем когда сняли все заливки с топа и боттома и остались голые проводники - всё вдруг заработало как надо. Хотя чаще встречал что заливка наоборот помогает ну или не мешает, по крайнеё мере.
Хотя конечно её можно как то хитро сделать - умельцев у нас хватает laughing.gif
В обсчем тут ICX в помощь wink.gif - он всё могЁт!

для двуслоек заливка обязательна+прошивка. для 4, думаю, лучше оставить пустым.
icx-ом не владею. hyperlynx тоже сойдет, хотя он с заливками не очень..

Цитата(COMA @ Oct 6 2009, 14:32) *
Я не собираюсь ничего менять. Если ограничивают, значит так надо smile.gif

P.S. Разместил 64 Mbx16 DDR SDARM + Ethernet + Compact Flash + UART + 1 LED + 14 IO для своих целей в EP3C25Q240C8N

я тож влепил все, что надо в 144ногий корпус. свободных осталось пару пинов smile.gif

а с any angle никто не делал вч-дизайна? я делал до 100мгц, работало нормально. разводить удобнее и места занимает меньше. + меньше параллельных трасс - думаю, для вч это полезно
torik
Цитата
any angle


А чё это такое? Если это разводка под углами, отличающимися от 45 градусов, то думаю без разницы (можно более подробно прочитать в разделе ПП), ведь частоты не 500 МГц.

На одной плате у меня все сделано скругленными проводниками, работает нормально. SDRAM 32бит ради интереса пробовал раскочегарить даже до 200 МГц... Главное - выравнивание длин.
brag
Цитата(torik @ Oct 6 2009, 20:36) *
А чё это такое? Если это разводка под углами, отличающимися от 45 градусов, то думаю без разницы (можно более подробно прочитать в разделе ПП), ведь частоты не 500 МГц.

да, под любым углом, но большим или равным 45 градусов. на оборот для ВЧ должно помочь, тк меньше параллельных трасс.

Цитата(torik @ Oct 6 2009, 20:36) *
На одной плате у меня все сделано скругленными проводниками, работает нормально. SDRAM 32бит ради интереса пробовал раскочегарить даже до 200 МГц... Главное - выравнивание длин.

выравнивание с каким допуском?
выравнивание - большая проблемма на 2/4слойных платах уменьшенного размера, еще и с qfp/so- корпусами
torik
Цитата
выравнивание с каким допуском?


Да всего-лишь пару мм, не точнее. Этого оказалось достаточно. Ну и места такие выровненные шины будут много занимать...

На другой плате, 4-ёх слойной, у меня тоже используется TQFP-208 ПЛИС + TSOP2 SDRAM 16 бит. Точным выравниванием не занимался, т.к. ограничения по размеру платы. Но есть более-менее выход: расположил ПЛИС под углом 45 относительно памяти. Затем под микросхемой памяти провел провода от дальнего края микросхемы до "угловых" контактов ПЛИС. Ближние к ПЛИС контакты памяти провел к более удаленным контактам ПЛИС. Получилось некое подобие выравнивания...
brag
Цитата(torik @ Oct 7 2009, 08:57) *
Да всего-лишь пару мм, не точнее. Этого оказалось достаточно. Ну и места такие выровненные шины будут много занимать...

пару мм, это 100-200мил, достаточно точное выравнивание smile.gif

Цитата
На другой плате, 4-ёх слойной, у меня тоже используется TQFP-208 ПЛИС + TSOP2 SDRAM 16 бит. Точным выравниванием не занимался, т.к. ограничения по размеру платы. Но есть более-менее выход: расположил ПЛИС под углом 45 относительно памяти. Затем под микросхемой памяти провел провода от дальнего края микросхемы до "угловых" контактов ПЛИС. Ближние к ПЛИС контакты памяти провел к более удаленным контактам ПЛИС. Получилось некое подобие выравнивания...

я тоже так стараюсь делать, но с sdram особо не запариваюсь, особенно,если она на 100мгц пахает. с ddr все куда более строго - DQ/DQS работают на удвоенной частоте clk...

единственное, что я делаю для sdram - ставлю в правилах макс. задержку в 1/4 периода и потом делаю DRC. если гте-то больше, то пытаюсь просто укоротить трасу и клок делаю длиннее всех и длину cke подгоняю под него с допуском около 100міл.
думаю, для ddr должно прокатить, но еще покурю hyperlynx smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.