реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Virtex-5 и согласование интерфейса
_Anatoliy
сообщение Jul 28 2010, 14:09
Сообщение #1


Утомлённый солнцем
******

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



В Virtex-5 по параллельному интерфейсу приходит 12 линий данных LVDS от шустрого АЦП с частотой 550Msps. HyperLynx рекомендует поставить дифференциальные согласующие резисторы 120 ом на каждый вход LVDS. В user guide на Virtex-5 говорится что в нём есть Digitally Controlled Impedance (DCI).Можно ли его использовать для интерфейса LVDS или нужно вешать внешние резисторы?
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jul 28 2010, 14:20
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



АЦП, надо полагать, какой-нибудь техас инструмент типа 5463. Я внешних резисторов не вешал. В ucf указал наличие терминирующих резисторов и все работало нормально. Правда растояние от АЦП до ПЛИС у меня не более 2 см.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 28 2010, 14:32
Сообщение #3


Утомлённый солнцем
******

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



Цитата(NikSave @ Jul 28 2010, 15:20) *
АЦП, надо полагать, какой-нибудь техас инструмент типа 5463. Я внешних резисторов не вешал. В ucf указал наличие терминирующих резисторов и все работало нормально. Правда растояние от АЦП до ПЛИС у меня не более 2 см.

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

Нашёл у Xilinx референс проект для этого АЦП,буду разбираться.
Go to the top of the page
 
+Quote Post
NikSave
сообщение Jul 28 2010, 15:03
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 26-05-09
Пользователь №: 49 592



Например, можно так INST <I/O_BUFFER_INSTANTIATION_NAME> DIFF_TERM = “TRUE”;
При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 28 2010, 15:13
Сообщение #5


Утомлённый солнцем
******

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



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

Спасибо.А внутренние терминаторы тогда для чего?Я так думаю они по 100ом?Внешние резисторы на всякий случай разведу.
А по DCI можете что то сказать?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jul 28 2010, 15:39
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Внутренние терминаторы для того, что DCI много статического тока жрет. Насколько хорошо внутренние терминаторы заменяют внешние резисторы можно легко узнать с помощью того же HyperLynx - насколько я помню и терминаторы, и DCI в IBIS Virtex-5 есть.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Jul 29 2010, 04:26
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(NikSave @ Jul 28 2010, 19:03) *
При таком расстоянии как у вас я бы рекомендовал все-таки развести резисторы (корпус 0402 много места не займет) около ПЛИС. Впоследствии их ведь можно и не ставить.

По моим изысканиям, если верить HyperLynx и Spice, внешние терминаторы надо ставить возле АЦП, как можно ближе. Дело в том, что внешние терминаторы возле FPGA будут стоять слишком далеко от конца линий, на которых, к тому же, висит "огромная" емкость около 10пф. Это приводит к низкой эффективности терминаторов. Со стороны же АЦП емкость на чипе гораздо меньше(около 2пф), и разместить резистор можно гораздо ближе к концу(вернее, началу) линии.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jul 29 2010, 08:29
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Абсолютное заблуждение. Терминатор LVDS толжен находится в конце (и только в конце) линии, то есть около нагрузки. Так как сигнал идет от АЦП в FPGA - FPGA является нагрузкой и терминаторы надо ставить около нее.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 29 2010, 08:38
Сообщение #9


Утомлённый солнцем
******

Группа: Свой
Сообщений: 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!
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jul 29 2010, 09:19
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(_Anatoliy @ Jul 29 2010, 12:38) *
Есть,только как их включать в HL не нашёл.

В HL гемморно это делать - надо инстанциировать буфер и прописывать его свойства. В UCF гораздо проще, тут уже писали как. Что же касается SI - у вас видимо DC атрибут у какой-то модели неправильно стоит.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 29 2010, 10:28
Сообщение #11


Утомлённый солнцем
******

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



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


Спасибо.Тёмное это дело,особенно когда первый раз идёшь по этой дорожке(HL)....
Go to the top of the page
 
+Quote Post
disel
сообщение Jul 29 2010, 11:26
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 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 делал. В более поздних не проверял, может они научились правильные файлы генерить.

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 29 2010, 11:37
Сообщение #13


Утомлённый солнцем
******

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



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

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

А,это Вы так ISE обозвали rolleyes.gif
Go to the top of the page
 
+Quote Post
disel
сообщение Jul 29 2010, 11:45
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



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


Какой флажок? Не понял.
То что через ж, это же косяк ксалинкса. Если HL подсунуть правильный ибис-файл то он сразу диф.пару выделяет.
Кстати нужно не забыть в HL отрицательный вывод как инверсный задать. А в скопе можно добавить диф.пробник.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jul 29 2010, 12:00
Сообщение #15


Утомлённый солнцем
******

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



Цитата(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!

Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 14th July 2025 - 06:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01577 секунд с 7
ELECTRONIX ©2004-2016