Добрый день,
кажется я где-то зациклился и что-то не понимаю, где почитать или найти. Хочу простого, есть верилог на плисовой части
Код
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 микросекунд
}
Скажите, пожалуйста, где такой пример найти? Гуглил, смотрел, понимаю, что надо что-то где-то в авалоне сделать, но совершенно не понимаю как и никогда до этого в авалоне не работал, хотя на плиске много чего спроектировал и запустил...
Тыкните, меня, пожалуйста, носом что и где прочитать, или где такой пример есть, ведь должно же быть?
Спасибо!
ИИВ