|
|
  |
Обработка высокочастотных цифровых данных на Spartan-2 |
|
|
|
Oct 26 2006, 19:28
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(DiMonstr @ Oct 26 2006, 23:19)  Как можно с помощью ПЛИС (Spartan-2) организовать обработку 16-разрядных данных, скорость передачи которых >1ГГц, т.е. пропускная способность каждой линии составляет 1 Гбит/сек ??? Боюсь что Spartan-2 в данном случае отдыхает. Внешняя гигагерцовая паралельная шина ето круто.
|
|
|
|
|
Oct 27 2006, 16:20
|
Частый гость
 
Группа: Свой
Сообщений: 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.
Кому интересна эта тема, высказывайте свои мнения и идеи.
|
|
|
|
|
Oct 27 2006, 17:07
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(DiMonstr @ Oct 27 2006, 20:20)  б) каждую сигнальную линию подавать на отдельный 8-разрядный регистр сдвига, которые будут тактироваться общим синхро 1 ГГц. Вот здесь нас ждет большой облом. Сдиговый регистр на 1 ГГц боюсь не заведется даже в Вирексе-5.
|
|
|
|
|
Oct 27 2006, 17:54
|
Знающий
   
Группа: Свой
Сообщений: 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 с блоками восстановления частоты.
--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
|
|
|
|
|
Oct 27 2006, 19:41
|
Знающий
   
Группа: Свой
Сообщений: 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 из частей жигули, пусть даже и Калины  Это значит, что, вероятно, можно, потратив кучу времени, сил и денег, сделать сбоящий дизайн на спартане в 1 экземпляре, который будет правльно работать несколько секунд в Вашем присутствии. Но задача приема 16 бит 1 ГГц требует использования другого класса устройств, нежели спартан. Кстати, и методы разводки там непросты, и ПП тоже не 2 слоя, и корпуса BGA, и разъемы не LPT port D25...
--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
|
|
|
|
|
Oct 28 2006, 10:15
|
Частый гость
 
Группа: Свой
Сообщений: 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 или делить счетчиком.
|
|
|
|
|
Nov 7 2006, 05:42
|
Участник

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

|
Страница 13, DS001-3 (v2.7) September 3, 2003 Period Tolerance: the allowed input clock period change in nanoseconds. "Толерантность периода: допустимое измненение периода входного клока в наносекундах". Это показатель допустимой нестабильности периода опорного клока.
|
|
|
|
|
Nov 7 2006, 06:43
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|