Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выбор системной шины SoC
Форум разработчиков электроники ELECTRONIX.ru > > Опросы - ПЛИС
cosmobot
Какие шины в используете в своей работе, и каким факторами обусловлен в первую очередь их выбор: наличием большого количества корок, поддержка шины в средствах разработки, и тд ?
gab
Wishbone - свободная, большое кол-во корок, простая.
oval
Используем AMBA AHB и AMBA AXI.
vikk
AMBA AXI
vetal
Avalon-MM
SM
Разрабатываю шину для каждого конкретного случая самостоятельно. Еще ни разу не приходилось применять что-то стандартное.
CaPpuCcino
Цитата(SM @ Jun 9 2007, 11:17) *
Разрабатываю шину для каждого конкретного случая самостоятельно. Еще ни разу не приходилось применять что-то стандартное.

+1
starley
Цитата(SM @ Jun 9 2007, 10:17) *
Разрабатываю шину для каждого конкретного случая самостоятельно. Еще ни разу не приходилось применять что-то стандартное.

А как же повторное использование?
А мы AMBA AXI пользуем
SM
Цитата(starley @ Jan 16 2009, 11:33) *
А как же повторное использование?

Дополнительные затраты на разработку с легкостью потом окупаются экономией площади кристалла SoC (удешевлением). А в фпга SoC делать не приходилось ни разу, кроме как случаи прототипирования.

Как пример - в текущей разработке использую шину с параллельным чтением и записью по двум разным адресам. Для повышения производительности - за 1 такт одно чтение и одна запись.
starley
Цитата(SM @ Jan 16 2009, 19:56) *
Дополнительные затраты на разработку с легкостью потом окупаются экономией площади кристалла SoC (удешевлением).

Боюсь, это не всегда верно. Скорее выбор шины не более, чем определение того, что дешевле - сэкономить на площади или на использовании готовых и проверенных блоков.
А потом, очень мне сомнительно, что много площади можно сэкономить, разрабатывая собственную шину, взамен стандартной. Если это так, то в дизайне просто не было смыла использовать общую шину вообще, - блоки могут общаться напрямую друг с другом по упрощенным интерфейсам.
SM
Цитата(starley @ Jan 21 2009, 14:52) *
Боюсь, это не всегда верно. Скорее выбор шины не более, чем определение того, что дешевле - сэкономить на площади или на использовании готовых и проверенных блоков.

Все готовые проверенные блоки у меня имеют единый интерфейс, очень похожий на двухпортовую синхронную память с одним портом чтения и одним портом записи с отдельным разрешением записи на каждые 8 бит. Так что никакого удешевления от того, что я применю какую-то готовую шину, тут не будет. А вот гарантия того, что в разработанной мной шине не будет ни грамма лишнего, а только необходимое и достаточное, это факт. И второй факт - что прикрутить блок с таким интерфейсом к любой синхронной шине проблем не составляет.
starley
Цитата(SM @ Jan 21 2009, 15:39) *
Все готовые проверенные блоки у меня имеют единый интерфейс, очень похожий на двухпортовую синхронную память с одним портом чтения и одним портом записи с отдельным разрешением записи на каждые 8 бит.

Ну а дальше вопрос как вы блоки соединяете. Если допускаете параллельную передачу данных между устройствами - то у вас AXI получился. Если последовательно выполняете транзакции между девайсами по одной общей шине - то PLB. В чем большая экономия площади?
SM
Цитата(starley @ Jan 21 2009, 17:12) *
Ну а дальше вопрос как вы блоки соединяете. Если допускаете параллельную передачу данных между устройствами - то у вас AXI получился. Если последовательно выполняете транзакции между девайсами по одной общей шине - то PLB. В чем большая экономия площади?

А между кем надо, между теми допускаю параллельную, другую часть могу повесить на общую, третьи с отдельным DMA-контроллером, и т.д., т.е. к каждому индивидуальный подход. Оттуда и экономия - лишнего ничего, какому блоку сколько чего надо, ровно столько и получает. А в каком-то случае и в процессор лишнюю шину введу... Чтобы например за один такт мог считывать не одно данное, а два разных... Я и не думал спорить, что в каких-то случаях возможно получается что-то стандартное, но в большинстве - экономия. Плюс экономия в описаниях и универсальность - в любой проект с любой синхронной шиной я прикручу устройство не глядя.


Кстати, по шинам... У кого есть описание RHEA?
starley
Цитата(SM @ Jan 21 2009, 18:49) *
А между кем надо, между теми допускаю параллельную, другую часть могу повесить на общую, третьи с отдельным DMA-контроллером, и т.д., т.е. к каждому индивидуальный подход.

Это хорошо, пока вы над проектом работаете в одиночку, а если участников много и у каждого свой интерфейс (пусть хороший и универсальный) работать будет непросто. Интерфейсы - излюбленное место багов, много интерфейсов - много багов. Плюс время на то, чтобы еще понять кто чего придумал и как с ним работать. Если же каждый придерживается стандартного интерфейса и понимать ничего нового не надо, и отлаживаться проще.
Ну и главное, если ваша система предполагает подключение к какой-либо внешней шине (например PCI) через которую должны быть достуны несколько внутренних блоков, то значительно проще сделать один раз хороший мост на определенную внутрикристальную шину, чем каждый раз изобретать велосипед с собственным интерфейсом.
VG2903
Avalon-MM + собственная для потоковой передачи. В принципе и блоки с Wishbone использовать не проблема, ввиду некой похожести на Avalon
Мур
Avalon Прячется теперь при помощи Qsys. Супер сервис! Рывок мощный!
xor.kruger
Мне очень нравится AMBA в реализации на SoC LEON3
Nix_86
AMBA AHB/APB
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.