Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Шина для связи между ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Vitёk
На плате установлены две ПЛИС Xilinx: Spartan-2 и Virtex-2Pro. Обе тактируются от одного тактового генратора 50 Мгц. Между ПЛИСами имеется около 100 эл. цепей (предположительное назначение: данные 32-бит, адрес 30-бит и чуть более 30 для управления, сделано с запасом smile.gif ).
Требуется организовать _синхронную_ шину примерно со следующими свойствами:
- инициировать передачу могут обе ПЛИС;
- передача может вестись 8-, 16- и 32-битными словами;
- при пакетной передаче одно слово должно передаваться за один такт;
- (!) все сигналы шины должны защёлкиваться по такт. имп. как на выходе одной ПЛИС, так и на входе другой. Из этого вытекает необходимость формировать управляющие сигналы (типа "конец передачи" или "занято") не за 1 такт, как это принято в большинстве синхронных шин, а за два.

Вопрос: есть ли готовые решения, удовлетворяющие этим требованиям (особенно последнему)? Если нет, какую шину взять как образец для подражания?
Gate
1. Готовых решений не знаю, может кто другой посоветует. Но учтите - любое готовое решение рассчитывается на макс. универсальность и, следовательно, сильно избыточно. Иногда лучше делать ad hoc.
2. Не рекомендую связываться с двунаправленной шиной - намучаетесь с алгоритмом переключения и арбитром. Лучше сделать две однонаправленных. Впрочем, это зависит от вида взаимодействия между плисами.
Vitёk
Цитата
Не рекомендую связываться с двунаправленной шиной - намучаетесь с алгоритмом переключения и арбитром.
Это меня не сильно пугает. Арбитр будет трогательно прост - конечный автомат на 3 состояния, с 2 входами запроса шины и 2 выходами разрешения. Решение проверенное. wink.gif
Цитата
Лучше сделать две однонаправленных.
Наверное лучше, только тогда проводов между ПЛИСами не хватит. sad.gif
iosifk
Цитата(Vitёk @ Apr 2 2006, 14:50) *
Вопрос: есть ли готовые решения, удовлетворяющие этим требованиям (особенно последнему)? Если нет, какую шину взять как образец для подражания?


Например, Компакт-PCI. Если у Вас данные проходят наружу на PCI шину, то конечно проще не переделывать форматы и не делать больших буферов.
des00
если вы затачиваетесь под пакетные транзакции, то посмотрите Local Link от хилых, для Вас самое то smile.gif
dsmv
Как образец - локальная шина процессора TigerSharc
Vitёk
Спасибо всем откликнувшимся! smile.gif
Цитата(iosifk)
Если у Вас данные проходят наружу на PCI шину, то конечно проще не переделывать форматы и не делать больших буферов.
Так и есть, но в ПЛИСе, отвечающей за PCI, нужно проделать много работы (разные сервисные функции, для упрощения жизни второй ПЛИС). Просто так протянуть сигналы PCI с одного края моста к другому не получится.
Хотя использовать урезанный набор управляющих сигналов PCI - тоже мысль. smile.gif

Цитата(des00)
если вы затачиваетесь под пакетные транзакции, то посмотрите Local Link от хилых
Посмотрел в общих чертах. Если я правильно понял - основной упор там сделан на связь внутри одной ПЛИС двух асинхронных кусков с различной разрядностью (могу заблуждаться, если так - поправьте меня). У меня всё наоборот - синхронная шина, разрядность одна и та же, а ПЛИСы разные. smile.gif

Цитата(dsmv)
Как образец - локальная шина процессора TigerSharc
Почитаю...

В своё время приходилось связывать ПЛИС с готовым мостом (PCI9060 от PLX), там была шина имени процессора Intel-960. Тоже подходит, только адаптировать её под 2 такта задержки.

Спасибо всем за идеи, есть чем занять думательную часть тела. rolleyes.gif
des00
Цитата(Vitёk @ Apr 3 2006, 03:18) *
Посмотрел в общих чертах. Если я правильно понял - основной упор там сделан на связь внутри одной ПЛИС двух асинхронных кусков с различной разрядностью (могу заблуждаться, если так - поправьте меня). У меня всё наоборот - синхронная шина, разрядность одна и та же, а ПЛИСы разные. smile.gif


ИМХО читали вы сильно не внимательно, либо вообще не то smile.gif
Вообще локал линк это не столько физический, сколько логический протокол и положить его можно поверх чего угодно.
Посмотрите еще на АМБА АКСАЙ может быть понравиться, правда там веток больше нужно

Если нужны спецификации на это безобразие, пишите в пагер.
Vitёk
Цитата
ИМХО читали вы сильно не внимательно, либо вообще не то smile.gif
Возможно. Первый документ, который мне попался - это XAPP691 "Parameterizable LocalLink FIFO". Если где то есть описание "чистого" LocalLink - дайте пожалуйста ссылку. smile.gif
Цитата
Посмотрите еще на АМБА АКСАЙ
Тоже ссылку, если можно. smile.gif
des00
Цитата(Vitёk @ Apr 4 2006, 01:58) *
Цитата
ИМХО читали вы сильно не внимательно, либо вообще не то smile.gif
Возможно. Первый документ, который мне попался - это XAPP691 "Parameterizable LocalLink FIFO". Если где то есть описание "чистого" LocalLink - дайте пожалуйста ссылку. smile.gif
Цитата
Посмотрите еще на АМБА АКСАЙ
Тоже ссылку, если можно. smile.gif

с линками проблема, а с доками
на фтп в Upload/doc/ifaces
Желаю удачи
Vitёk
Сенкс! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.