|
|
  |
Virtex-5 и согласование интерфейса |
|
|
|
Jul 29 2010, 04:26
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(NikSave @ Jul 28 2010, 19:03)  При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить. По моим изысканиям, если верить HyperLynx и Spice, внешние терминаторы надо ставить возле АЦП, как можно ближе. Дело в том, что внешние терминаторы возле FPGA будут стоять слишком далеко от конца линий, на которых, к тому же, висит "огромная" емкость около 10пф. Это приводит к низкой эффективности терминаторов. Со стороны же АЦП емкость на чипе гораздо меньше(около 2пф), и разместить резистор можно гораздо ближе к концу(вернее, началу) линии.
|
|
|
|
|
Jul 29 2010, 08:38
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(DmitryR @ Jul 28 2010, 17:39)  Внутренние терминаторы для того, что DCI много статического тока жрет. Насколько хорошо внутренние терминаторы заменяют внешние резисторы можно легко узнать с помощью того же HyperLynx - насколько я помню и терминаторы, и DCI в IBIS Virtex-5 есть. Есть,только как их включать в HL не нашёл. Кстати,не подскажете что это значит: Цитата NET = ~1D3, 1D3 Nets coupled during crosstalk simulation =1D2, ~1D2 Nets coupled during high-accuracy simulation =1D2, ~1D2 ** Warning(Severe) ** Could not analyze SI; DC operating points not valid; check model thresholds
** Warning(Severe) ** COUNTS ------------------------------------------------------------ segments ........... 73 IC drivers ......... 2 IC receivers ....... 2 resistors .......... 1 capacitors ......... 0 SIGNAL-INTEGRITY STATISTICS --------------------------------------- total receiver capacitance ... 16.4 pF effective net Z0 ............. 91.2 ohms termination type ............. differential termination Почему он отказался анализировать SI? Модели не подходят? Вот описание выхода АЦП: Цитата [Model] lvds_out Model_type Output Vref=1.250E+00 Rref=5.000E+01 Cref=0.000E+00 Vmeas=1.250E+00 C_comp 5.750E-13 5.750E-13 5.750E-13 | [Voltage Range] 3.300E+00 3.000E+00 3.600E+00 [POWER Clamp Reference] 3.300E+00 3.000E+00 3.600E+00 а вот модель FPGA: Цитата [Model] BLVDS_25 Model_type I/O Polarity Non-Inverting Enable Active-Low Vinl = 1.025 Vinh = 1.375 Vmeas = 0.9000V Cref = 0.0F Rref = 1.0000M Vref = 0.0V C_comp 6.0000pF 6.0000pF 6.0000pF [Model Spec] Vinl 1.025 0.125 2.025 Vinh 1.375 0.475 2.375 | | [Temperature Range] 25.0000 85.0000 0.0 [Voltage Range] 2.5000V 2.3000V 2.7000V Voltage Range почему-то разные,в этом может быть дело? А насколько можно доверять этому? Цитата Maximum allowed crosstalk ........... 150 mv peak
NET = 1D0 ELECTRICALLY ASSOCIATED NETS -------------------------------------- net = ~1D0 AGGRESSOR NETS (Estimated peak crosstalk) 1OVR ........................... 375 mv ~1D1 ........................... 290 mv ~1OVR .......................... 234 mv 1D1 ............................ 182 mv Sum of the two strongest aggressors ............. 665 mv ** Warning ** Estimate exceeds maximum allowed crosstalk!
|
|
|
|
|
Jul 29 2010, 11:26
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(_Anatoliy @ Jul 29 2010, 12:38)  Есть,только как их включать в HL не нашёл. Чтобы их подключить нужно чтобы в ИБИСЕ был раздел [Diff Pin] и описание модели резистора. И чтобы названия пинов в плате и ИБИСЕ совпадали. Проще всего сделать так: 1. генеришь в ИСЕ ИБИС файл. Там будут правильные имена пинов и сигналов, но не будет раздела [Diff Pin]. Это косяк ИСЕ. 2. руками добавляешь в него разделы [Diff Pin], [Series Pin Mapping], и модель резистора которые можно взять на сайте. Вот пример Код [Diff Pin] inv_pin vdiff tdelay_typ tdelay_min tdelay_max D8 D7 100mV 0 0 0|
[Series Pin Mapping] pin_2 model_name function_table_group | D8 D7 rterm_100 | |************************************************************************ | 100ohm differential resistor |************************************************************************ | [Model] rterm_100 Model_type Series | (typ) (min) (max) | C_comp 0.1000pF 0.1000pF 0.1000pF [Temperature Range] 25.0000 100.0000 0.000 [Voltage Range] 2.5000V 2.3750V 2.6250V [R Series] 96 126 81 Я в ИСЕ 10.3 делал. В более поздних не проверял, может они научились правильные файлы генерить.
|
|
|
|
|
Jul 29 2010, 11:45
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(_Anatoliy @ Jul 29 2010, 15:37)  Неужели флажок в HL нельзя было сделать,ведь эта функция включаемая пользователем. Какой флажок? Не понял. То что через ж, это же косяк ксалинкса. Если HL подсунуть правильный ибис-файл то он сразу диф.пару выделяет. Кстати нужно не забыть в HL отрицательный вывод как инверсный задать. А в скопе можно добавить диф.пробник.
|
|
|
|
|
Jul 29 2010, 21:09
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(_Anatoliy @ Jul 29 2010, 16:55)  Грустно.Я попробовал растащить пары для уменьшения кроссталка до 150мв, получается нужно не менее 15мм.Чушь какая-то... Смотрю вот на плату от Texas с такими АЦП - у них по 0,5мм зазоры между парами,и не боятся никаких кроссталков. Плюнуть на это дело,что ли и не париться? Вот именно что чушь у вас в HL. Всё нормально работает со встроенными в ПЛИС 100ом резисторами. Главное волновое сопротивление дифф.пар правильно расчитать и разрывов в плейнах под ними не делать. Зазоры от соседних дифф.пар делать надо, но не сильно большими (я обычно стараюсь делать не меньше 2*ширину дифф.пары.). Например, у нас без всяких внешних резисторов нормально работает 3ГГц АЦП от National Semiconductor ADC083000, подключенное к Virtex6 на отладочной плате ML605 через разъём. Длина дифф.пар при этом порядка 15-17 сантиметров + прохождение через разъём. А 550МГц Техас, в ДДР режиме, на небольшом расстоянии - это семечки
|
|
|
|
|
Jul 30 2010, 06:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(_Anatoliy @ Jul 30 2010, 10:19)  Хоть здесь ему доверять можно? Ему доверять можно везде (Spice конечно точнее, но HyperLynx тоже в разы не ошибается). Если вы получили непредсказуемый результат - ищите ошибку в настройках. Цитата(Timmy @ Jul 30 2010, 10:22)  Тут есть нюанс - терминатор действительно обязан находится в конце линии, если к ней подключены дополнительные приемники где-нибудь в середине, в противном случае эти приемники увидят интерференцию между прямым и отраженным от нетерминированного конца линии сигналами. Однако если приемник только один на конце линии, интерференции там не будет, и можно установить терминатор в начале линии. Вы развиваете старое заблуждение с помощью нового: в линии LVDS никаких дополнительных приемников где-нибудь в середине быть не может - это интерфейс точка-точка (за исключением вариации BLVDS, которая на практике не употребляется). Возьмите наконец HyperLynx, соберите в Cell простейшую схему с LVDS и посмотрите своими глазами (если мне не верите) что будет если терминатор в начало линии поставить - он будет шунтировать линию фактически.
|
|
|
|
|
Jul 30 2010, 16:59
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(cioma @ Jul 30 2010, 18:29)  А нагрузка где? Там специально без нагрузки, чтобы показать принципиальную возможность включения терминатора в начало линии. С нагрузкой еще интереснее: зеленая - терминатор со стороны FPGA, синяя - со стороны АЦП. То есть терминатор со стороны слабо нагруженного конца работает значительно лучше, почти идеально, неровность в основном из-за не совсем точной линии(технологическая погрешность 20%  ). 2p-15n-7p - это ибисовский эквивалент нагрузки для FPGA ECP2M в большом корпусе(насчет Виртексов не знаю, думаю, там не сильно лучше).
|
|
|
|
|
Jul 31 2010, 10:17
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(Timmy @ Jul 30 2010, 20:59)  Там специально без нагрузки, чтобы показать принципиальную возможность включения терминатора в начало линии. С нагрузкой еще интереснее: зеленая - терминатор со стороны FPGA, синяя - со стороны АЦП. То есть терминатор со стороны слабо нагруженного конца работает значительно лучше, почти идеально, неровность в основном из-за не совсем точной линии(технологическая погрешность 20%  ). 2p-15n-7p - это ибисовский эквивалент нагрузки для FPGA ECP2M в большом корпусе(насчет Виртексов не знаю, думаю, там не сильно лучше). А чего это у вас там 70 Вольт по оси Y ? Сгореть чего-нить может  Вообще LVDS рассчитан на 100-омную нагрузку (50Ом на одну линию), а вы ему 25Ом на одну линию подсовываете, которые получаются параллельным включением 50-омного резистора вблизи передатчика и 50-омным входным сопротивлением линии - на практике такое может и не заработать - размах напряжения будет недостаточен для приёмника. А вообще подход у вас в корне неправильный - вы делаете неидеальный приёмник с большой индуктивностью в 15нГн и емкостями в 5 и 7 пФ. В результате у вас сигнал от него отражается и приходит к почти идеальному передатчику (2пФ ёмкость), где типа всё согласовано и отражений нет - поэтому получается всё хорошо. Вот если передатчику тоже добавить неидеальности (такую же индуктивность и ёмкость пририсовать как и приёмнику - корпус у передатчика есть) то будет тоже всё хреново. Плюс ещё не известно как неидеальный источник тока будет реагировать на отражения которые к нему приходят.
|
|
|
|
|
Aug 2 2010, 15:21
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Собрал проект в ISE,включил терминаторы,сгенерил ибис-файл,в нём видно что резисторы подключились: Цитата [Series Pin Mapping] pin_2 model_name function_table_group P25 R25 rterm_100 P26 R26 rterm_100 U25 T25 rterm_100 U26 V26 rterm_100 ................................. А в отсчёте HL на некоторых парах стоят терминаторы,а на некоторых их нет: Цитата total receiver capacitance ... 16.4 pF effective net Z0 ............. 89.9 ohms termination type ............. differential termination Цитата total receiver capacitance ... 16.4 pF effective net Z0 ............. 91.2 ohms termination type ............. No termination found Что ещё нужно подкрутить,коллеги?
|
|
|
|
|
Aug 3 2010, 09:33
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(DmitryR @ Aug 3 2010, 10:47)  А вы промоделируйте, может они на самом деле подключились. Однако я не пробовал брать IBIS из ISE - брал стандартный, выбирал оттуда пины с терминатором и моделил, так как обычно это делалось до того, как была готова прошивка. Да я тоже не весь проект собрал,только нужные интерфейсы. В осциллографе вроде сигнал терминирован,иначе бы не прогнал по паре 550МГц.Оцените опытным глазом картинку. И в тоже время Terminator Wizard сообщает что никакого терминирования нет,хотя если разрешить ему добавить терминатор - картинка практически не меняется.Дела... А нет ли у Вас куска ибис-файла для виртекса с включением терминирующих резисторов?Может ISE как-то криво их описывает? А вот глазковая диаграмма,что-то совсем не нравится...
Эскизы прикрепленных изображений
|
|
|
|
|
Aug 3 2010, 10:26
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(DmitryR @ Aug 3 2010, 11:52)  Глазка что-то да, нету. Сделайте два глазка - будет лучше видно, а так у вас пересечение фронтов посередине, а не глазок. А со скоростью не перепутали, вам надо именно 550МГц (1100 мегабод)? Вот три глазка. Вообще-то тактовая у меня будет 275МГц,но с DDR,вот я посчитал что изменение данных с частотой 550Мгц должно быть.Видимо HL это сам учитывает,если указывает в PRBS bit rate 0,55Gbps при тактовой 275МГц?Тогда откуда он знает у меня DDR???В ибисе на АЦП ведь это не указывается7 Спасибо! А в вашем ибисе всего одна пара терминирована видимо для примера,в остальном всё сходится с айсовским.
Эскизы прикрепленных изображений
|
|
|
|
|
Aug 6 2010, 06:33
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(disel @ Aug 6 2010, 06:07)  Судя по рисункам явный прогресс. У вас волновое сопротивление линии не 100 ом. Надо стекап править (ширину\зазор дорожек). Надо учитывать что толщина меди в верхнем слое больше на микрон эдак 20 за счет металлизации. Маска тоже несколько влияет на волновое сопротивление, надо ее внести в стекап. Эпсилон в районе 3,5-4. Зачем вы скоростные линии в верхнем слое ведете? Внутренние слои изготавливаются точнее и волновое сопротивление соответственно точнее получается. Спасибо! Да,я уже пересчитал геометрию и отдал на переразводку.Заодно перенесу пары в третий слой(под первым плейном). Цитата(DmitryR @ Aug 3 2010, 14:07)  А вот то, что у него transition time 8.5 ns говорит о том что с моделью что-то не то. Если не возражаете,давайте вернёмся к этому вопросу(по поводу ибис). 1).Я Вам выслал свой ибис из ISE,Вы пробовали плату с откорректированным рефдесом посмотреть со своим ибисом?Можете что нибудь сказать о " transition time 8.5 ns"? 2).Вы писали: Цитата В модели Virtex на самом деле нет терминатора Как узнать из модели подключены терминаторы или нет?Как их подключить/отключить в случае необходимости?
|
|
|
|
|
Aug 6 2010, 08:22
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Как же нет терминатора, когда есть, вот на картинке обведен красным. Когда его нет HL не дает диф.пару выделить. А что за косяк с рефдесом? Не заметил. А это ибис автоматически сгенерирован или еще что руками правили? В какой версии генерили?
Эскизы прикрепленных изображений
|
|
|
|
|
Aug 6 2010, 10:00
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(DmitryR @ Aug 6 2010, 09:02)  Рефдес был кривой у Virtex, и я его не смотрел, раз у вас все пошло. Что касается фронта у АЦП в 8.5 нан - непонятный косяк, но работает-то нормально - поэтому наверное можно забить. Ясно,спасибо. Цитата Понять подключился терминатор или нет легко по результатам: без терминатора все было очень криво, а теперь - нормально. Это очевидно,просто я думал есть какой-то способ узнать его в HL,ведь визард-терминатор его не видит. Цитата Подключать в модели Virtex терминаторы выбором стандарта: LVDS25 - без терминаторов, LVDS25_DT - с пассивными терминаторами, LVDS25_DCI - c активными терминаторами. Спасибо!Кстати в файле virt.ibs все слова LVDS_25_DT закомментированы. Цитата(disel @ Aug 6 2010, 09:22)  Как же нет терминатора, когда есть, вот на картинке обведен красным. Когда его нет HL не дает диф.пару выделить. А что за косяк с рефдесом? Не заметил. Вот это и меня в ступор поставило... DmitryR попробовал подключить свой ибис,не пошло,думаю потому что рефдес у Virtex начинается с цифры. Цитата А это ибис автоматически сгенерирован или еще что руками правили? В какой версии генерили? Да,автоматически,ничего не правил. ISE 11.1
|
|
|
|
|
Aug 16 2010, 08:43
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(VladimirB @ Jul 31 2010, 14:17)  А чего это у вас там 70 Вольт по оси Y ? Сгореть чего-нить может  Это линейная модель для анализа формы сигнала и абсолютное значение амплитуды не имеет значения. Цитата Вообще LVDS рассчитан на 100-омную нагрузку (50Ом на одну линию), а вы ему 25Ом на одну линию подсовываете, которые получаются параллельным включением 50-омного резистора вблизи передатчика и 50-омным входным сопротивлением линии - на практике такое может и не заработать - размах напряжения будет недостаточен для приёмника. Данное замечание справедливо, если импеданс LVDS передатчика существенно ниже, скажем, 1кОм, это явно не наш случай. Цитата А вообще подход у вас в корне неправильный - вы делаете неидеальный приёмник с большой индуктивностью в 15нГн и емкостями в 5 и 7 пФ. В результате у вас сигнал от него отражается и приходит к почти идеальному передатчику (2пФ ёмкость), где типа всё согласовано и отражений нет - поэтому получается всё хорошо. Вот если передатчику тоже добавить неидеальности (такую же индуктивность и ёмкость пририсовать как и приёмнику - корпус у передатчика есть) то будет тоже всё хреново. Плюс ещё не известно как неидеальный источник тока будет реагировать на отражения которые к нему приходят. Свою плату я проверял BoardSim-ом, там сигнал не сильно отличался, упрощения в приведенной модели несущественны. Или кто-нибудь хочет, чтобы я приаттачил всю борду в 70 тысяч сегментов и IBIS FPGA на 20Мбайт?  . И, самое главное, моя конфигурация уже успешно запущена на железке и сигнал на такой линии хороший, там 100Мгц SDR, LTC2217 и ECP2M50, линия 7 сантиметров. Корпус АЦП значительно меньше по размерам, поэтому его паразитные компоненты тоже существенно меньше. На практике источник тока реагирует на отражения нормально, он под это заточен, вероятно, к тому же там сопротивление канала mosfet должно быть выше 100 ом, он при всем желании не сможет сильно испортить сигнал.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|