Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как правильно назначить IBIS-модель
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development > Mentor-ExpeditionPCB
dysan
Есть топология платы затянутая в BoardSim и есть .ibis и .pkg файлы для виртекса, который стоит на плате. Помогите разобраться, как эту связку .ibis и .pkg файлов правильно подсунуть в BoardSim, чтобы он сам к нужным ногам подцепил нужные модели?
mikesm
Есть два способа, через QFL файл, зайти в меню, назначить микросхеме IBIS модель, файл QFL сохранить. После чего всем выводам Virtex будут назначены модели. Второй способ, выделяем пин, заходим в Assign Model, находим нужную IBIS модель, затем нужный пин или тип IBIS буфера, который используется у данного пина, назначаем ввод или вывод. И все. Так удобно назначать, если нужно одну две трассы проверить. Зайти в пины на трассе, по одному назначить буферы, один на вывод, остальные на ввод. Можно моделировать. Если моделирование комплексное с потерями, тогда лучше через QFL файл. А еще правильнее прицепить модели через библиотеку в проекте ExpPCB. Тогда после выгрузки в Hyperlynx все IBIS модели уже будут назначены.
dysan
Цитата(mikesm @ Oct 7 2010, 23:28) *
Есть два способа, через QFL файл, зайти в меню, назначить микросхеме IBIS модель, файл QFL сохранить. После чего всем выводам Virtex будут назначены модели. Второй способ, выделяем пин, заходим в Assign Model, находим нужную IBIS модель, затем нужный пин или тип IBIS буфера, который используется у данного пина, назначаем ввод или вывод. И все. Так удобно назначать, если нужно одну две трассы проверить. Зайти в пины на трассе, по одному назначить буферы, один на вывод, остальные на ввод. Можно моделировать. Если моделирование комплексное с потерями, тогда лучше через QFL файл. А еще правильнее прицепить модели через библиотеку в проекте ExpPCB. Тогда после выгрузки в Hyperlynx все IBIS модели уже будут назначены.


Тысячу извинений, но я, видимо не совсем ясно задал вопрос. Смысл вопроса состоит не в том как назначать модели в общем случае, а как назначить именно эту модель. Данная модель представлена файлом .ibs, который не цепляется ни общим вариантом через .qfl(кстати, есть еще вариант - через файл .ref), ни по отдельности на буфера/ноги микросхемы через AssignModel, потому как у него не корректно прописана секции [Pin],[DiffPin]. В ней просто модели перенумерованы в порядке возрастания а должно быть вроде как номера пинов с назначенными моделями и сигналами. Похожая структура представлена в файле .pkg, который вроде как по стандарту должен цепляться к файлу .ibs, путем прописывания модели корпуса(указанной в файле .pkg), в необязательную секцию [PackageModel] в файле .ibs. Но просто тупое прописывание файла .pkg ничего не дает, потому как как минимум не дает соотвествия перечисленным выводам из файла .pkg моделям из файла .ibs. Всвязи с чем у меня и возник вопрос, мне что - переписывать полность секции [Pin],[DiffPin] в соотвествии с должной структурой файла .ibs? Или все-таки есть способ подцепить файл .pkg к файлу .ibs должным образом и без дополнительного геморроя по редактированию .ibs? Ведь у Xilinx для одного общего файла .ibs с перечисленными по порядку моделями буферов дана целая россыпь файлов .pkg для каждого корпуса с номерами пинов и номиналами емкостей и индуктивностей для каждого вывода.
mikesm
Скорее всего Вам придется прописать вручную, так как производитель не знает, какой именно буфер и на какой пин выберет пользователь.
А по поводу pkg матрицы, это скорее у fill спросить, как в Hyperlynx задействовать pkg файл.
Я из этого дела выходил ручками. Прочитал в спецификации как рассчитывается PKG матрица, вычислил RLC значения для конкретного пина, затем подредактировал Virtex5 файл, прописав вычисленные значения на каждый пин. Ну правда мне нужно то было, всего 8 пин. И назначил им буферы те, которые используются в реальном проекте. А затем, опять же ручками уже в Hyperlynx назначил Assign model нужным пинам на плате выбранные пины из модели.
В принципе можно сделать генератор IBIS моделей для таких дел, наверное даже в Excel, но руки не дошли.
dysan
Цитата(mikesm @ Oct 11 2010, 19:14) *
Скорее всего Вам придется прописать вручную, так как производитель не знает, какой именно буфер и на какой пин выберет пользователь.
А по поводу pkg матрицы, это скорее у fill спросить, как в Hyperlynx задействовать pkg файл.
Я из этого дела выходил ручками. Прочитал в спецификации как рассчитывается PKG матрица, вычислил RLC значения для конкретного пина, затем подредактировал Virtex5 файл, прописав вычисленные значения на каждый пин. Ну правда мне нужно то было, всего 8 пин. И назначил им буферы те, которые используются в реальном проекте. А затем, опять же ручками уже в Hyperlynx назначил Assign model нужным пинам на плате выбранные пины из модели.
В принципе можно сделать генератор IBIS моделей для таких дел, наверное даже в Excel, но руки не дошли.


А как вы вычислили RLC значения для каждого пина? Мне отчего-то подумалось, что это измеренные данные.

Вот то-то и оно, что руки до всего не доходят. А ведь использование .pkg файлов предусмотрено структурой .ibs файла, да и сам Xilinx не зря отдельно выкладывает один .ibs файл и много .pkg файлов под каждый корпус свой. Ведь был же смысл? И вряд ли этот смысл направлен на усложнение жизни пользователю, чтобы он переписывал .ibs файл или писал генератор, выводов-то не 10-20 а 640 только пользовательских в банках и для разных корпусов они по разному расположены. Чтож, теперь под каждый корпус отдельный генератор писать?
Uree
Не надо ничего писать. Выкладываемая IBIS модель и .pkg файлы используются системой проектирования FPGA. Она же на выходе кроме всяких логов-прошивок и остального генерит IBIS, полностью соответствующий данному проекту(использование выводов, тип драйверов и т.д.) и эту модель можно вполне спокойно прицепить к проекту в Boardsim. Поговорите с HDL-программмером, пусть он сгенерит нужную модель.
mikesm
Да точно, спасибо Uree, как же я раньше не догадался. Попробовал в Xilinx ISE, действительно генерит.
Правда он вместо назначения каждому пину RLC значений создает PKR матрицу. Надо проверить, понимает ее Hyperlynx или нет. Есть смутные подозрения, что не поддерживает.
А по поводу вычисления PKG данных, я ничего специально не вычислял. PKG матрица содержит все необходимые данные в виде матрицы, все что я сделал, это взял данные из матрицы и
сложив, умножив, поделив вывел данные для конкретного пина в виде R L C значений.Как именно, уже не помню, но из описания PKG матрицы в спецификации IBIS можно понять,
как вывести RLC значения. Ну а потом вписал эти значения напротив каждого пина.
Если Hyperlynx честно поддерживает PKG информацию, а не использует общие значения RLC для всего чипа, тупо прикладывая их к каждому пину, то можно обо всем этом забыть, сгенерировать IBIS модель, и скормить ее Hyperlynx.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.