Перейти к содержанию
    

Учет внутренних цепей пина (от шарика BGA до кристалла)

В данный момент трассируется плата с DDR-400. По аппнотам производителя контроллера памяти рекомендуется выравнивание цепей на плате в группах данных с точностью не хуже 25 милс. Но сам корпус чипа довольно большой - BGA 35x35 мм и некоторые ножки в группах разнесены достаточно далеко.

В различных других аппнотах (от производителей памяти, например) пишут что надо учитывать длину проводников внутри микросхем - от контакта внешнего корпуса до собственно кристалла. А где следует взять данные о внутренней длине пинов? Такой информации в явном виде производитель не дает. Вероятно, эти данные возможно вычислить из паразитных параметров из IBIS модели? HyperLynx, например, похоже что-то подобное вытаскивает из IBIS при моделировании - эффективная длина до согласующего резистора оказывается больше явно указанной на модели.

Каким образом эту внутренюю длину пинов следует учесть? Задать предварительные параметры цепей, получить общую эффективную длину предварительным моделиорванием и потом использовать ее при трассировке? Или предварительно отказаться от точного выравнивания цепей и выравнивать уже на финише с моделированием и с подгонкой общего времени распространения, а не тупо по длине.

Как "правильнее" делается в таких случаях?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данный момент трассируется плата с DDR-400. По аппнотам производителя контроллера памяти рекомендуется выравнивание цепей на плате в группах данных с точностью не хуже 25 милс. Но сам корпус чипа довольно большой - BGA 35x35 мм и некоторые ножки в группах разнесены достаточно далеко.

В различных других аппнотах (от производителей памяти, например) пишут что надо учитывать длину проводников внутри микросхем - от контакта внешнего корпуса до собственно кристалла. А где следует взять данные о внутренней длине пинов? Такой информации в явном виде производитель не дает. Вероятно, эти данные возможно вычислить из паразитных параметров из IBIS модели? HyperLynx, например, похоже что-то подобное вытаскивает из IBIS при моделировании - эффективная длина до согласующего резистора оказывается больше явно указанной на модели.

Каким образом эту внутренюю длину пинов следует учесть? Задать предварительные параметры цепей, получить общую эффективную длину предварительным моделиорванием и потом использовать ее при трассировке? Или предварительно отказаться от точного выравнивания цепей и выравнивать уже на финише с моделированием и с подгонкой общего времени распространения, а не тупо по длине.

Как "правильнее" делается в таких случаях?

Мы как раз доразводим INTEL IXP465 с DDR266(немножко попроще чем у Вас), так в аппликушнике от Интел эта длина дана. В IBISе мы ее не нашли. Дальше возникает проблема объяснить эту длину КАДу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В данный момент трассируется плата с DDR-400. По аппнотам производителя контроллера памяти рекомендуется выравнивание цепей на плате в группах данных с точностью не хуже 25 милс. Но сам корпус чипа довольно большой - BGA 35x35 мм и некоторые ножки в группах разнесены достаточно далеко.

В различных других аппнотах (от производителей памяти, например) пишут что надо учитывать длину проводников внутри микросхем - от контакта внешнего корпуса до собственно кристалла. А где следует взять данные о внутренней длине пинов? Такой информации в явном виде производитель не дает. Вероятно, эти данные возможно вычислить из паразитных параметров из IBIS модели? HyperLynx, например, похоже что-то подобное вытаскивает из IBIS при моделировании - эффективная длина до согласующего резистора оказывается больше явно указанной на модели.

Каким образом эту внутренюю длину пинов следует учесть? Задать предварительные параметры цепей, получить общую эффективную длину предварительным моделиорванием и потом использовать ее при трассировке? Или предварительно отказаться от точного выравнивания цепей и выравнивать уже на финише с моделированием и с подгонкой общего времени распространения, а не тупо по длине.

Как "правильнее" делается в таких случаях?

 

В IBIS может быть задано R, L, C, для каждого пина (раздел Pin в файле) это и есть, насколько я понимаю, представление проводника внутри корпуса. Бывает также задано R_pkg, L_pkg и C_pkg со значениями мин. тип. макс. это значения по умолчанию для всех пинов у которых нет своих R, L, C.

 

Учесть эту длину просто: создать эквивалентную схему цепи в HL (насколько я понял она уже у вас есть) и при моделировании выяснить нужные конечные длины трасс, которые и использовать при трассировке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В IBIS может быть задано R, L, C, для каждого пина (раздел Pin в файле) это и есть, насколько я понимаю, представление проводника внутри корпуса. Бывает также задано R_pkg, L_pkg и C_pkg со значениями мин. тип. макс. это значения по умолчанию для всех пинов у которых нет своих R, L, C.

 

Учесть эту длину просто: создать эквивалентную схему цепи в HL (насколько я понял она уже у вас есть) и при моделировании выяснить нужные конечные длины трасс, которые и использовать при трассировке.

Угу, именно так HL и делает (я пока предварительно LineSim использую с подключенными IBIS) - делаешь трассу до последовательного резистора 200 милс, запускаешь Termination Wizard, а он ругается - "эффективная длина 300 милс до Rs великовата" и цифра 300 изменяется - для каждого пина своя. Сейчас ищу способ получить эти длины скопом в каком-либо отчете, а не вставляя 700+ пинов в LineSim.

P.S. Всем спасибо за комментарии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В IBIS может быть задано R, L, C, для каждого пина (раздел Pin в файле) это и есть, насколько я понимаю, представление проводника внутри корпуса. Бывает также задано R_pkg, L_pkg и C_pkg со значениями мин. тип. макс. это значения по умолчанию для всех пинов у которых нет своих R, L, C.

 

Учесть эту длину просто: создать эквивалентную схему цепи в HL (насколько я понял она уже у вас есть) и при моделировании выяснить нужные конечные длины трасс, которые и использовать при трассировке.

Угу, именно так HL и делает (я пока предварительно LineSim использую с подключенными IBIS) - делаешь трассу до последовательного резистора 200 милс, запускаешь Termination Wizard, а он ругается - "эффективная длина 300 милс до Rs великовата" и цифра 300 изменяется - для каждого пина своя. Сейчас ищу способ получить эти длины скопом в каком-либо отчете, а не вставляя 700+ пинов в LineSim.

P.S. Всем спасибо за комментарии.

 

На самом деле можете просто открыть IBIS и посмотреть сколько разных вариантов параметров R,L,C есть в секции Pin. По идее количество этих вариантов равно или меньше кол-ва рядов на корпусе BGA.

Т.е. вариантов будет десяток. а не 700+

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пина своя. Сейчас ищу способ получить эти длины скопом в каком-либо отчете, а не вставляя 700+ пинов в LineSim.

На самом деле можете просто открыть IBIS и посмотреть сколько разных вариантов параметров R,L,C есть в секции Pin. По идее количество этих вариантов равно или меньше кол-ва рядов на корпусе BGA.

Т.е. вариантов будет десяток. а не 700+

Не-а, я тоже так думал :( Но в IBIS у каждого пина прописаны свои R, L, C (+ модель буфера, вот моделей действительно всего с десяток-другой). R - четыре цифры, L,C - по три значащих цифры. Если подумать, то они и не могут быть одинаковыми для разных пинов - например, два разряда шины данных в двух разных рядах, по разному удалены от кристалла, и ессно имеют разные R,L,C - длина и путь внутри корпуса разные (BGA вроде как на PCB с микроотверстиями сделан).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пина своя. Сейчас ищу способ получить эти длины скопом в каком-либо отчете, а не вставляя 700+ пинов в LineSim.

На самом деле можете просто открыть IBIS и посмотреть сколько разных вариантов параметров R,L,C есть в секции Pin. По идее количество этих вариантов равно или меньше кол-ва рядов на корпусе BGA.

Т.е. вариантов будет десяток. а не 700+

Не-а, я тоже так думал :( Но в IBIS у каждого пина прописаны свои R, L, C (+ модель буфера, вот моделей действительно всего с десяток-другой). R - четыре цифры, L,C - по три значащих цифры. Если подумать, то они и не могут быть одинаковыми для разных пинов - например, два разряда шины данных в двух разных рядах, по разному удалены от кристалла, и ессно имеют разные R,L,C - длина и путь внутри корпуса разные (BGA вроде как на PCB с микроотверстиями сделан).

 

Согласен. Открыл описание по Intel845 - для большинства пинов указаны разные Package Length, хотя и есть повторения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В IBIS может быть задано R, L, C, для каждого пина (раздел Pin в файле) это и есть, насколько я понимаю, представление проводника внутри корпуса. Бывает также задано R_pkg, L_pkg и C_pkg со значениями мин. тип. макс. это значения по умолчанию для всех пинов у которых нет своих R, L, C.

 

Учесть эту длину просто: создать эквивалентную схему цепи в HL (насколько я понял она уже у вас есть) и при моделировании выяснить нужные конечные длины трасс, которые и использовать при трассировке.

Угу, именно так HL и делает (я пока предварительно LineSim использую с подключенными IBIS) - делаешь трассу до последовательного резистора 200 милс, запускаешь Termination Wizard, а он ругается - "эффективная длина 300 милс до Rs великовата" и цифра 300 изменяется - для каждого пина своя. Сейчас ищу способ получить эти длины скопом в каком-либо отчете, а не вставляя 700+ пинов в LineSim.

P.S. Всем спасибо за комментарии.

 

А может у производителя помимо IBIS есть еще и EBD (там есть длины).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А может у производителя помимо IBIS есть еще и EBD (там есть длины).

Увы, нету - только .ibs. Я запросил у производителя дополнительную информацию, посмотрим что саппорт ответит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что сдали проект с DDR2. Цепляли к Xilinx 4. Думаю, Вы конечно в курсе, но на всякий пожарный, про разность в скорости распространнения сигнала на внешних и внутренних слоях не забыли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте коллеги! Сейчас разбираюсь с тонкостями описания и применения IBIS моделей.

И вот в этом аспекте возник вопрос...

В IBISe есть описание глобальных паразитных параметров: R,L,Cpkg (я так понял внешних выводов корпуса), а также R_pin, C_pin & L_pin которые для сложных корпусов отменяют R,L,Cpkg и вводят свои значения для отдельных выводов.

Однако есть еще и параметры RLC-матрицы взаимных связей([Define Package Model] - [Model Data] ) , которые вводятся тоже для некоторых выводов и их соединений внутри кристалла.

Отсюда возникает ряд вопросов:

1. Описывают ли матрицы R,L,C только внутринние связи кристалл - вывод корпуса или туда уже введена информация о R,L,Cpkg или R_pin, C_pin & L_pin?

2. Как используется эта информация программами иммитационного моделирования?(предполагаю для анализа перекрестных связей в пакетном режиме)

3.Как в таком случае быть с соединениями (или выводами) для которых не заданы значения в матрице RLC? (предпрлагаю что они несущественны и в отдельном матричном описании не нуждаются..)

Мне кажется не только мне это интересно узнать.

Заранее благодарен за коментарии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что сдали проект с DDR2. Цепляли к Xilinx 4. Думаю, Вы конечно в курсе, но на всякий пожарный, про разность в скорости распространнения сигнала на внешних и внутренних слоях не забыли?

Нет, не забыл :) Разные характеристики слоев - это отдельная тема.

По своему вопросу скажу, что производитель процессора ответил что все критические цепи внутри BGA согласованы и учитывать "внутреннюю длину" пина не надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делаю разводку DDR2.

HL и Protel не учитывают толщину слоев диэлектрика внутри платы. А у меня в нутри группы есть сишналы которые переходят со слоя на слой.

Согласование 25mil = 0.635мм.

Вопрос:

1. В каких софтинах можно получить список длин цепей с учетом stackup?

2. Насколько время распространения сигнала в ПО отличатеся от микроролоска такой же длины? (вопрос о том надо ли вообще учитывать длинну ПО).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще-то в HL учитывается влияние ПО. Есть кнопка "Enable VIA Modeling" и настраиваются параметры ПО в Options-Preferences-BoardSim.

И их влияние видно в осциллоскопе.

Вот насчет длины цепей с учетом ПО - точно не скажу как получить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Правильнее говорить наверное не только о времени распространения но и АЧХ и ФЧХ в точке приема, тогда все вопросы со временами снимаются, но возникает много других.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...