|
|
  |
Как правильно назначить IBIS-модель, в HyperLinks |
|
|
|
Oct 7 2010, 11:43
|
Частый гость
 
Группа: Участник
Сообщений: 77
Регистрация: 17-02-10
Пользователь №: 55 532

|
Есть топология платы затянутая в BoardSim и есть .ibis и .pkg файлы для виртекса, который стоит на плате. Помогите разобраться, как эту связку .ibis и .pkg файлов правильно подсунуть в BoardSim, чтобы он сам к нужным ногам подцепил нужные модели?
|
|
|
|
|
Oct 7 2010, 19:28
|
Частый гость
 
Группа: Свой
Сообщений: 158
Регистрация: 15-01-09
Из: Russia
Пользователь №: 43 426

|
Есть два способа, через QFL файл, зайти в меню, назначить микросхеме IBIS модель, файл QFL сохранить. После чего всем выводам Virtex будут назначены модели. Второй способ, выделяем пин, заходим в Assign Model, находим нужную IBIS модель, затем нужный пин или тип IBIS буфера, который используется у данного пина, назначаем ввод или вывод. И все. Так удобно назначать, если нужно одну две трассы проверить. Зайти в пины на трассе, по одному назначить буферы, один на вывод, остальные на ввод. Можно моделировать. Если моделирование комплексное с потерями, тогда лучше через QFL файл. А еще правильнее прицепить модели через библиотеку в проекте ExpPCB. Тогда после выгрузки в Hyperlynx все IBIS модели уже будут назначены.
|
|
|
|
|
Oct 11 2010, 12:55
|
Частый гость
 
Группа: Участник
Сообщений: 77
Регистрация: 17-02-10
Пользователь №: 55 532

|
Цитата(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 для каждого корпуса с номерами пинов и номиналами емкостей и индуктивностей для каждого вывода.
|
|
|
|
|
Oct 11 2010, 15:14
|
Частый гость
 
Группа: Свой
Сообщений: 158
Регистрация: 15-01-09
Из: Russia
Пользователь №: 43 426

|
Скорее всего Вам придется прописать вручную, так как производитель не знает, какой именно буфер и на какой пин выберет пользователь. А по поводу pkg матрицы, это скорее у fill спросить, как в Hyperlynx задействовать pkg файл. Я из этого дела выходил ручками. Прочитал в спецификации как рассчитывается PKG матрица, вычислил RLC значения для конкретного пина, затем подредактировал Virtex5 файл, прописав вычисленные значения на каждый пин. Ну правда мне нужно то было, всего 8 пин. И назначил им буферы те, которые используются в реальном проекте. А затем, опять же ручками уже в Hyperlynx назначил Assign model нужным пинам на плате выбранные пины из модели. В принципе можно сделать генератор IBIS моделей для таких дел, наверное даже в Excel, но руки не дошли.
|
|
|
|
|
Oct 12 2010, 05:29
|
Частый гость
 
Группа: Участник
Сообщений: 77
Регистрация: 17-02-10
Пользователь №: 55 532

|
Цитата(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 только пользовательских в банках и для разных корпусов они по разному расположены. Чтож, теперь под каждый корпус отдельный генератор писать?
|
|
|
|
|
Oct 12 2010, 09:23
|
Частый гость
 
Группа: Свой
Сообщений: 158
Регистрация: 15-01-09
Из: Russia
Пользователь №: 43 426

|
Да точно, спасибо Uree, как же я раньше не догадался. Попробовал в Xilinx ISE, действительно генерит. Правда он вместо назначения каждому пину RLC значений создает PKR матрицу. Надо проверить, понимает ее Hyperlynx или нет. Есть смутные подозрения, что не поддерживает. А по поводу вычисления PKG данных, я ничего специально не вычислял. PKG матрица содержит все необходимые данные в виде матрицы, все что я сделал, это взял данные из матрицы и сложив, умножив, поделив вывел данные для конкретного пина в виде R L C значений.Как именно, уже не помню, но из описания PKG матрицы в спецификации IBIS можно понять, как вывести RLC значения. Ну а потом вписал эти значения напротив каждого пина. Если Hyperlynx честно поддерживает PKG информацию, а не использует общие значения RLC для всего чипа, тупо прикладывая их к каждому пину, то можно обо всем этом забыть, сгенерировать IBIS модель, и скормить ее Hyperlynx.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|