Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Virtex-5 и согласование интерфейса
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_Anatoliy
В Virtex-5 по параллельному интерфейсу приходит 12 линий данных LVDS от шустрого АЦП с частотой 550Msps. HyperLynx рекомендует поставить дифференциальные согласующие резисторы 120 ом на каждый вход LVDS. В user guide на Virtex-5 говорится что в нём есть Digitally Controlled Impedance (DCI).Можно ли его использовать для интерфейса LVDS или нужно вешать внешние резисторы?
NikSave
АЦП, надо полагать, какой-нибудь техас инструмент типа 5463. Я внешних резисторов не вешал. В ucf указал наличие терминирующих резисторов и все работало нормально. Правда растояние от АЦП до ПЛИС у меня не более 2 см.
_Anatoliy
Цитата(NikSave @ Jul 28 2010, 15:20) *
АЦП, надо полагать, какой-нибудь техас инструмент типа 5463. Я внешних резисторов не вешал. В ucf указал наличие терминирующих резисторов и все работало нормально. Правда растояние от АЦП до ПЛИС у меня не более 2 см.

Значит DCI здесь никаким боком?
У меня около 6см,не хотелось бы напороться.А не сможете показать пример строчки в ucf для включения резисторов?Я в Xilinx пока ещё новичёк laughing.gif

Нашёл у Xilinx референс проект для этого АЦП,буду разбираться.
NikSave
Например, можно так INST <I/O_BUFFER_INSTANTIATION_NAME> DIFF_TERM = “TRUE”;
При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить.
_Anatoliy
Цитата(NikSave @ Jul 28 2010, 16:03) *
Например, можно так INST <I/O_BUFFER_INSTANTIATION_NAME> DIFF_TERM = ”TRUE”;
При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить.

Спасибо.А внутренние терминаторы тогда для чего?Я так думаю они по 100ом?Внешние резисторы на всякий случай разведу.
А по DCI можете что то сказать?
DmitryR
Внутренние терминаторы для того, что DCI много статического тока жрет. Насколько хорошо внутренние терминаторы заменяют внешние резисторы можно легко узнать с помощью того же HyperLynx - насколько я помню и терминаторы, и DCI в IBIS Virtex-5 есть.
Timmy
Цитата(NikSave @ Jul 28 2010, 19:03) *
При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить.

По моим изысканиям, если верить HyperLynx и Spice, внешние терминаторы надо ставить возле АЦП, как можно ближе. Дело в том, что внешние терминаторы возле FPGA будут стоять слишком далеко от конца линий, на которых, к тому же, висит "огромная" емкость около 10пф. Это приводит к низкой эффективности терминаторов. Со стороны же АЦП емкость на чипе гораздо меньше(около 2пф), и разместить резистор можно гораздо ближе к концу(вернее, началу) линии.
DmitryR
Абсолютное заблуждение. Терминатор LVDS толжен находится в конце (и только в конце) линии, то есть около нагрузки. Так как сигнал идет от АЦП в FPGA - FPGA является нагрузкой и терминаторы надо ставить около нее.
_Anatoliy
Цитата(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!
DmitryR
Цитата(_Anatoliy @ Jul 29 2010, 12:38) *
Есть,только как их включать в HL не нашёл.

В HL гемморно это делать - надо инстанциировать буфер и прописывать его свойства. В UCF гораздо проще, тут уже писали как. Что же касается SI - у вас видимо DC атрибут у какой-то модели неправильно стоит.
_Anatoliy
Цитата(DmitryR @ Jul 29 2010, 11:19) *
В HL гемморно это делать - надо инстанциировать буфер и прописывать его свойства. В UCF гораздо проще, тут уже писали как. Что же касается SI - у вас видимо DC атрибут у какой-то модели неправильно стоит.


Спасибо.Тёмное это дело,особенно когда первый раз идёшь по этой дорожке(HL)....
disel
Цитата(_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 делал. В более поздних не проверял, может они научились правильные файлы генерить.

_Anatoliy
Цитата(disel @ Jul 29 2010, 13:26) *
Я в ИСЕ 10.3 делал. В более поздних не проверял, может они научились правильные файлы генерить.

Спасибо!Первый вопрос - что такое ИСЕ?
2).Как то всё это через (|)...
Неужели флажок в HL нельзя было сделать,ведь эта функция включаемая пользователем.

А,это Вы так ISE обозвали rolleyes.gif
disel
Цитата(_Anatoliy @ Jul 29 2010, 15:37) *
Неужели флажок в HL нельзя было сделать,ведь эта функция включаемая пользователем.


Какой флажок? Не понял.
То что через ж, это же косяк ксалинкса. Если HL подсунуть правильный ибис-файл то он сразу диф.пару выделяет.
Кстати нужно не забыть в HL отрицательный вывод как инверсный задать. А в скопе можно добавить диф.пробник.
_Anatoliy
Цитата(disel @ Jul 29 2010, 13:45) *

Спасибо,а по этому не подскажете?
Цитата
А насколько можно доверять этому?
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!

disel
К сожалению не подскажу. Кроссталки никогда не анализировал.
_Anatoliy
Цитата(disel @ Jul 29 2010, 14:28) *
К сожалению не подскажу. Кроссталки никогда не анализировал.

Грустно.Я попробовал растащить пары для уменьшения кроссталка до 150мв, получается нужно не менее 15мм.Чушь какая-то...
Смотрю вот на плату от Texas с такими АЦП - у них по 0,5мм зазоры между парами,и не боятся никаких кроссталков.
Плюнуть на это дело,что ли и не париться?
VladimirB
Цитата(_Anatoliy @ Jul 29 2010, 16:55) *
Грустно.Я попробовал растащить пары для уменьшения кроссталка до 150мв, получается нужно не менее 15мм.Чушь какая-то...
Смотрю вот на плату от Texas с такими АЦП - у них по 0,5мм зазоры между парами,и не боятся никаких кроссталков.
Плюнуть на это дело,что ли и не париться?


Вот именно что чушь у вас в HL. Всё нормально работает со встроенными в ПЛИС 100ом резисторами. Главное волновое сопротивление дифф.пар правильно расчитать и разрывов в плейнах под ними не делать. Зазоры от соседних дифф.пар делать надо, но не сильно большими (я обычно стараюсь делать не меньше 2*ширину дифф.пары.).

Например, у нас без всяких внешних резисторов нормально работает 3ГГц АЦП от National Semiconductor ADC083000, подключенное к Virtex6 на отладочной плате ML605 через разъём. Длина дифф.пар при этом порядка 15-17 сантиметров + прохождение через разъём.

А 550МГц Техас, в ДДР режиме, на небольшом расстоянии - это семечки smile.gif
_Anatoliy
Цитата(VladimirB @ Jul 29 2010, 23:09) *
Вот именно что чушь у вас в HL.

Спасибо!
Я привык доверять инструментам с которыми работаю.Если это кусачки - то я уверен что при необходимости смогу ими откусить то что нужно,если это матлаб - то я уверен что на 2*2 он всегда ответит 4.Получается что к HL нужно относиться как к игрушке и не более того. А волновые сопротивления пар он правильно считает?Хоть здесь ему доверять можно?

p.s. А данные чем принимали?Serdes?
Timmy
Цитата(DmitryR @ Jul 29 2010, 12:29) *
Абсолютное заблуждение. Терминатор LVDS толжен находится в конце (и только в конце) линии, то есть около нагрузки. Так как сигнал идет от АЦП в FPGA - FPGA является нагрузкой и терминаторы надо ставить около нее.

Тут есть нюанс - терминатор действительно обязан находится в конце линии, если к ней подключены дополнительные приемники где-нибудь в середине, в противном случае эти приемники увидят интерференцию между прямым и отраженным от нетерминированного конца линии сигналами. Однако если приемник только один на конце линии, интерференции там не будет, и можно установить терминатор в начале линии.
DmitryR
Цитата(_Anatoliy @ Jul 30 2010, 10:19) *
Хоть здесь ему доверять можно?

Ему доверять можно везде (Spice конечно точнее, но HyperLynx тоже в разы не ошибается). Если вы получили непредсказуемый результат - ищите ошибку в настройках.

Цитата(Timmy @ Jul 30 2010, 10:22) *
Тут есть нюанс - терминатор действительно обязан находится в конце линии, если к ней подключены дополнительные приемники где-нибудь в середине, в противном случае эти приемники увидят интерференцию между прямым и отраженным от нетерминированного конца линии сигналами. Однако если приемник только один на конце линии, интерференции там не будет, и можно установить терминатор в начале линии.

Вы развиваете старое заблуждение с помощью нового: в линии LVDS никаких дополнительных приемников где-нибудь в середине быть не может - это интерфейс точка-точка (за исключением вариации BLVDS, которая на практике не употребляется). Возьмите наконец HyperLynx, соберите в Cell простейшую схему с LVDS и посмотрите своими глазами (если мне не верите) что будет если терминатор в начало линии поставить - он будет шунтировать линию фактически.
_Anatoliy
Цитата(DmitryR @ Jul 30 2010, 08:30) *
Ему доверять можно везде (Spice конечно точнее, но HyperLynx тоже в разы не ошибается). Если вы получили непредсказуемый результат - ищите ошибку в настройках.

Спасибо,именно такой категоричный ответ я и хотел получить.Значит будем разбираться дальше.
Timmy
Цитата(DmitryR @ Jul 30 2010, 10:30) *
Ему доверять можно везде (Spice конечно точнее, но HyperLynx тоже в разы не ошибается). Если вы получили непредсказуемый результат - ищите ошибку в настройках.


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


Вот простейший пример для ltspice4:Нажмите для просмотра прикрепленного файла

Сигналы в точках o0 и o1 идентичны, как и следовало ожидать.
DmitryR
Он у вас слишком простейший: поставьте туда реальные IBIS модели да прогоните мегагерц на 300 хотя бы осцилятором, не говоря уже о PRBS. А то нарисовали сферического коня в вакууме и хвастаетесь своей эрудицией.
cioma
QUOTE (Timmy @ Jul 30 2010, 10:07) *
Вот простейший пример для ltspice4:Нажмите для просмотра прикрепленного файла

Сигналы в точках o0 и o1 идентичны, как и следовало ожидать.


А нагрузка где?
Timmy
Цитата(cioma @ Jul 30 2010, 18:29) *
А нагрузка где?

Там специально без нагрузки, чтобы показать принципиальную возможность включения терминатора в начало линии. С нагрузкой еще интереснее:
зеленая - терминатор со стороны FPGA, синяя - со стороны АЦП. То есть терминатор со стороны слабо нагруженного конца работает значительно лучше, почти идеально, неровность в основном из-за не совсем точной линии(технологическая погрешность 20% smile.gif).
2p-15n-7p - это ибисовский эквивалент нагрузки для FPGA ECP2M в большом корпусе(насчет Виртексов не знаю, думаю, там не сильно лучше).
VladimirB
Цитата(Timmy @ Jul 30 2010, 20:59) *
Там специально без нагрузки, чтобы показать принципиальную возможность включения терминатора в начало линии. С нагрузкой еще интереснее:
зеленая - терминатор со стороны FPGA, синяя - со стороны АЦП. То есть терминатор со стороны слабо нагруженного конца работает значительно лучше, почти идеально, неровность в основном из-за не совсем точной линии(технологическая погрешность 20% smile.gif).
2p-15n-7p - это ибисовский эквивалент нагрузки для FPGA ECP2M в большом корпусе(насчет Виртексов не знаю, думаю, там не сильно лучше).

А чего это у вас там 70 Вольт по оси Y ? Сгореть чего-нить может smile.gif

Вообще LVDS рассчитан на 100-омную нагрузку (50Ом на одну линию),
а вы ему 25Ом на одну линию подсовываете, которые получаются параллельным включением 50-омного резистора вблизи передатчика и 50-омным входным сопротивлением линии - на практике такое может и не заработать - размах напряжения будет недостаточен для приёмника.

А вообще подход у вас в корне неправильный - вы делаете неидеальный приёмник с большой индуктивностью в 15нГн и емкостями в 5 и 7 пФ. В результате у вас сигнал от него отражается и приходит к почти идеальному передатчику (2пФ ёмкость), где типа всё согласовано и отражений нет - поэтому получается всё хорошо. Вот если передатчику тоже добавить неидеальности (такую же индуктивность и ёмкость пририсовать как и приёмнику - корпус у передатчика есть) то будет тоже всё хреново.
Плюс ещё не известно как неидеальный источник тока будет реагировать на отражения которые к нему приходят.
_Anatoliy
Собрал проект в 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


Что ещё нужно подкрутить,коллеги?
DmitryR
А вы промоделируйте, может они на самом деле подключились. Однако я не пробовал брать IBIS из ISE - брал стандартный, выбирал оттуда пины с терминатором и моделил, так как обычно это делалось до того, как была готова прошивка.
_Anatoliy
Цитата(DmitryR @ Aug 3 2010, 10:47) *
А вы промоделируйте, может они на самом деле подключились. Однако я не пробовал брать IBIS из ISE - брал стандартный, выбирал оттуда пины с терминатором и моделил, так как обычно это делалось до того, как была готова прошивка.

Да я тоже не весь проект собрал,только нужные интерфейсы.
В осциллографе вроде сигнал терминирован,иначе бы не прогнал по паре 550МГц.Оцените опытным глазом картинку.
И в тоже время Terminator Wizard сообщает что никакого терминирования нет,хотя если разрешить ему добавить терминатор - картинка практически не меняется.Дела...
А нет ли у Вас куска ибис-файла для виртекса с включением терминирующих резисторов?Может ISE как-то криво их описывает?

А вот глазковая диаграмма,что-то совсем не нравится...
DmitryR
Глазка что-то да, нету. Сделайте два глазка - будет лучше видно, а так у вас пересечение фронтов посередине, а не глазок. А со скоростью не перепутали, вам надо именно 550МГц (1100 мегабод)?
_Anatoliy
Цитата(DmitryR @ Aug 3 2010, 11:52) *
Глазка что-то да, нету. Сделайте два глазка - будет лучше видно, а так у вас пересечение фронтов посередине, а не глазок. А со скоростью не перепутали, вам надо именно 550МГц (1100 мегабод)?

Вот три глазка.
Вообще-то тактовая у меня будет 275МГц,но с DDR,вот я посчитал что изменение данных с частотой 550Мгц должно быть.Видимо HL это сам учитывает,если указывает в PRBS bit rate 0,55Gbps при тактовой 275МГц?Тогда откуда он знает у меня DDR???В ибисе на АЦП ведь это не указывается7

Спасибо!
А в вашем ибисе всего одна пара терминирована видимо для примера,в остальном всё сходится с айсовским.
DmitryR
Все вроде правильно с частотами, глазок чуть менее двух нан. Но звенит аццки - работать не будет. Присылайте HL проект, если не разберетесь сами.
_Anatoliy
Цитата(DmitryR @ Aug 3 2010, 13:01) *
Все вроде правильно с частотами, глазок чуть менее двух нан. Но звенит аццки - работать не будет. Присылайте HL проект, если не разберетесь сами.

Сорри,со слепу отправил глазок у АЦП,вот глазок у FPGA.
Спасибо!Пока ещё пободаюсь,не выйдет тогда в личку напишу.
Мне сейчас не столько плату проверить нужно,как научиться дружить с HL wink.gif
Следующий этап - АЦП 12р и с 3,6Gsps wacko.gif
DmitryR
Цитата(_Anatoliy @ Aug 3 2010, 15:19) *
Сорри,со слепу отправил глазок у АЦП,вот глазок у FPGA.

Тоже не здорово, хоть и выглядит лучше. Но сторону АЦП тоже надо всегда смотреть - высокочастотный звон там может помехи дать, в правильно спроектированной линии его быть не должно.
_Anatoliy
Цитата(DmitryR @ Aug 3 2010, 13:30) *
Тоже не здорово, хоть и выглядит лучше. Но сторону АЦП тоже надо всегда смотреть - высокочастотный звон там может помехи дать, в правильно спроектированной линии его быть не должно.

Тут видимо нужно геометрию пары менять,выходное у АЦП около 40 ом, а входное у FPGA - 100ом. Как в таком случае быть?Наверно лучше не трогать внутренние терминаторы FPGA,поставить внешние и делать всю пару под 40 ом.Как вы думаете?
DmitryR
Нет. 40 ом - это он скорее всего говорит не дифференциальное сопротивление. Пара должна быть 100 ом (дифф) и соткой же нагружена. Косяк в другом месте почти наверняка.
disel
проект HL выложите. Вы boardsim или linesim смотрите?
_Anatoliy
Цитата(disel @ Aug 3 2010, 14:23) *
проект HL выложите. Вы boardsim или linesim смотрите?

Boardsim.
Обратите внимание на строчку Driver impedance.
Чуть позже выложу,меня сдёрнули на другую задачу sad.gif
DmitryR
Driver impedance абсолютно не смущает. А вот то, что у него transition time 8.5 ns говорит о том что с моделью что-то не то. Ну и 11 сантиметров линия - это вы конечно постарались, я бы попробовал ее покороче сделать хотя бы вдвое.
_Anatoliy
Цитата(DmitryR @ Aug 3 2010, 14:07) *
Driver impedance абсолютно не смущает. А вот то, что у него transition time 8.5 ns говорит о том что с моделью что-то не то. Ну и 11 сантиметров линия - это вы конечно постарались, я бы попробовал ее покороче сделать хотя бы вдвое.

Взгляните опытным глазом,как теперь глазок?
DmitryR
Отличный. Теперь введите реальный джиттер и длинный PRBS.
_Anatoliy
Цитата(DmitryR @ Aug 5 2010, 13:58) *
Отличный. Теперь введите реальный джиттер и длинный PRBS.

Вот длина prbs 7(было 5) и джиттер гаусс 50пс.Только пара другая.
disel
Судя по рисункам явный прогресс.
У вас волновое сопротивление линии не 100 ом. Надо стекап править (ширину\зазор дорожек). Надо учитывать что толщина меди в верхнем слое больше на микрон эдак 20 за счет металлизации. Маска тоже несколько влияет на волновое сопротивление, надо ее внести в стекап. Эпсилон в районе 3,5-4. Зачем вы скоростные линии в верхнем слое ведете? Внутренние слои изготавливаются точнее и волновое сопротивление соответственно точнее получается.
_Anatoliy
Цитата(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 на самом деле нет терминатора

Как узнать из модели подключены терминаторы или нет?Как их подключить/отключить в случае необходимости?
DmitryR
Рефдес был кривой у Virtex, и я его не смотрел, раз у вас все пошло. Что касается фронта у АЦП в 8.5 нан - непонятный косяк, но работает-то нормально - поэтому наверное можно забить. Понять подключился терминатор или нет легко по результатам: без терминатора все было очень криво, а теперь - нормально. Подключать в модели Virtex терминаторы выбором стандарта: LVDS25 - без терминаторов, LVDS25_DT - с пассивными терминаторами, LVDS25_DCI - c активными терминаторами.
disel
Как же нет терминатора, когда есть, вот на картинке обведен красным. Когда его нет HL не дает диф.пару выделить.
А что за косяк с рефдесом? Не заметил.

А это ибис автоматически сгенерирован или еще что руками правили? В какой версии генерили?
_Anatoliy
Цитата(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
Timmy
Цитата(VladimirB @ Jul 31 2010, 14:17) *
А чего это у вас там 70 Вольт по оси Y ? Сгореть чего-нить может smile.gif

Это линейная модель для анализа формы сигнала и абсолютное значение амплитуды не имеет значения.

Цитата
Вообще LVDS рассчитан на 100-омную нагрузку (50Ом на одну линию),
а вы ему 25Ом на одну линию подсовываете, которые получаются параллельным включением 50-омного резистора вблизи передатчика и 50-омным входным сопротивлением линии - на практике такое может и не заработать - размах напряжения будет недостаточен для приёмника.

Данное замечание справедливо, если импеданс LVDS передатчика существенно ниже, скажем, 1кОм, это явно не наш случай.
Цитата
А вообще подход у вас в корне неправильный - вы делаете неидеальный приёмник с большой индуктивностью в 15нГн и емкостями в 5 и 7 пФ. В результате у вас сигнал от него отражается и приходит к почти идеальному передатчику (2пФ ёмкость), где типа всё согласовано и отражений нет - поэтому получается всё хорошо. Вот если передатчику тоже добавить неидеальности (такую же индуктивность и ёмкость пририсовать как и приёмнику - корпус у передатчика есть) то будет тоже всё хреново.
Плюс ещё не известно как неидеальный источник тока будет реагировать на отражения которые к нему приходят.

Свою плату я проверял BoardSim-ом, там сигнал не сильно отличался, упрощения в приведенной модели несущественны. Или кто-нибудь хочет, чтобы я приаттачил всю борду в 70 тысяч сегментов и IBIS FPGA на 20Мбайт?smile.gif. И, самое главное, моя конфигурация уже успешно запущена на железке и сигнал на такой линии хороший, там 100Мгц SDR, LTC2217 и ECP2M50, линия 7 сантиметров.
Корпус АЦП значительно меньше по размерам, поэтому его паразитные компоненты тоже существенно меньше.
На практике источник тока реагирует на отражения нормально, он под это заточен, вероятно, к тому же там сопротивление канала mosfet должно быть выше 100 ом, он при всем желании не сможет сильно испортить сигнал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.