|
Выбор шины для 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 20 2015, 12:07
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(~Elrond~ @ Mar 20 2015, 18:08)  при работе в pipelined режиме какой сигнал должен использовать мастер, чтобы начать инкрементировать адрес при чтении? .... Как мастер должен поступать в этой ситуации? Если речь про спецификацию b3, то ЕМНИП мастер работает как классический мастер. Т.е. адрес изменяется по ack, pipeline фича это фича слейва, т.е. слейв может не ждать новой фазы адреса, а генерировать адреса внутри. В основном это помогает при чтении, максимум прочитаете лишнее слово (правда с ФИФО есть особенности). А вот запись по прежнему, если есть cyc & stb & we Цитата(Timmy @ Mar 20 2015, 18:30)  У вас некоторая путаница: есть 2 реализации стандарта b3 и b4 в них режимы реализованы по разному и разные название и назначение сигналов. И еще до кучи. В сложной системе pipelined feedback должен быть поддержан арбитром шины, иначе он может и умом тронуться, увидев хвосты ack ов
--------------------
|
|
|
|
Сообщений в этой теме
~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, 16:30 des00 Цитата(~Elrond~ @ Mar 11 2015, 00:30) Да,... Mar 10 2015, 16:39 ~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 ~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
|
|
|