Перейти к содержанию
    

Cyclone5-SOC: простой и понятный пример обмена данных между FPGA и HPS

Добрый день,

 

кажется я где-то зациклился и что-то не понимаю, где почитать или найти. Хочу простого, есть верилог на плисовой части

reg           [9:0] Counter;
unsigned reg [15:0] ToSend[0:1023];
unsigned reg [15:0] ToRecv[0:1023];

always @(posedge Clk) // 40MHz
begin
   Counter<=Counter+1;
   ToSend[Counter]<=...; // сохраняются сюда данные которые надо послать
   ... <= ToRecv[Counter]; // хочу считывать отсюда данные, которые надо принять
// Counter<512: я заполняю первую половину массива ToSend и хочу чтобы со второй все посылалось
// Counter>=512: аналогично со второй половиной
// c приемом все тоже аналогично
end

в котором непрерывно генеряться 16 битные числа на 40МГц частоте, и мне их надо послать на HPS, и с него же принять примерно столько же данных.

 

На HPS хочется под линуксом иметь тоже что-то понятное, типа

short InData[1024];
short OutData[1024];

...

while(1)
{ while(TestReady()==0); // проверил на то, что пришло от предыдущего приема и ушло от предыдущей посылки
  ExchangeData(InData, OutData);
  ... // какая-то работа существенно меньше 10 микросекунд

  while(TestReady()==0); // проверил на то, что пришло от предыдущего приема и ушло от предыдущей посылки
  ExchangeData(InData+512, OutData+512);
  ... // какая-то работа существенно меньше 10 микросекунд
}

 

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

 

Тыкните, меня, пожалуйста, носом что и где прочитать, или где такой пример есть, ведь должно же быть?

 

Спасибо!

 

ИИВ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот есть статья на хабре,

А лучше внимательно изучить материалы с rocketboards.org, мне сильно помгло.

Изменено пользователем bugdesigner

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот еще хорошая статья про передачу данных между FPGA и HPS того же автора:

https://habrahabr.ru/company/metrotek/blog/248145/

C rocketboards.org советую изучить Golden Hardware Reference Design

https://rocketboards.org/foswiki/Documentation/SodiaGHRD161

А вот еще полезно:

https://zhehaomao.com/blog/fpga/2014/05/24/sockit-10.html

Изменено пользователем Gleb80

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...