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

 
 
 
Reply to this topicStart new topic
> Обработка высокочастотных цифровых данных на Spartan-2
DiMonstr
сообщение Oct 26 2006, 19:19
Сообщение #1


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

Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706



Как можно с помощью ПЛИС (Spartan-2) организовать обработку 16-разрядных данных, скорость передачи которых >1ГГц, т.е. пропускная способность каждой линии составляет 1 Гбит/сек ???
Go to the top of the page
 
+Quote Post
klop
сообщение Oct 26 2006, 19:28
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



Цитата(DiMonstr @ Oct 26 2006, 23:19) *
Как можно с помощью ПЛИС (Spartan-2) организовать обработку 16-разрядных данных, скорость передачи которых >1ГГц, т.е. пропускная способность каждой линии составляет 1 Гбит/сек ???


Боюсь что Spartan-2 в данном случае отдыхает. Внешняя гигагерцовая паралельная шина ето круто.
Go to the top of the page
 
+Quote Post
DiMonstr
сообщение Oct 26 2006, 20:20
Сообщение #3


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

Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706



Ничего подобного! Вы знаете, что на борту ПЛИС существует структура под названием Delay-Locked Loops? Если нет, то посмотрите и убедитесь сами, что он позволяет как умножать входную тактовую частоту, так и делить её. Мне интересны мнения спецов по этому поводу, т.е. как оптимально реализовать деление тактовой частоты до частоты не превышающей работу ПЛИС ???
Go to the top of the page
 
+Quote Post
Elresearch
сообщение Oct 27 2006, 05:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 29-12-04
Пользователь №: 1 730



У Spartan2 Input clock frequency (CLKDLLHF) max 200MHz. Даже у Virtex 5 FDLLHFMSMAX = 550MHz, так что DLL Вам не поможет.
Go to the top of the page
 
+Quote Post
ilya79
сообщение Oct 27 2006, 05:17
Сообщение #5


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

Группа: Свой
Сообщений: 179
Регистрация: 26-08-04
Пользователь №: 549



>>Virtex 5 FDLLHFMSMAX = 550MHz
Формально можно использовать входной DDR =550x2 . Ну а если по делу, то конечно я думаю что на SpartanII это просто не решаемо, а на V5 с большим гемороем (и то не факт).
Go to the top of the page
 
+Quote Post
Gate
сообщение Oct 27 2006, 07:52
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Задача должна быть разбита на 2:
1. Ввод 16бит 1 ГГц и преобразование в более медленый широкий поток (в 64 бита 250 Мгц например).
2. Собственно обработка медленного потока.

1 на спартане не решаемо, 2 - легко. Если Вам нужен именно спартан, решайте 1 внешними схемами. Если к спартану не привязаны, берите любые фпга с lvds-входами на 1 Гц и вперед.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
DiMonstr
сообщение Oct 27 2006, 16:20
Сообщение #7


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

Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706



Я сам присоединяюсь к мнению тех, кто высказал свои предположения по этому поводу, НО!...
Компетентные в этом вопросе люди убеждают, что задача решаема и именно на Спартане-2, который работает на частоте 200 МГц максимум.
В общем виде данное устройство сопряжения с ПК через PCI должно:
1) анализировать 16-битную шину данных, скорость обмена по которой 1 ГГц. Логические уровни соответствуют LVTTL.
2) обязательно иметь SRAM, для временного хранения данных, которые по запросу от ПК будут считываться по шине PCI уже на частоте 33 МГц.

Согласен с Gate, что задачу нужно разделить на две части, правда 2 чать - это дело десятое.
1. Каждую линию (их 16) нужно распараллелить на 8. Т.е преобразовать последовательный код каждой линии в параллельный. Причем, каждую из 16 линий необходимо подключить на 8 входов ПЛИС! Итого, получаем 128-битный поток данных 125 МГц. Схемотехнически этот вопрос можно решить двумя способами: внешними схемами и самой ПЛИС. Для решения задачи внешней схемой, есть два варианта: а) сигнал каждой линии подавать на общий вход D-триггера, а синхро со счетчика-делителя на /8; б) каждую сигнальную линию подавать на отдельный 8-разрядный регистр сдвига, которые будут тактироваться общим синхро 1 ГГц.
Правда эти 2 варианта не подходят, т.к. увеличивают размеры платы, количество деталей и другие затраты.
Поэтому и стоит задача - реализовать схемотехнику на ПЛИС с помощью внутренней её структуры Delay-Locked Loops. Данная система позволяет производить умножение входной частоты, а также делить её и сдвигать по фазе на 0, 90, 180,270 градусов. Сейчас пробую разобраться.
2. Собственно обработка медленного потока, который ПЛИС будет загонять в SRAM блоками и по мере её заполнения , ПК будет производить считывание с частотой работы шины PCI.

Кому интересна эта тема, высказывайте свои мнения и идеи.
Go to the top of the page
 
+Quote Post
klop
сообщение Oct 27 2006, 17:07
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



Цитата(DiMonstr @ Oct 27 2006, 20:20) *
б) каждую сигнальную линию подавать на отдельный 8-разрядный регистр сдвига, которые будут тактироваться общим синхро 1 ГГц.


Вот здесь нас ждет большой облом. Сдиговый регистр на 1 ГГц боюсь не заведется даже в Вирексе-5.
Go to the top of the page
 
+Quote Post
Gate
сообщение Oct 27 2006, 17:54
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(DiMonstr @ Oct 27 2006, 20:20) *
1) анализировать 16-битную шину данных, скорость обмена по которой 1 ГГц. Логические уровни соответствуют LVTTL.

1. Я не верю, что можно передать 1Ггц с уровнями lvttl. lvpecl или lvds - да, может быть какие-нибудь 1.5-1.8 вольтовые дифференциальные стандарты типа sstl.
2. Городить внешний десериализатор 1:8 можно, но выгоды не вижу, по деньгам это будет примерно эквивалентно замене спартана на какой-нибудь виртекс с нормальными 1Ггц лвдс входами. Я с ксайлинксом не работаю, у альтеры stratix II имеет 1 Ггц входя (я не проверял!) и стоит ~$160.

ЗЫ Предполагается, что а)у Вас есть клок и б)он общий для 16 линий. Если это не так, то задача усложняется - надо fpga с блоками восстановления частоты.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
xyzzy
сообщение Oct 27 2006, 18:21
Сообщение #10


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

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



V4 + ISERDES + XAPP705 ? Вот только с lvttl действительно непонятно.

http://direct.xilinx.com/bvdocs/publications/xapp705.pdf


--------------------
--xyzzy
Go to the top of the page
 
+Quote Post
Gate
сообщение Oct 27 2006, 19:41
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Цитата(DiMonstr @ Oct 27 2006, 20:20) *
Поэтому и стоит задача - реализовать схемотехнику на ПЛИС с помощью внутренней её структуры Delay-Locked Loops. Данная система позволяет производить умножение входной частоты, а также делить её и сдвигать по фазе на 0, 90, 180,270 градусов. Сейчас пробую разобраться.

Вы не пропустите 1 ГГц через пин спартана.
Вы не построите синхронную схему с эквивалентным клоком в 1ГГц, даже если используете 4 клока 250 Мгц, сдвинутые последовательно на 90 градусов - из-за задержек Вы не сможете передавать данные между этими клоковыми доменами.
И немного философии: задача и метод ее решения должны принадлежать одному классу сложности. Иначе говоря, не надо конструировать болид формулы 1 из частей жигули, пусть даже и Калины smile.gif
Это значит, что, вероятно, можно, потратив кучу времени, сил и денег, сделать сбоящий дизайн на спартане в 1 экземпляре, который будет правльно работать несколько секунд в Вашем присутствии. Но задача приема 16 бит 1 ГГц требует использования другого класса устройств, нежели спартан. Кстати, и методы разводки там непросты, и ПП тоже не 2 слоя, и корпуса BGA, и разъемы не LPT port D25...


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
Flanker
сообщение Oct 28 2006, 10:15
Сообщение #12


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

Группа: Свой
Сообщений: 76
Регистрация: 16-05-05
Из: г.Чебоксары
Пользователь №: 5 090



Цитата(DiMonstr @ Oct 27 2006, 20:20) *
Поэтому и стоит задача - реализовать схемотехнику на ПЛИС с помощью внутренней её структуры Delay-Locked Loops. Данная система позволяет производить умножение входной частоты, а также делить её и сдвигать по фазе на 0, 90, 180,270 градусов. Сейчас пробую разобраться.


По опыту работы в SpartanII с CLKDLL заметил такую вещь - невозможно использовать все частоты (сдвинутые по фазе на 0, 90, 180,270 градусов) одновременно. Я в проекте использовал CLKDLL для умножения частоты на 2, при этом пробовал взять с этой же CLKDLL частоту поделенную на 2 - синтезатор этого сделать не дал (выдал ошибку). Пришлось использовать вторую CLKDLL или делить счетчиком.
Go to the top of the page
 
+Quote Post
DiMonstr
сообщение Nov 6 2006, 21:08
Сообщение #13


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

Группа: Свой
Сообщений: 81
Регистрация: 26-10-06
Из: Россия, Пенза
Пользователь №: 21 706



Вопрос по DataSheet. У модуля автоподстройки частоты DLL есть такой параметр: TIPTOL Input clock period tolerance = 1.0 ns.
Т.е. входной сигнал может быть подан с частотой 1 ГГц, так я понимаю или нет?
Go to the top of the page
 
+Quote Post
daemonDX
сообщение Nov 7 2006, 05:42
Сообщение #14


Участник
*

Группа: Свой
Сообщений: 42
Регистрация: 11-04-06
Пользователь №: 16 005



Страница 13, DS001-3 (v2.7) September 3, 2003
Period Tolerance: the allowed input clock period change in nanoseconds.
"Толерантность периода: допустимое измненение периода входного клока в наносекундах". Это показатель допустимой нестабильности периода опорного клока.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Nov 7 2006, 06:43
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(DiMonstr @ Oct 26 2006, 23:19) *
Как можно с помощью ПЛИС (Spartan-2) организовать обработку 16-разрядных данных, скорость передачи которых >1ГГц, т.е. пропускная способность каждой линии составляет 1 Гбит/сек ???

По поводу этого обсуждения, чтобы не месить воду в ступе:
Хочет человек сделать логический анализатор. Так он писал...
Конечно, 1ГГц в ПЛИС не загонишь. Ну, "так давайте его превратим" и так далее...
Вопрос - вот в чем. А что Вы хотите иметь - примерную картинку или что-то похожее на входной сигнал? Кто Вам сказал, что Вы получите СТАБИЛЬНОЕ устройство на DLL? Какие временные и температурные характеристики имеет Спартан? Калибровать прект - КАК на 1ГГц. Вам не приходит в голову почему проблемы с PCI-клоком на 33 МГц так тщательно пережевываются? А что у нас там с длинной дорожек для сигналов? А стабильность емкости PCB на 1ГГц? А что нам Аджиленты и Тектрониксы не указ? Мы вот тут сядем, обсудим, сделаем... Задавим их всех простым Спартаном, да еще 2-м.
Ну и так далее...
Я участвовал в большом проекте по разработке прибора для проверки DIMMов, это был такой огромный анализатор аналоговых и цифровых сигналов на 144 входа. Так вот при тактовой в 133 МГц в Виртексе-2 уже требовалась ручная разводка и много еще чего, о чем здесь не пишу.
Так что все мои вопросы - проверены практикой...
Удачи Вам Дима...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

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

 


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


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