Jump to content

    
Sign in to follow this  
dxp

KiCad и High-Speed Design

Recommended Posts

Всем привет!

 

Интересует вопрос: насколько реально в KiCad выполнять высокоскоростные платы - с DDR2/DDR3, гигабитными сериальными линками и т.п.? Прошу поделиться опытом - какие платы (из вышеперечисленных и вообще на эту тему) сделаны, какие проблемы и неудобства возникали?

 

В редакторе плат KiCad имеется возможность выравнивать длины дорожек "змейками". Пара вопросов на эту тему:

  • длина задаётся, насколько знаю, в mil, а по-хорошему надо бы учитывать времена, т.е. не физическую длину, но электрическую. Как этот момент обходится? Или сугубо вручную?
  • в сложных микросхемах типа быстрых процессоров и ПЛИС указываются задержки сигналов от точек на кристалле до выводов микросхемы. Имеется ли возможность это как-то учитывать в программе?

Ну, и последнее: существуют ли какие-либо пути экспортировать дизайн во внешние программы для анализа целостности сигналов, питаний - например, Hyperlynx?

Share this post


Link to post
Share on other sites

Тоже тема интересна.

Сам разве что могу удивиться даже отсутствию возможности делать проводники арками. Ну то есть не 45/90 градусов. Это правда для RF более важно, а не HiSpeed. Может его допилят лет через 5..... этот КиКад

Share this post


Link to post
Share on other sites
могу удивиться даже отсутствию возможности делать проводники арками.
Подвижки есть. Вот только неясно, когда добавят в основную ветку.

Share this post


Link to post
Share on other sites

dxp

Я при разводке DVI И LVDS просто, по возможности, выравнивал длины проводников, как между дифлиниями, так и между проводниками в каждой дифпаре. Частоты, конечно, ниже, чем в DDR. "Змейки" оказались бесполезны, так как гнутся непредсказуемым образом, я про это уже писал.

И длина линий у меня в миллиметрах, а не милах. ;)

Расчёт дифпар оказался удобнее в TXLine, чем во встроенном PCB-калькуляторе.

Share this post


Link to post
Share on other sites
Я при разводке DVI И LVDS просто, по возможности, выравнивал длины проводников, как между дифлиниями, так и между проводниками в каждой дифпаре. Частоты, конечно, ниже, чем в DDR. "Змейки" оказались бесполезны, так как гнутся непредсказуемым образом, я про это уже писал.

И длина линий у меня в миллиметрах, а не милах. ;)

Расчёт дифпар оказался удобнее в TXLine, чем во встроенном PCB-калькуляторе.

Спасибо за ответ!

 

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

Share this post


Link to post
Share on other sites
Интересует вопрос: насколько реально в KiCad выполнять высокоскоростные платы - с DDR2/DDR3, гигабитными сериальными линками и т.п.? Прошу поделиться опытом - какие платы (из вышеперечисленных и вообще на эту тему) сделаны, какие проблемы и неудобства возникали?

Реально.

QDR-II, DDR3, MGT - уже не один проект сделан.

Если конкретные вопросы есть, то готов поотвечать.

 

В редакторе плат KiCad имеется возможность выравнивать длины дорожек "змейками". Пара вопросов на эту тему:

[*]длина задаётся, насколько знаю, в mil, а по-хорошему надо бы учитывать времена, т.е. не физическую длину, но электрическую. Как этот момент обходится? Или сугубо вручную?

А какая разница - длина задана или время, все туда-сюда пересчитывается на раз?

Время распространения завсит от материала платы и качества (однородности) этого материала.

А если очень высокоскоростные или СВЧ, то и от качества материала проводника (скин-эффект и пр.), финишного покрытия (с никелем на СВЧ беда) и т.п.

 

Раньше (когда не было этой фичи с выравниванием) приходилось ровнять в полуручном режиме с помощью макросов. Для этого они (макросы) и были прикручены.

Ссылка на ютуб, где я рассказывал про фишки KiCad (в т.ч и макросы) на конференции в Бауманке (еще в 2012 году).

Теперь выравнивает, почти красиво.

А макросы успешно в продакшене выпилены, остались только в ГОСТ-ветке.

 

[*]в сложных микросхемах типа быстрых процессоров и ПЛИС указываются задержки сигналов от точек на кристалле до выводов микросхемы. Имеется ли возможность это как-то учитывать в программе?

Есть такое. Прикручено уже давно (2009-2010 год). Учитывается длина проводника в чипе, задается в посадочном месте..

Ну, и последнее: существуют ли какие-либо пути экспортировать дизайн во внешние программы для анализа целостности сигналов, питаний - например, Hyperlynx?

С этим пока проблемы. Но разговоры были.

Хотя, (ИМХО), модельку в HL накидать можно и без выгрузки.

Ну и практический опыт тут тоже сильно помогает.

Share this post


Link to post
Share on other sites
Реально.

QDR-II, DDR3, MGT - уже не один проект сделан.

Это радует.

 

Если конкретные вопросы есть, то готов поотвечать.

Спасибо, буду иметь в виду.

 

А какая разница - длина задана или время, все туда-сюда пересчитывается на раз?

Время распространения завсит от материала платы и качества (однородности) этого материала.

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

 

Кстати, время распространения как оцениваете? В каком-то калькуляторе считаете?

 

Раньше (когда не было этой фичи с выравниванием) приходилось ровнять в полуручном режиме с помощью макросов. Для этого они (макросы) и были прикручены.

Ссылка на ютуб, где я рассказывал про фишки KiCad (в т.ч и макросы) на конференции в Бауманке (еще в 2012 году).

Теперь выравнивает, почти красиво.

А макросы успешно в продакшене выпилены, остались только в ГОСТ-ветке.

Да, это видео смотрел (даже два раза). А раз есть возможность рисовать "змейки", то насколько актуальны макросы (тоже не понимаю, зачем было убирать, если было и работало)?

 

С этим пока проблемы. Но разговоры были.

Хотя, (ИМХО), модельку в HL накидать можно и без выгрузки.

Ну и практический опыт тут тоже сильно помогает.

А нельзя ли как-то ручном режиме, например, топологии слоёв экспортировать и импортировать в другую САПР, из которой есть экспорт в HL?

Share this post


Link to post
Share on other sites

Многовато, имхо, требований к бесплатной альтернативе.

 

Тоже думал над трансляцией в другие САПР. Как вариант, через гербера..

Share this post


Link to post
Share on other sites
Многовато, имхо, требований к бесплатной альтернативе.

Бесплатный, не значит, хуже. Вон gcc даст сто очков вперёд некоторым коммерческим. :) Кроме того, открытость имеет свои неоспоримые плюсы - открытые текстовые форматы KiCad'а рулят неимоверно во всех смыслах.

 

Ну, и вот faa на практике доказывает. Правда, он эксперт в этой САПР.

 

Ну, и, собственно, это не требования, а вопросы к опытным кикадовцам. :)

 

Тоже думал над трансляцией в другие САПР. Как вариант, через гербера..

Да, через гербера - вариант. Я подумывал, может через svg экспортировать, а в там вставлять. Но пока плотно не прорабатывал.

Share this post


Link to post
Share on other sites
Ну, если есть переходы, например, с внешнего слоя на внутренние, т.е. часть пути сигналов идёт в одних условиях, а часть в других, то тут может поджидать засада - например, байт-лейн ведёте, один разряд "нырнул" на внутренний слой сразу, а другой немного дальше, из-за этого возникнет "разбег" по времени даже если физическую длину выровнять идеально.

Условия надо "выравнивать", особенно для скоростных параллельных шин (например, байты в DDR3-DDR4, слова в QDR и т.п.). ;)

MGT линии - это отдельная песня, тут "клаву" можно долго топтать.

А в общем примерно так:

"ныряем" сразу у пада;

переходов минимум и одинаково;

опорные слои правильно распределяем;

следим за неоднородностями, при острой необходимости "обратная сверловка" или глухие отверстия.

Но это уже теория и практика HD и HS дизайна.

 

Все прекрасно понимают, что идеальности в мире нет.

Поэтому везде есть допуски.

Для выравнивания в современных ПЛИС у каждой ноги ввода-вывода есть

линии задержки с неплохим разрешением как на ввод, так и на вывод.

 

Ну и принцип разумной необходимости и достаточности никто не отменял.

 

Кстати, время распространения как оцениваете? В каком-то калькуляторе считаете?

Для каждого материала ПП есть эти данные, смотреть в даташитах производителей.

 

В кикаде есть калькулятор.

Из бесплатных неплох сатурнПСБ.

 

Share this post


Link to post
Share on other sites
А в общем примерно так:

"ныряем" сразу у пада;

переходов минимум и одинаково;

опорные слои правильно распределяем;

Спасибо, примерно так и полагал, вы подтвердили.

 

В кикаде есть калькулятор.

Из бесплатных неплох сатурнПСБ.

А сатурн с под линукса пускали? У меня из-под wine что-то не захотел.

Share this post


Link to post
Share on other sites
А сатурн с под линукса пускали? У меня из-под wine что-то не захотел.

Под древней виндой в виртуалке.

Под вайном должен, но нужен вайн свежий.

У меня в дистре стоит 1.7.3 - под ним не едет, требует shcore.dll, а заморачиваться с этим нет желания.

 

Share this post


Link to post
Share on other sites

Коллеги, подскажите как в Кикаде сделать так, чтобы ширина поясков в КП на разных слоях меди была разного размера?

post-6361-1500542233_thumb.png

Хочется чтобы поясок был минимального размера, или вообще не было на том слое, где нет подключения к КП.

Или я хочу странного?

Share this post


Link to post
Share on other sites

Такие странности в кикаде реализуются наложением друг на друга нескольких более простых КП с одинаковым номером. Увы.

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