LINUX.ORG.RU

EBI интерфейс output [25:0] address, inout [31:0] data между fpga и arm

 ,


0

1

В at91sam9g45 есть интерфейс EBI:

output [25:0] address,
inout [31:0] data

Есть отладочочная плата sk_at91sam9g45_xc6slx, где он используется для связи между spartan6 и arm. Шина с несколькими режимами sdram, sram, трансляция ahb адресов наружу. Какие варианты правильного устройства линукс-драйвера для subj, если предполагается близкая к максимальной скорость обмена arm<->fpga? Исходники ядра к этой борде я не нашел. dmesg из мануала говорит о «ARM-FPGA interconnection», значит или модифицированное ядро или какая-то userspace-программа.

Что подключать со стороны fpga к этой шине? fifo?

SMD

я в 2011 взял себе SK-AT91SAM9G45-XC6SLX и оно по большую часть времени пылится в коробке.

На дисках были исходники ядра, патчи, hdl описания для spartan6?



Последнее исправление: panzerito (всего исправлений: 3)

У меня была (есть, прямо передо мной лежит) ровно эта же плата, мне удавалось через /dev/mem выжать 140 мегабайт в секунду. У процессора есть карта адресов, юзая эти адреса в /dev/mem, на ПЛИС я смотрел соответствующий chip select (SRAM интерфейс). Дальше всё просто. А если не просто, то сочувствую :)

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

/dev/mem

Я предполагал, что они сделают в лоб. Хотя, может быть, так и надо - никогда не видел внутреннего устройства подобных устройств/драйверов.

panzerito
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Ты как-то используешь адрес EBI «output [25:0] address» в fpga?

Как можно организовать передачу из fpga в arm инициированную fpga?

panzerito
() автор топика
Ответ на: комментарий от panzerito

Нет, использовал лишь несколько линий адрес, ну так, для нескольких функций. А так - сыпал в один адрес. Я просто знал что проц инкрементирует адрес все равно, так что я просто выдавал данные на каждый такт и всё.

Инициация передачи из ПЛИС... не пробовал такой сценарий. Тут нужен и драйвер и прерывания и DMA и прочее, я не возился с этим.

I-Love-Microsoft ★★★★★
()

Привет.
Сорцы ведра и прочее есть на фтпшнике стартеркита. Я, к сожалению, продолбал логин и пасс, зато откопал слитые оттуда файлы. Там и сорцы ведра, и какое-то демо для фпга, и куча всякого хлама. Архив могу скинуть, но он весит пару гигов.
Пару лет назад я запускал на борде актуальное на тот момент ядро 4.2, в котором работала фпга. Для этого надо написать свой девайстри файл и, может, небольшой драйвер. Глянь, что у меня валяется тут, я давно это не тыкал: https://github.com/spacemonkeydelivers/sk-at91sam9g45-xc6slx
Максимальную скорость записи в фпга я выжать не пытался, зато заводил на арме прерывание, чтобы инициировать передачу данных.
С фпга я общался не через /dev/mem, а через кривой самопальный драйвер чар девайса.
С шиной адреса все так, как описал I-Love-Microsoft: на EBI висит куча слейвов, которые выбираются чип селектами. Для фпга там чипселекты 0 и 1, если я правильно помню. Можем попробовать причесать софт для нее всем лором и, например, поднять ддр2 контроллер. Энивей, как с тобой связаться?
Жаббер I-Love-Microsoft у меня есть, хоть он там давно не появлялся.

Deleted
()
Ответ на: комментарий от Deleted

Жаббер I-Love-Microsoft у меня есть, хоть он там давно не появлялся

Если честно, больше не пользуюсь, потому что все контакты уползли на швайбер-телегрям.

Оффтоп, к SMD: удалось победить DDR на Xilinx? У меня рецидив, снова хочу :) Даже нашел человека, который сделает это за деньгу, на днях напишу ТЗ и за работу. Но есть ли у тебя успехи?

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

В пашкограме я зовусь так же, как юзернейм на гитхабе)
С ддр я тогда облажался и забил, тк завалило на работе и в остальном, но я хочу как-нибудь это дело дожать.
Вот, может, на троих получится сделать.

Deleted
()
Ответ на: комментарий от Deleted

Да, а еще мысель - написать статью на хабр о побеждении DDR-а. Это будет некий шаг в сторону усложнения для многих русскоязычных инженеров.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Какого порядка деньга, кстати? Напиши в пашкограм, чтобы тут не флудить.

Deleted
()
Ответ на: комментарий от Deleted

В пашкограме я зовусь так же, как юзернейм на гитхабе

На ЛОРе крайне не хватает лички чтобы передавать контакты. Не знаю как добавить в грам по нику, как найти?

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Deleted

Можем попробовать причесать софт для нее всем лором и, например, поднять ддр2 контроллер.

Я не против, но у меня нет сейчас этой платы. Заочно могу поразбираться с исходниками.

Энивей, как с тобой связаться?

Только почтой. Добавить к нику «el.».

Архив могу скинуть, но он весит пару гигов

Куда тебе удобнее?

panzerito
() автор топика

У меня была (есть, прямо передо мной лежит) ровно эта же плата, мне удавалось через /dev/mem выжать 140 мегабайт в секунду. У процессора есть карта адресов, юзая эти адреса в /dev/mem, на ПЛИС я смотрел соответствующий chip select (SRAM интерфейс). Дальше всё просто. А если не просто, то сочувствую :)

На данный момент у меня получилось выжать скорость около 30мегабайт в секунду. Мы с I-Love-Microsoft пришли к выводу, что он, скорее всего, напутал и 140 было мегабит.
Я еще поковыряюсь, тк теоретически пропускная способность должна быть выше: 133 мгц шина, которая может выставлять 2 байта на каждый такт, но на ней еще висит нанд и рама.

Deleted
()
Ответ на: комментарий от Deleted

Мы с I-Love-Microsoft пришли к выводу, что он, скорее всего, напутал и 140 было мегабит

Да, так и есть :)

I-Love-Microsoft ★★★★★
()
8 ноября 2017 г.
Ответ на: комментарий от Deleted

У меня не было возможности проверить, но есть идея, как выжать еще больше скорости из этой шины.

Deleted
()
Ответ на: комментарий от panzerito

Вместо обычной записи, которая скорее всего создает большой траффик на AHB шине единичными лоадами, запрограммировать DMA: думаю, дма должно уметь в burst.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.