Jump to content

    
Sign in to follow this  
iiv

Покритикуйте, пожалуйста, схематик Cyclone5SoC и LPDDR2

Recommended Posts

Добрый день,

 

есть большущее желание развести самому 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 формате приаттачил.

 

Спасибо!

 

ИИВ

myfirstpro.zip

soc_lpddr2.pdf

Share this post


Link to post
Share on other sites

ИИВ, Вы меня извините, конечно, но так схемы не рисуют. Проверить её в текущем виде не представляется возможным.

- SoC и память почему-то "бестелесные"

- Вместо лабиринтов безымянных проводов используйте именованные цепи

- куча накладывающегося текста

- PDF следовало бы развернуть в нормальное положение

Share this post


Link to post
Share on other sites

.. ну и не Ki-CAD для этого, одно мученье там, без опыта и знаний. Выберете один из двух: экспедишн или оркад. Альтий лучше не трогать, пусть там другие мучают аналогичные платы. И ничего что нет опыта, ... все нормально, но только из этих двух что то.

Share this post


Link to post
Share on other sites

Спасибо большое за советы!

 

ИИВ, Вы меня извините, конечно, но так схемы не рисуют. Проверить её в текущем виде не представляется возможным.

- SoC и память почему-то "бестелесные"

- Вместо лабиринтов безымянных проводов используйте именованные цепи

- куча накладывающегося текста

- PDF следовало бы развернуть в нормальное положение

пытаюсь учесть замечания:

1. бестелесность у микросхем, которые разбиты на блоки у меня почему-то не фиксится, или одно одинаковое тело на все блоки, или нету его вообще...,

2. вроде лабиринты-то короткие и на против друг-другу, через шины совсем заумно и не наглядно, а через цепи - совсем громоздко. Цепи применяю конечно, где они нагляднее.

3. да, верно, согласен, что надпись "dnc" на каждый пин практически не читается, как я писал выше, они будут заменены на gnd, питание или X во время разводки,

4. это да, сделал экспорт из КиКада как есть и смотрится не красиво, постараюсь ручками подправить.

 

.. ну и не Ki-CAD для этого, одно мученье там, без опыта и знаний. Выберете один из двух: экспедишн или оркад. Альтий лучше не трогать, пусть там другие мучают аналогичные платы. И ничего что нет опыта, ... все нормально, но только из этих двух что то.

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

Share this post


Link to post
Share on other sites
2. вроде лабиринты-то короткие и на против друг-другу, через шины совсем заумно и не наглядно, а через цепи - совсем громоздко. Цепи применяю конечно, где они нагляднее.

А при трассировке как Вы сами поймете, что цепь N5487164 - это, допустим, часть нулевого лейна шины данных памяти, а не какой-нибудь адрес или половинка дифпары клока?

Share this post


Link to post
Share on other sites
А при трассировке как Вы сами поймете, что цепь N5487164 - это, допустим, часть нулевого лейна шины данных памяти, а не какой-нибудь адрес или половинка дифпары клока?

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

Share this post


Link to post
Share on other sites

Вот по выравниванию и по слоям ... . А как вы планируете в кикаде учитывать выровненную длину линий, если часть их будет на top, bottom, другая во внутренних слоях?

Я это к тому, что внутри у вас эпсилн один например e~ 4.3 для внутренних слоёв а на top, bottom другой. Для тех же диф пар, микрострипов, шин адреса данных и тп. Если выровняли все для "воздуха", то во внутренних слоях задержка сигналов из-за другого "е" может укоротоить вашу длину двухкратно. От выбранного вами стека зависит многое если мы говорим о Cyclone5-SoC даже с минималистической периферией как LPDDR2, RGMII, SDCARD.

Share this post


Link to post
Share on other sites

Спасибо, Aner, что советуете и всем также спасибо за советы и сочувствия!

Вот по выравниванию и по слоям ... . А как вы планируете в кикаде учитывать выровненную длину линий, если часть их будет на top, bottom, другая во внутренних слоях?

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

RGMII, SDCARD.

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

 

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

 

Спасибо!

 

ИИВ

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this