|
Выбор шины для DSP-системы на Cyclone III 25K, AMBA AXI4 vs Wishbone vs Avalon |
|
|
|
Mar 3 2015, 10:36
|
Частый гость
 
Группа: Свой
Сообщений: 100
Регистрация: 20-04-12
Из: Нижний Новгород
Пользователь №: 71 488

|
Добрый день!
Передо мной стоит задача написать систему для обнаружения модемного сигнала. Поскольку частота дискретизации низкая (9600 Гц), а ресурсов в ПЛИС немного (ПЛИС Cyclone III 25K ячеек, из которых треть занята DDC'ом), необходимо активно применять расшаривание ресурсов. Это приводит к необходимости соединения управляющих автоматов, нескольких массивов памяти и аппаратных вычислителей в единую систему. Опишу примерный состав этой системы: 1) Основной управляющий КА (возможно впоследствие будет заменён на простенький самописный софт-процессор). 2) Мост на шину EBIU процессора Blackfin. Должен иметь абсолютный приоритет на моей шине. 3) Специализированные процессоры (FIR, FFT), которые должны управляться главным КА (то есть иметь SLAVE-интерфейс), но при этом иметь доступ к памяти в качестве MASTER'а. Причём доступ к памяти должен быть в виде burst-транзакций. 4) Аппаратные вычислители (CORDIC-процессор, NCO, DIV, SQRT), являющиеся SLAVE'ами на шине (обмен данными через регистры, вписанные в общее адресное пространство шины). 5) Несколько секций памяти, каждая со своим AAU (address ariphmetic unit) для обеспечения кольцевой адресации (circle pointer) с выбранным шагом инкремента. AAU также должен управляться по шине.
Все компоненты системы самописные (на SystemVerilog), поэтому интерфейс к ним можно прикрутить любой. Саму шину планирую описать в виде SystemVerilog-интерфейса с параметризованным количеством Master'ов и Slave'ов. Вопрос состоит в том, какой стандарт шины больше всего подходит для моей системы. Ещё вопрос - можно ли где-нибудь достать в качестве примера открытые исходники AMBA AXI. Wishbone на opencores представлен очень широко, а адекватных примеров AMBA я не нашёл...
|
|
|
|
|
 |
Ответов
|
Mar 10 2015, 16:30
|
Частый гость
 
Группа: Свой
Сообщений: 100
Регистрация: 20-04-12
Из: Нижний Новгород
Пользователь №: 71 488

|
des00Да, приоритетный мастер всегда захватывает шину, если она свободна, в ущерб другим. Так в том и суть, что blackfin и main FSM имеют приоритет, так как они редко раздают короткие команды сопроцессорам. А всякие там FIR, FFT, DMA и им подобные с их длинными бурстами должны уступать. Цитата ЗЫ. для вашей системы больше подходят Stream-Based интерфейсы на основе crossbarr switch. Это меня тоже заинтересовало, когда я читал стандарты на wishbone и AXI. Там вроде как указано, что wishbone поддерживает crossbar, но примеров вообще никаких, рассматривается только point2point и shared bus. Насчёт stream-based интерфейсов у меня есть сомнения, так как он однонаправленный, как я понял из стандарта на AXI. А crossbar memory mapped - это как раз то что мне нужно.
|
|
|
|
|
Mar 10 2015, 16:39
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(~Elrond~ @ Mar 11 2015, 00:30)  Да, приоритетный мастер всегда захватывает шину, если она свободна, в ущерб другим. Так в том и суть, что blackfin и main FSM имеют приоритет, так как они редко раздают короткие команды сопроцессорам. А всякие там FIR, FFT, DMA и им подобные с их длинными бурстами должны уступать. вот какой нить ДМА сядет на шину, прерываясь на блекфин и main FSM, а FIR/FFT будут курить бамбук. Делайте crossbar switch для быстрого интерконнекта + shared bus для шины управления.
--------------------
|
|
|
|
Сообщений в этой теме
~Elrond~ Выбор шины для DSP-системы на Cyclone III 25K Mar 3 2015, 10:36 ~Elrond~ Решил пока начать с wishbone.
Для любителей краси... Mar 10 2015, 14:37 des00 Цитата(~Elrond~ @ Mar 10 2015, 22:37) Кон... Mar 10 2015, 15:39 ~Elrond~ des00
Цитата1. Есть задержка на арбитраж.Да, это н... Mar 10 2015, 15:55 des00 Цитата(~Elrond~ @ Mar 10 2015, 23:55) Да,... Mar 10 2015, 16:25 ~Elrond~ des00
Благодарю за ссылку на ваш вариант интерконн... Mar 10 2015, 17:24 des00 Цитата(~Elrond~ @ Mar 11 2015, 01:24) Уж ... Mar 10 2015, 17:36 Serhiy_UA По поводу шины - сказать нечего, а по следующим по... Mar 11 2015, 06:30 des00 Цитата(Serhiy_UA @ Mar 11 2015, 13:30) Ка... Mar 11 2015, 07:48  Serhiy_UA Цитата(des00 @ Mar 11 2015, 10:48) а чем ... Mar 11 2015, 08:09 serjj 2 ~Elrond~
Цитатаа ресурсов в ПЛИС немного (ПЛИС C... Mar 11 2015, 07:21 Serhiy_UA Цитата(serjj @ Mar 11 2015, 11:21) А можн... Mar 11 2015, 07:43 ~Elrond~ Serhiy_UA
ЦитатаКак-то занимался аппаратным за оди... Mar 11 2015, 07:54 serjj ЦитатаCIC дециматор на 250 для двух квадратур (5 с... Mar 11 2015, 08:22 ~Elrond~ serjj
ЦитатаМного. 600 LE + 10 памяти. Можно еще д... Mar 11 2015, 08:40 serjj ЦитатаCIC-дециматорна блочной памяти?
Например,
Mar 11 2015, 09:10 ~Elrond~ Гуру системного дизайна, к вам есть ещё несколько ... Mar 16 2015, 19:23 serjj А советы от не-гуру принимаются?
Цитатачто вы мо... Mar 17 2015, 07:55 ~Elrond~ Попробовал сгенерить систему из 2 мастеров и 3 сле... Mar 18 2015, 09:47 serjj Qsys интерконнект это готовый продукт, если что-то... Mar 18 2015, 11:15 ~Elrond~ des00
Возник вопрос по работе wishbone: при работе... Mar 20 2015, 11:08 Timmy Цитата(~Elrond~ @ Mar 20 2015, 14:08) des... Mar 20 2015, 11:30 ~Elrond~ Timmy
У меня в первой версии были stall и lock, но... Mar 20 2015, 11:41 Timmy Цитата(~Elrond~ @ Mar 20 2015, 14:41) Tim... Mar 20 2015, 12:01 des00 Цитата(~Elrond~ @ Mar 20 2015, 18:08) при... Mar 20 2015, 12:07 ~Elrond~ des00
Я только B4 читал. И там в пункте 3.3.1 bloc... Mar 20 2015, 12:44 des00 Цитата(~Elrond~ @ Mar 20 2015, 20:44) Я т... Mar 20 2015, 13:05 ~Elrond~ Выкладываю новую версию своего интерконнекта. Учёл... Mar 23 2015, 11:52 serjj Есть вопрос по modport expressions. В документе г... Mar 23 2015, 12:30 ~Elrond~ serjj
Да, говорят что не поддерживаются, но на сам... Mar 23 2015, 12:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|