|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
Nov 25 2011, 13:32
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
Мне нужно для разработки сопрягаемого с ML605.brd проекта извлечь из из проекта ML605.brd длины трасс, с учетом длины (высоты/глубины) в переходных. Может я и зря упомянул Z axis delay - просто мне он кажется единственным параметром, учитывающим длины (высоты/глубины) в переходных
Спрошу по другому: Как из .brd извлечь длины трасс с учетом длины (высоты/глубины) в переходных?
Сообщение отредактировал sast777 - Nov 25 2011, 13:33
|
|
|
|
|
Nov 25 2011, 16:33
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
нужно именно выровнять 1) трассы в паре - это понятно как, через Pin Delay; Pin Delay - из Xilinx ISE; 2) пару к паре - есть требование: "The difference in track length between the Data and Strobe signals shall be less than 5 % of the track length and no more than 5 mm."
Стандарт слов нет как кривой в части требований к PCB, да не я стандарт писал - мне ему остается соответствовать.
Так что 2 мм (это два via) на плате ML605 - почти половина от 5 мм. А еще впереди 3 разъема и 30 метров кабеля...
Так что вопрос в пикосекундах, хотя за совет спасибо.
Через DesignLink - спасибо, как раз сделан инструмент для моего случая.
Правда нюанс - я собрался мезанинчик в Mentor Expedition сделать :-) Expedition мне привычней; тут другая беда, в Expedition аналога Pin Delay просто не знаю; у Mentor'ов то, что я пробовал - дифф паре не смог задать разные длины цепей в констрейнах.
Посмотрю как pin-to-pin propagation time из ML605 через SI извлечь...
Сообщение отредактировал sast777 - Nov 25 2011, 16:34
|
|
|
|
|
Nov 26 2011, 13:41
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
Пардон оЧепятка вышла, хотелось "Вопрос НЕ В ПИКОСЕКУНДАХ", да вот "НЕ" пропало - вечер, пятница.. Я ж писал - Требования к PCB - "The difference in track length between the Data and Strobe signals shall be less than 5 % of the track length and no more than 5 mm." Стандарт SpaceWare ECSS-E-ST-50-12C, легко гуглится. Или Код 5.5 PCB and backplane tracking 5.5.1 General As well as routing SpaceWire signals through a cable, the signals can also be transmitted across a PCB or along a backplane. Only point to point connections are supported on a PCB or backplane, not multi‐drop bus structures. Bus type structures are built from point to point connections between nodes on the backplane. 5.5.2 Differential signal pairs 5.5.2.1 Differential impedance a. Differential pair signals shall run on a pair of close, parallel PCB tracks with a differential impedance of (100 ± 6) Ω. NOTE This differential impedance can be achieved by adjusting the track thickness, width, separation and height above the ground plane. 5.5.2.2 Difference in track length for a differential pair a. To avoid skew between the two parts of the differential signal, the difference in track length between the two signals from a differential pair shall be less than 5 % of the track length and no more than 5 mm. 5.5.2.3 Difference in track length for Data and Strobe a. The skew introduced between the Data and Strobe (D and S) signals shall be minimized as specified here. For PCB tracks, skew is controlled by making the tracks all close to the same length. b. The difference in track length between the Data and Strobe signals shall be less than 5 % of the track length and no more than 5 mm. К xilinx EVB ML605 (из его .brd и нужно извлечь длины трасс) надо сделать возможность подключения кабелей этого самого SpaceWare; это мезанин с разъемами SpaceWare. Трактовать можно и как 5мм это допуск в одной плате линка; Я предпочитаю удовлетворить жесткому условию 5мм - на весь тракт. Рассмотрение ECSS-E-ST-50-12C - это не здесь, плз. За идею Expedition in DFL mode - спасибо, не обратил внимания, что такое есть. Попробую. По моему тему надо закрывать - я руками я бы быстрее вынул нужную инфу из ML605.brd :-) вопрос был как это сделать средствами CAD - в пару кликов.
|
|
|
|
|
Nov 26 2011, 18:28
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
2 Uree: Нюанс в том, что и Data, и Strobe - каждый есть пара LVDS, 400MHz max; Пункт 5.5.2.2 - согласен, перевод исчерпывающий. И вот тут-то на следующей строке: 5.5.2.3 a. bla bla bla b. The difference in track length between the Data and Strobe signals shall be less than 5 % of the track length and no more than 5 mm Если хотите лучше понять о чем речь, сюда плз. тыцЗачем мой топик - сначала p. 43, "5.5 PCB and backplane tracking", потом p. 50, Table 6: Example jitter and skew budgets at 400 Mb/s, "PCB/connector skew" Возвращаясь к теме, жаль, что в Allegro нет такого репорта - трассы с учетом длин переходов. Правда в Expedition год только как появился. То есть подразумевают использовать DesignLink.
Сообщение отредактировал sast777 - Nov 26 2011, 18:46
|
|
|
|
|
Nov 28 2011, 06:21
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
спасибо Uree, помогли.
Хотя тут у Cadence или ну оочень тонкая фича, либо просто баг. 16.5, 9-й update. По моему на багрепрорт тянет.
Я с этого тулза, куда Вы меня послали, и начинал, Analyze Modes> Electrical Options> check Z axis delay, почему о Z axis и топик.
НО!
1. Я открываю проект, захожу в Analyze Modes> Electrical Options, вижу check Z axis delay - unchecked> cancel, выделяю Length в relative propagation delay (нужные мне цепи уже в match у ML605 бордоделов); F9 смотрю длины.
2. Снова захожу в Analyze Modes> Electrical Options > check Z axis delay>Apply, выделяю Length; F9 смотрю длины - ничего не изменилось.
3. Снова захожу в Analyze Modes> Electrical Options > uncheck Z axis delay>Apply, выделяю Length; F9 смотрю длины - опять ничего не изменилось.
Закрываю Cmgr, открываю Cmgr, повторяю 1,2,3.
Повторяю 1,2,3 n раз. По прежнему длины не изменяются.
Матерюсь, открываю здесь топик - не люблю людей дергать там, где сам могу разобраться; регюсь на cadence community - шоб и им покоя не было, если тут не помогут;
И тут Вы, Uree, перестаете играть в несознанку :-)
Ага! значит про Z axis - это ЖЖЖ неспроста, cнова долблюсь в 1,2,3; и в процессе долбления как-то сделав check Z axis delay > Apply, ВНИМАНИЕ ! выхожу из Cmgr.
Снова захожу в Analyze Modes> Electrical Options, вижу check Z axis delay - CHECKED> cancel, выделяю Length в relative propagation delay; F9
И - ЗАРАБОТАЛО!!
Резюме:
В моем случае оказалось, чтобы изменения, внесенные в режим Analyze Modes> Electrical Options> check (или uncheck) Z axis delay, учитывылись при Analyze, НУЖНО ВЫЙТИ И СНОВА ВОЙТИ в Cmgr.
|
|
|
|
|
Nov 28 2011, 08:04
|
Знающий
     
Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480

|
Насколько я понял, Z axis delay срабатывает только при расчете длин цепей, собраных в Match Group. По крайней мере по другому, т.е. просто на странице relative propagation delay в СМ, я разницу увидеть не смог. Как только собрал цепи в группу - сразу же, без выходов и перезагрузок, включаю Z axis, жму F9 на группе - одна длина, выключаю Z axis, жму F9 - другая. Т.е. для меня все прозрачно - в группе считается, по отдельным цепям - нет. В общем логично... ЗЫ А в несознанку я не играл  Просто во-первых на самом деле еще ни в одном проекте не использовал Z axis, не было необходимости. Знаю, что он есть, но как работает, точно не знаю. А во-вторых уж сильно надуманными требования казались, особенно когда Вы упомянули "3 разъема и 30 метров кабеля". Собственно я их и до сих пор считаю завышенными, особенно для частот в районе 400МГц, но ладно, SpaceWare... надо... Просто у нас есть проблемы, с выравниваниями, но на DDR3-2133. На 1600 и ниже проблем нет. Так требование выравнивать не точнее 8мм! Поэтому мне и не верится в требования 5мм на 400Мгц. Тем более даже по их расчетам временного бюджета получается около 100пс, а это примерно 14мм  Но пусть будет 5мм, с запасом так сказать... В общем проверил как что работает и отписал по сути.
|
|
|
|
|
Nov 28 2011, 10:30
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
Если Вы выравнизмом страдаете, ровняте по критерию времени, а не length; так проще не забыть, что mirosrtripline и stripline имеют разные TOF.
HyperLynx считает что разница для что mirosrtripline и stripline ~15%
Если у Вас тяжелая форма выравнизма, тогда почитайте www.ultracad.com/mentor/microstrip%20propagation.pdf
Сообщение отредактировал sast777 - Nov 28 2011, 10:31
|
|
|
|
|
Nov 28 2011, 13:35
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
2 Uree Я просто хотел напомнить, будьте бдительны - выравнивать нужно по времени, а не по длине. Писатели стандарта/производители проца не задумываются, как юзер сделает свою PCB. Они свой test board сделали весь во внутренних слоях, чиподелы на спичках (PCB) не экономят - и пишут равняйте длины.
Смысл имеет только time budget.
|
|
|
|
|
Nov 28 2011, 15:08
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
2 Uree Этот топик с Вашей помощью закрыт - ответ помог, спасибо;
Если не NDA'но - то что к чему Вы приколачиваете, и как понял не без заноз? И может лучше откроете на что-то типа "DDR3-XXXX на 4-х слойке?"
Заинтриговало - а сколько ж гектар у Вас 4-х слойка (2 слоя для разводки), чтобы все для DDR3-XXXX выровнять? Сколько бит?
Сообщение отредактировал sast777 - Nov 28 2011, 15:15
|
|
|
|
|
Nov 29 2011, 04:24
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
Если time budget соблюден, но не фурычит - ищите crosstalk'и. Хотя вроде все короткое...
Судя по тому,что с вашей конторой броадком общается и ваши дизайны верифицирует - не один десяток кодеров у вас зряплату ежемесячно получает. Помножте их ежемесячное жалованье на число кодеров, сравните со стоимостью n-слойки - и сделайте экспериментальную более чем 4-х слойку, например 8 сигнальных, с предельно короткими и несвязанными трассами. Досыпьте кондеров- на память и на проц. Кондеров именно тех, что в BOM EVB Broadcom. Особенно если фурычит, но есть редкие сбои. Сделайте каждое питание как полигон, сопряженный с землей через самый тонкий диэлектрик, который есть у PCB изготовителя. Изолируйте каждый слой питания от другого слоя питания слоями земли. (организуйте кондеры с предельно малым ESR в плате). Это например еще 8 слоев.
Пара-другая K$ и пара недель на PCB+assembling+DHL - за 16-ти слойку на фоне зарплаты даже десятка кодеров - не деньги, на столько наверно кодеры кофе в месяц выхлебывают, матеря сбои :-).
Просто получите рабочее железо, сделанное Вами, а не броадкомом. Убедитесь, что ваш софт работает на Вашем железе, а не на EVB Broadcom.
Дедуктивно: раз с Вами Броадком общается - тиражи должны быть в мегаштуках. Для мегаштук уже переразводите в несколько итераций на n-2 слоя.
Если на выходе получите стабильно работающую плату на 8-слойке - это всяко лучше, чем сбоящая 4-х слойка. Переживут маркетоиды плату на 5$ дороже. Ну не получат бонус...
Пардон за напоминание об основах, но мне лично несколько раз помогало - когда со стороны тормозили: Может лучше задумаешься - а зачем трясешь-то? :-)
Если Ваш CEO экономической эффективности такого пути не понимает и ну оочень хозяйственный, хочет все сразу и дешево - соболезнования...
Сообщение отредактировал sast777 - Nov 29 2011, 05:40
|
|
|
|
|
Nov 29 2011, 10:19
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 5-02-06
Пользователь №: 14 016

|
Я екклезиаста помню и не надюсь что то новое сказать.. Спасибо, мне Ваш совет помог. Потому и трачу время, вдруг повторенные мной азы (не сомневаюсь, что Вы это знаете) помогут.
Вы правы, я не маркетоид, но что такое даже 1$ умноженный на миллион понимаю.
Но я на свой шкурке знаю, зачастую важнее - Ваше изделие дешевле, лучше, но - на рынке Вы уже 100-й?
Если Вам не влом топтать клаву - мне интересна Ваша стратегия.
Как Вы собираетесь рвать замкнутый круг - где баг в железе?
Ну не работает Ваша 4-х слойная плата - что дальше?
Мерять нечем -приборы на 10GHz дороже разработки плат на 2 а то и на 3 порядка, да и пока их освоите...
Модели - у Вас есть хороший signal integrity engineer, с опытом, который по IBIS моделям скажет - по моему здесь лажа?
N итераций в 4-х слоях - пока одна из них не проработает сотню часов без виса?
Если не видите смысла в продолжении трепа, скажите плз. А так - удачи в нашей борьбе с багами.
|
|
|
|
|
Nov 29 2011, 15:58
|
Знающий
     
Группа: Свой
Сообщений: 5 223
Регистрация: 25-04-05
Из: Z. Gora
Пользователь №: 4 480

|
Да можно и потрепаться, если не очень затягивать сей процесс, почему бы и нет? Цитата(sast777 @ Nov 29 2011, 11:19)  Но я на свой шкурке знаю, зачастую важнее - Ваше изделие дешевле, лучше, но - на рынке Вы уже 100-й? Самое интересное - хоть 1001-й  Покупатель голосует рублем/долларом/евром/... Поэтому на самом деле, на мировом рынке быть первым конечно немеряно круто, но куда важнее предлагать более выгодное соотношение функциональность/стоимость. Вот из такой постановки задачи и пляшем: время вывода продукта на рынок - как можно быстрее, функциональность - на уровне конкурнетов, цена - минимально достижимая. Цитата(sast777 @ Nov 29 2011, 11:19)  Мерять нечем -приборы на 10GHz дороже разработки плат на 2 а то и на 3 порядка, да и пока их освоите... Ну почему сразу нечем? Оборудование есть, апдейтится практически каждый год, по крайней мере специализированные, типа DVB-T генераторов-тестеров и подобного. Иначе как тестить все, что проектируется. Да, вот купленных масок для тестов DDR3 нет, в отличие от например USB HS. Но тут логика другая: Цитата(sast777 @ Nov 29 2011, 11:19)  Модели - у Вас есть хороший signal integrity engineer, с опытом, который по IBIS моделям скажет - по моему здесь лажа?
N итераций в 4-х слоях - пока одна из них не проработает сотню часов без виса? Нет, SI инженеров, в прямом смысле этого слова у нас нет. Просто смотрите: покупая процы, мы тем самым покупаем к ним и базовый setup(он фактически уже включен в стоимость железа). И сделать его - не наша задача. Я же писал - мы не знаем, как внутри устроен контроллер памяти и какие его настройки на что влияют. Его готовит производитель чипа, на нашей плате в том числе. И это его инженеры делают тесты DDR3 и его SI инженеры сидят и думают, почему идентичный дизайн на их плате работает, а на нашей нет  А наши кодеры в это время уже переносят на новую платформу(обычно на референс) клиентский софт  Вот и получается - максимально дешевое железо, например в разы дешевле сделать ЭМС-экран на проц+память, чтоб не фонить из пластикового корпуса в эфир, чем сделать вместо 4-х слойки 6-ти слойку, спрятав быстрые цепи на внутренние слои. Так же остальные компоненты - минимальная цена решения, при условии что оно удовлетворяет поставленным требованиям. Со временем тоже, все итерации от многослойки до 4-х слоев займут в разы дольше времени. Да и бессмысленно надеяться, что дизайн, нормально работавший на 16-ти слоях однозначно правильно будет себя вести на 4-х. Обязательно всплывут эффекты на многослойке в принципе не наблюдавшиеся и их придется решать, способами, в предыдущих вариантах вообще не нужными... Так что способ с итерациями хорош, когда времени много. А когда нужно сейчас начать, и чтобы к Евро-2012 у клиентов боксы уже работали в квартирах - такой способ не прокатывает, увы... И самое главное: дело ведь даже не в стоимости процесса разработки - итерационный процесс в принципе не позволяет рассчитать конечную цену устройства. А без такого рассчета нет смысла даже начинать разработку. Знаете, как говорит наш президент фирмы - "Мы здесь собрались не для того, чтобы сделать лучше, чем у всех. Мы здесь собрались, чтобы зарабатывать деньги." И таки он прав...
|
|
|
|
|
Nov 29 2011, 19:38
|
Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 5-10-04
Пользователь №: 793

|
Уважаемый Uree, Позвольте дилетантский совет: поэкспериментируйте с емкостями на VREFах, в том числе и на проце. Емкости и на землю и на питание, параллельно делителю. Как выглядят слой земли и питания, если можно, покажите картинку. Кроме этого, (простите за банальность) проверяли ли импеданс на плате на соответствие заданному при проектировании? Контролируется ли он производителем? Равны ли импедансы на верхнем и нижнем слоях? Проверьте питание DLL, (я гадаю, но наверняка в чип они введены через фильтры). И еще одно: возможно, Вы принимаете за сбой памяти проблему с ядром чипа. Это может особенно проявляться, если чип сделан по одному из последних процессов, и его потребление меняется в разы, в зависимости от занятости, и/или он сам управляет своим источником. Источник питания не успевает среагировать, что в совокупности в не всегда верной разводкой (Опять, таки, гадаю, в Вашем случае не видел, но есть линии sense, на питание и (гораздо реже) на землю, позволяющие скомпенсировать большую часть статического падения напряжения на никовольтных/высокоамперных цепях, не все их корректно присоединяют) может приводить к разнообразным чудачествам. И если при этом чудит кэш, например, то это может восприниматься как проблема памяти. Всего Доброго, Ф.С.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|