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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Разделение логики на два чипа, Обмен данных на скорости около 300МГц
BlackOps
сообщение Dec 22 2011, 03:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Предположим есть уже большой проект который не умещается на один Спартан6 чип, и планируется разместить два Спартан6 чипа на плате, а проект
разделить так чтобы уместить всю логику на два чипа.

Возможна например такая схема:

ФПГА 1 Принимает входной клок 100МГц от резонатора на плате, внутри имеет DCM выдающий 300МГц клок для всей рабочей логики на этом чипе, а также этот 300МГц клок от DCM подается на выход чипа и как вход основного клока на ФПГА 2. Ну а ФПГА 2 принимает этот 300МГц клок и использует его как основной клок для своей логики.

Итого возможно будет около 70-90 сигналов между двумя чипами обменивающиеся данными на скорости до 300МГц.

Также внутри обоих чипов есть отдельные блоки работающие на других частотах и использующих дополнительные DCM, ну а вобщем вся логика на обеих чипах должна работать синхронно на частоте 300МГц.

Это нормально или есть предложения как можно получше это организовать?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 22 2011, 04:56
Сообщение #2


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



По какому стандарту планируется соединить ПЛИС (LVDS?) и как будет выглядеть интерфейс соединения?
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 22 2011, 05:40
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Как-то это очень стремно выглядит.

На мой взгляд, есть смысл поделить проект так, чтобы не было необходимости таскать между микросхемами высокоскоростные данные, причем СТОЛЬКО.

Цитата
ФПГА 1 Принимает входной клок 100МГц от резонатора на плате, внутри имеет DCM выдающий 300МГц клок для всей рабочей логики на этом чипе, а также этот 300МГц клок от DCM подается на выход чипа и как вход основного клока на ФПГА 2

Не лучше ли от одного генератора запитать обе через "размножитель" тактовых сигналов?
Go to the top of the page
 
+Quote Post
des00
сообщение Dec 22 2011, 05:46
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



ИМХО, при ценовой политке хилых, проще взять чип большего объема.


--------------------
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Dec 22 2011, 05:53
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



Если уж 0чень прижмет, то можно, но лучше действительно взять чип побольше


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Dec 22 2011, 06:02
Сообщение #6


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(BlackOps @ Dec 22 2011, 07:41) *
Предположим есть уже большой проект который не умещается на один Спартан6 чип, и планируется разместить два Спартан6 чипа на плате, а проект разделить так чтобы уместить всю логику на два чипа.
Если у Вас изделие производится ограниченным тиражом, то, возможно, дешевле (с учётом затрат на создание и отладку стыка между двумя Spartan-6) поставить один Virtex-6 CXT.

Цитата(Koluchiy @ Dec 22 2011, 09:40) *
Не лучше ли от одного генератора запитать обе через "размножитель" тактовых сигналов?
Я думаю лучше всё-таки не разветвлять clock. Т.к. с передаваемыми данными всё равно необходимо будет передавать clock - иначе, из-за разбросов в Global clock distribution network, высокоскоростные данные не получится надёжно передавать. Так зачем же еще один clock передавать ?
А еще лучше вообще ничего не передавать, а, как и говорил des00, взять ПЛИС большего объёма, если таковые имеются в семействе Spartan-6.
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Dec 22 2011, 07:06
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121





Насчет большего объема девайса врядли, максимальный спартан6 уже выбран. А на виртекс переходить это дорого.
Есть еще вариант оптимизировать проект, столько различных сигналов между чипами это на самом деле нето... посмотрим.

Но в общем: то что Koluchiy предлагал ето своего рода system synchronous interface , и в таком случае нужно особое внимание уделить разводке клока.
А то что Boris_TS это вроде как source synchronous interface

я так понял что лучше это зависит от того как в целом плата будет спроектирована.


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 22 2011, 07:21
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(BlackOps @ Dec 22 2011, 06:41) *
ФПГА 1 Принимает входной клок 100МГц от резонатора на плате, внутри имеет DCM выдающий 300МГц клок для всей рабочей логики на этом чипе, а также этот 300МГц клок от DCM подается на выход чипа и как вход основного клока на ФПГА 2.


А кто нибудь 300 Мгц клок по плате гонял между двумя чипами?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 22 2011, 07:34
Сообщение #9


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(sazh @ Dec 22 2011, 11:21) *
А кто нибудь 300 Мгц клок по плате гонял между двумя чипами?

Я гонял 330 для stratix4 с 18-разярядными данными по lvds и 5 чипов(частота данных 660), в перспективе 500МГц должно быть. При этом на большой загрузке линии обнаружилась ошибка по CRC на 3 день sm.gif
Но тактовая все равно общая была и шла от одного генератора, данные слались с локальной синхрочастотой. Разводкой занимались специальные люди и довольно долго (у них там жесткие требования были). Проще сделать именно то, советовали Выше - заменить на virtex.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 22 2011, 07:41
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата(Boris_TS @ Dec 22 2011, 10:02) *
Я думаю лучше всё-таки не разветвлять clock. Т.к. с передаваемыми данными всё равно необходимо будет передавать clock - иначе, из-за разбросов в Global clock distribution network, высокоскоростные данные не получится надёжно передавать. Так зачем же еще один clock передавать ?


Ну, детали интерфейса и алгоритма работы вообще не конкретизированы.
Суть в том, что если питать 2-ю микросхему клоком 300МГц от 1-й, это создаст
1) Сдвиг по фазе между клоками 2-х микросхем. Он в любом случае будет, но его можно минимизировать. Насколько он критичен в данном проекте - ХЗ.
2) Дополнительные джиттеры/шумы/искажения на клоке, питающем 2-ю микросхему.

Так что, на мой взгляд, в любом случае лучше дать в обе микросхемы 100МГц и умножать самостоятельно.
Клоки при передаче данных между интерфейсами - другая песня, в зависимости от интерфейса они могут приходить на разные ноги, и не всегда на те, с которых оптимально питать глобальные тактовые цепи, пллки и т.п. (уже не очень помню S6, но помню, что там хитро).

Цитата
Но в общем: то что Koluchiy предлагал ето своего рода system synchronous interface , и в таком случае нужно особое внимание уделить разводке клока.

Мои слова относятся исключительно к подаче опорных тактовых на обе микросхемы, а не к каким-то интерфейсным делам.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Dec 22 2011, 08:04
Сообщение #11


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(BlackOps @ Dec 22 2011, 11:06) *
Насчет большего объема девайса врядли, максимальный спартан6 уже выбран. А на виртекс переходить это дорого.
Еще разок обращу Ваше внимание на Virtex-6 CXT - это удешевлённая серия: Virtex-6 CXT заметно дешевле, чем Virtex-6 LXT. Собственно, Xilinx и позиционирует Virtex-6 CXT как ПЛИС для тех, кого выперло за Spartan-6, а Virtex-6 LXT - слишком дорого.
Прекрасно понимаю, что цены на любые Virtex-6, по сравнению с тем же Spartan-6, - негуманные.

Цитата(BlackOps @ Dec 22 2011, 11:06) *
Но в общем: то что Koluchiy предлагал ето своего рода system synchronous interface , и в таком случае нужно особое внимание уделить разводке клока.
А то что Boris_TS это вроде как source synchronous interface
Именно так. Source Synchronous Interface позволяет развить большую скорость передачи данных, но требует синхронизирующих элементов в приёмных трактах.

Цитата(BlackOps @ Dec 22 2011, 11:06) *
я так понял что лучше это зависит от того как в целом плата будет спроектирована.
У Xilinx есть неплохая, хоть и старенькая, книжка High-Speed Serial I/O Made Simple. Если Вы еще её не видели, то проглядите хотя бы начало – оно может натолкнуть Вас на некоторые мысли по улучшению канала связи между ПЛИС.

Цитата(sazh @ Dec 22 2011, 11:21) *
А кто нибудь 300 Мгц клок по плате гонял между двумя чипами?
Ну мы "гоняем" на 500МГц: полный банк Virtex-6 <-> полный банк Virtex-6, LVDS 2.5V DDR, итого по каждой паре 1000МБит/с (Source Synchronous Interface)...
Но опорные clock’и, на которых работает почти вся внутренняя логика, всё-таки через разветвители передаются - так clock чище.
Go to the top of the page
 
+Quote Post
ivanoffer
сообщение Dec 22 2011, 17:24
Сообщение #12


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

Группа: Участник
Сообщений: 120
Регистрация: 21-07-11
Пользователь №: 66 348



Цитата(sazh @ Dec 22 2011, 10:21) *
А кто нибудь 300 Мгц клок по плате гонял между двумя чипами?


Ну мы гоняем между Spartan6-ми 300МГц в DDR по 10 парам. Работает.
Go to the top of the page
 
+Quote Post
iiv
сообщение Dec 22 2011, 23:36
Сообщение #13


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Я немного сомневаюсь, что без лвдса 300МГц Вы безошибочно прокачаете данные между плисками, я бы на Вашем месте попробовал завести один синхронизированный клок на обе плиски, а вот обмен между ними проводить на меньшей частоте распараллеливая и развязывая через ФИФО, но, если алгоритм это не позволяет, конечно придется разводить очень аккуратно, и, может Вам повезет.

Я недавно работал на системе с 4-мя бордами DE2 115 от Terasic, которые у меня были соединены по обычному 40пиновому штеккеру. Мне было достаточно организовать асинхронный броадкаст данных с каждой борды на все остальные, и для этого я использовал по 9 пинов - один клочный, и остальные датные. Все клочилось с одного 50МГц внешнего клока, а потом внутри каждой плиски повышалось до 200МГц. Обмен был развязан через ФИФО и клочился отдельно. Частотой обмена я игрался, меньше 40МГц ошибок не было, больше 50МГц уже были ошибки, больше 100МГц ошибок уже было так много, что работать было уже не возможно.

Использование 4-х таких борд я мотивировал теми же как и у Вас аргументами - 4 эти борды стоили мне меньше одной стратиковской борды, а суммарное число умножителей, простота их использования, и достигаемая скорость были выше чем на стратиксе. Но мне сильно повезло с алгоритмом, что я мог его очень ровно распараллелить.
Go to the top of the page
 
+Quote Post
BlackOps
сообщение Dec 23 2011, 04:43
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



ну примерно все ясно, читаю сейчас соответствующие доки. Значит такое дело:

В проекте планируется иметь один АЦП подключенный к основной ФПГА. Но это отдельная тема.

В проекте также есть несколько блоков имеющих выход из чипа через SPI, но это не проблема.

А также, есть один блок, скажем блок формирования изображения, который берет результаты работы всего алгоритма которые записаны в память БРАМ, и превращает их в изображение, которое в свою очередь подается на контроллер ЖК или чего еще пока не решено.
т.е. в память БРАМ алгоритмом после завершения его работы пишется матрица размером 1024 х 1024, строка за строкой; каждая строка 1024 элемента; каждый элемент матрицы 32-битное число.

Блок формирования изображения формирует изображения из каждого значения строки матрицы определенным образом, проводя серию различных операций. Так вот, я примерно прикинул что если я этот блок формирования изображения из проекта вынесу, то все остальное в один ФПГА чип умещается вроде бы.

Ну тогда мне придется передавать из чипа только эту матрицу данных на другой чип, в котором будет реализован блок формирования изображения ну и контроллер дисплея, или на внешнее устройство записи итд..

т.к. элементы матрицы 32-битные, то используя диф-пары и LVDS нужно будет я так понял:
* 64 сигнала для данных, +/-
* eще два сигнала на положительный и отрицательный клок,
* еще пару сигналов типа req/ack для синхронизации. Ну и посылаю тогда данные в режиме DDR. Рассмотреть просто нужно будет схему того как это на спартане6 реализовать.

учитывая такие детали, что думаете насчет данной реализации?

Ну а второй ФПГА (который может быть значительно поменьше) будет принимать данные в режиме DDR, и возможно будет использоватся элемент ISERDES.


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
DAV
сообщение Dec 23 2011, 07:07
Сообщение #15


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

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



Недавно изучали одно изделия, так там между Циклонами3 с 8 по скорости гоняли LVDS сигналы примерно на 600 МГц по одной шине в обе стороны и работает. Как согласовано на 25 см и через разъём PCI непонятно.
Go to the top of the page
 
+Quote Post

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

 


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


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