Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Покритикуйте, пожалуйста, схематик Cyclone5SoC и LPDDR2
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
iiv
Добрый день,

есть большущее желание развести самому Cyclone5-SoC с минималистической периферией, а именно с LPDDR2, RGMII, UART0, SDCARD и входным клоком, чтобы прошивка для HPS в виде линукса всегда при старте грузилась с SDCARD, а прошивка плиски далее загружалась через /dev/fpga0. На сколько мог, пользовал то, что есть в терасиковской DE10-SoC и на основе многоуважаемого des333 и его статей на хабре.

Так как такого рода платы до этого ни разу не разводил (есть только недавний успешный опыт разводки 5-ого обычного циклона с загрузкой по AS без какой-либо перефирии, только GPIO), посему сильно нервничаю и боюсь, что где-то какой-то из мануалов прочитал не так и что-то не туда соединил. Посему аттачу схематик (пока еще без DC-DC и фильтров питания), пожалуйста, взгляните, беглым взглядом, возможно сразу в глаза бросятся какие-то грубые ошибки.

На схеме [NC] обозначил как сигналы, которые можно притянуть на gnd, питание или оставить плавающими, а dnc - как сигналы, которые ни к чему не будут подключены. В процессе разводки, когда будет ясно куда их удобнее притянуть, туда и приклею. Пробно сигналы разводить начал, надобно минимум 3 сигнальных слоя + их плейны и top/bottom для компонент, конденсаторов и фильтров по питанию, то есть 8+ слоев, посему хотелось бы не ошибиться в схематике, так как это выльется в большие финансовые затраты.

Пожалуйста, взгляните на схематик наметанным взглядом, вдруг что-то сразу заметите! Особенно как я управляющие пины (TDO,CONFIG,...), и память подключил.

PDF и весь проект в kicad формате приаттачил.

Спасибо!

ИИВ
aaarrr
ИИВ, Вы меня извините, конечно, но так схемы не рисуют. Проверить её в текущем виде не представляется возможным.
- SoC и память почему-то "бестелесные"
- Вместо лабиринтов безымянных проводов используйте именованные цепи
- куча накладывающегося текста
- PDF следовало бы развернуть в нормальное положение
Aner
.. ну и не Ki-CAD для этого, одно мученье там, без опыта и знаний. Выберете один из двух: экспедишн или оркад. Альтий лучше не трогать, пусть там другие мучают аналогичные платы. И ничего что нет опыта, ... все нормально, но только из этих двух что то.
iiv
Спасибо большое за советы!

Цитата(aaarrr @ Dec 1 2017, 05:51) *
ИИВ, Вы меня извините, конечно, но так схемы не рисуют. Проверить её в текущем виде не представляется возможным.
- SoC и память почему-то "бестелесные"
- Вместо лабиринтов безымянных проводов используйте именованные цепи
- куча накладывающегося текста
- PDF следовало бы развернуть в нормальное положение

пытаюсь учесть замечания:
1. бестелесность у микросхем, которые разбиты на блоки у меня почему-то не фиксится, или одно одинаковое тело на все блоки, или нету его вообще...,
2. вроде лабиринты-то короткие и на против друг-другу, через шины совсем заумно и не наглядно, а через цепи - совсем громоздко. Цепи применяю конечно, где они нагляднее.
3. да, верно, согласен, что надпись "dnc" на каждый пин практически не читается, как я писал выше, они будут заменены на gnd, питание или X во время разводки,
4. это да, сделал экспорт из КиКада как есть и смотрится не красиво, постараюсь ручками подправить.

Цитата(Aner @ Dec 1 2017, 06:13) *
.. ну и не Ki-CAD для этого, одно мученье там, без опыта и знаний. Выберете один из двух: экспедишн или оркад. Альтий лучше не трогать, пусть там другие мучают аналогичные платы. И ничего что нет опыта, ... все нормально, но только из этих двух что то.

наверное Вы правы, до недавнего времени хотел сожмотить 7 кевро, которые у меня попросили оркадщики, когда я у них запросил версию для разработки того, что сейчас обсуждается...
aaarrr
Цитата(iiv @ Dec 1 2017, 13:13) *
2. вроде лабиринты-то короткие и на против друг-другу, через шины совсем заумно и не наглядно, а через цепи - совсем громоздко. Цепи применяю конечно, где они нагляднее.

А при трассировке как Вы сами поймете, что цепь N5487164 - это, допустим, часть нулевого лейна шины данных памяти, а не какой-нибудь адрес или половинка дифпары клока?
iiv
Цитата(aaarrr @ Dec 1 2017, 16:16) *
А при трассировке как Вы сами поймете, что цепь N5487164 - это, допустим, часть нулевого лейна шины данных памяти, а не какой-нибудь адрес или половинка дифпары клока?

так тут всяко постадийно надо, я по старинке делал вначале отмечая диффпары, и разводя их, а потом перетассовывал биты в байтак чтобы было все ровнее и было меньше перехлестов, после этого все эти сигналы проще ровнять, так как они все стоят параллельно на 3-х слоях и вопрос только на какое минимальное расстояние поставить микросхему памяти, чтоб все выровнять. Наверное Вы правы, что если обозначать, то хоть и больше писчей работы получается, но потом во время трассировки можно немного времени сэкономить. Раньше такое не разводил, поэтому не знал, спасибо за подсказку!
Aner
Вот по выравниванию и по слоям ... . А как вы планируете в кикаде учитывать выровненную длину линий, если часть их будет на top, bottom, другая во внутренних слоях?
Я это к тому, что внутри у вас эпсилн один например e~ 4.3 для внутренних слоёв а на top, bottom другой. Для тех же диф пар, микрострипов, шин адреса данных и тп. Если выровняли все для "воздуха", то во внутренних слоях задержка сигналов из-за другого "е" может укоротоить вашу длину двухкратно. От выбранного вами стека зависит многое если мы говорим о Cyclone5-SoC даже с минималистической периферией как LPDDR2, RGMII, SDCARD.
iiv
Спасибо, Aner, что советуете и всем также спасибо за советы и сочувствия!
Цитата(Aner @ Dec 2 2017, 17:23) *
Вот по выравниванию и по слоям ... . А как вы планируете в кикаде учитывать выровненную длину линий, если часть их будет на top, bottom, другая во внутренних слоях?

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

То есть я заложился на стек с тремя внутренними препрегами, + что-то сверху и снизу, и 4 слоя на питание должно хватить. Да, это приводит к 10 слоям...

Альтернативно если позволить до 7 мм идти дорожкам абы как, то мне надо только два внутренних препрега, что приведет к 8 слоям.

Еще альтернативнее, вижу, что могу с разбросом в диапазоне 9-16мм проложить все 60 сигналов на LPDDR2 абы как, влезая только в 6 слоев, но понятно, не сильно верю, что такой дизайн будет работоспособен.

Чем еще прельщает кикад - так это открытостью формата. Я уже разобрался с тем, как у него разводка задается, а у меня есть самопально написанная Максвелловская решалка (не сочтите за бахвальство, но я эти решалки когда-то писал для ЦСТ и Боша) что могу сам например с-параметры для любой пары посчитать.

Разбираться с гиперлинском - тяжеловато, а решалка - под рукой, и прикрутить на кикадовский формат, может что-то подхачив в текстовом редакторе, думаю, что делов на 2-3 дня. За это время я только гиперлинкс из закромов может только успею скачать, а в нем еще разобраться надо.

К сожалению, есть реальное не понимание, что важно, а что нет, например, я подал на один проводник меандр на 333МГц, какие величины кросс-толков и величины испорченности сигнала на приемнике допустимы?

Наверное из-за этого пока хочу оставаться на кикаде, да и сильно жаба душит оркад за 7к покупать. Знаю, что есть в закромах, но именно для этого дизайна не хотел к ним прибегать.

Цитата(Aner @ Dec 2 2017, 17:23) *
RGMII, SDCARD.

RGMII встает так, что все сигнальные дорожки имеют длину 6-9мм, как я понимаю, там 125МГц на двух фронтах, то есть реально до 20мм оно ничего не должно почувствовать. С SDCARD - примерно все также, только частоты еще ниже. Правильно я понимаю, что тут грех не забить на выравнивание и на опорные слои, а развести все по принципу наименьшего расстояния?

PS: так как реально в схематике до этого опыта было мало, один раз только 5-ый циклон в 256мм-1.0мм корпусе с минималистической GPIO переферией запустил, все еще боюсь, что какие-то сигналы в циклоне или памяти не правильно положил, на днях приведу в порядок схематик (может уже дорисую разводку) и попытаюсь снова на проверку выложить, вдруг чей-то наметанный глаз сразу какую-то мою глупою ошибку увидит.

Спасибо!

ИИВ
Александр С.
Главное, что VCCBAT запитали, иначе Cyclone V не запустился бы...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.