реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Непонятки с арбитром, Смущают результаты симуляции
Tausinov
сообщение Dec 19 2017, 19:08
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 19-10-13
Пользователь №: 78 795



Здравствуйте!
Ситуация такая: использую ядро Xilinx axi4-stream interconnect 2.1 для коммутации 8-ми потоков в один, фифо для всех слейвов настроены на пакетный режим с переключением по tlast, арбитраж установлен в режим Round-Robin, клоки слейвов и свитча одинаковы, клок мастера асинхронен им. Данные идут пачками таким образом, что все фифо заполняются одновременно на размер достаточный для переключения. На каждую пачку на входе арбитра ожидал увидеть на выходе пакеты последовательно с каждого из фифо, начиная с нулевого. Но! Первый раз выкачка началась не с нулевого, а со второго или третьего фифо. Немного удивился, но придумал, как это обойти - задержал входы каждого следующего фифо на один такт, относительно предыдущего. Т.о. нулевое фифо заполняется до момента переключения первым, затем первое фифо и т.д. Как и ожидалось, выкачка началась с нулевого фифо, НО затем арбитр перепрыгнул на 7 фифо. Порядок данных на выходе важен, поэтому меня такой вариант не устраивает. Попытался разобраться в коде ядра, но с наскока ничего не вышло.
Сталкивался ли кто-то с таким поведением, и насколько оно соответствует принципу Round-Robin?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 20 2017, 10:58
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 945
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(Tausinov @ Dec 19 2017, 22:08) *
... На каждую пачку на входе арбитра ожидал увидеть на выходе пакеты последовательно с каждого из фифо, начиная с нулевого. Но! Первый раз выкачка началась не с нулевого, а со второго или третьего фифо. ...
Сталкивался ли кто-то с таким поведением, и насколько оно соответствует принципу Round-Robin?

Вполне соответствует - Round-Robin это всего лишь арбитраж с циклическим приоритетом для равновероятного доступа и он не гарантирует строго последовательный выбор каналов. Для этого надо самому контролировать последовательность выдачи данных с канальных FIFO.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
Tausinov
сообщение Dec 20 2017, 16:27
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 19-10-13
Пользователь №: 78 795



Цитата(RobFPGA @ Dec 20 2017, 13:58) *
Приветствую!


Вполне соответствует - Round-Robin это всего лишь арбитраж с циклическим приоритетом для равновероятного доступа и он не гарантирует строго последовательный выбор каналов. Для этого надо самому контролировать последовательность выдачи данных с канальных FIFO.

Успехов! Rob.



Понял, спасибо. Где-то в интернете набрел на похожую трактову Round-Robin, в итоге пришел к такому же выводу, но хотелось услышать стороннее мнение.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th January 2018 - 16:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01207 секунд с 7
ELECTRONIX ©2004-2016