|
Выбор шины для 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:01
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(~Elrond~ @ Mar 20 2015, 14:41)  TimmyУ меня в первой версии были stall и lock, но я их повыпиливал, так как не понял зачем они мне нужны.  Stall нужен, как я понял из стандарта, чтобы слейв мог приостанавливать бёрст. Но как он поможет решить проблему, которую я описал? Правила поведения при берсте для мастера ничем не отличаются от оных при одиночном обмене(точнее, при блочном). За исключением того, что мастер выставляет уведомления о берсте на CTI. Это и есть ответ на ваш вопрос. Адрес можно инкрементировать только в ответ на ack, как обычно. И при этом не расчитывать, что ack будут держать весь берст.
Сообщение отредактировал Timmy - Mar 20 2015, 12:04
|
|
|
|
Сообщений в этой теме
~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 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
|
|
|