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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> MicroBlaze (Vivado 2015.1), beginner questions
doom13
сообщение Aug 11 2015, 10:31
Сообщение #31


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора.
MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования?

PS
Судя по тому, что память не читается, так делать нельзя?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Alex77
сообщение Aug 11 2015, 13:08
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695



Цитата(doom13 @ Aug 11 2015, 13:31) *
В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора.
MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования?

PS
Судя по тому, что память не читается, так делать нельзя?

Я что то не понял.
Почему ( зачем ) используется ДВА "процессор систем ресет" ???
и до кучи две тактовых clock и mem_clk ???
ps "в теории" axi-шина допускает использование различных тактовых на своих шинах. однако я не помню (надо читать) какие они должны быть (тактовые) кратные ? или совсем асихнхронные ?
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 12 2015, 06:05
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(Alex77 @ Aug 11 2015, 16:08) *
Я что то не понял.
Почему ( зачем ) используется ДВА "процессор систем ресет" ???
и до кучи две тактовых clock и mem_clk ???

В проекте используется PCIe мост, который работает от одного источника тактирования, а вся остальная периферия (Timer, GPIO, ...) от другого. Через AXI Interconnect мост имеет доступ к регистрам GPIO, Timer и всё нормально работает. MicroBlaze имеет общий источник тактирования со всей периферией и прекрасно с ней работает. Начал добавлять в систему CDMA и задумался, правильно ли что на AXI мастер и слейв находятся в разных клоковых доменах?

Цитата(Alex77 @ Aug 11 2015, 16:08) *
ps "в теории" axi-шина допускает использование различных тактовых на своих шинах. однако я не помню (надо читать) какие они должны быть (тактовые) кратные ? или совсем асихнхронные ?

Тут у меня используются одинаковые частоты, но от разных генераторов.
Go to the top of the page
 
+Quote Post
kaktus
сообщение Aug 12 2015, 07:28
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 5-05-05
Из: Санкт-Петербург
Пользователь №: 4 756



Цитата(doom13 @ Aug 11 2015, 13:31) *
В системе есть память, которая тактируется от отдельного генератора. MicroBlaze и вся остальная система тактируется от другого генератора.
MicroBlaze через блок AXI Interconnect имеет доступ к данной памяти. Учитывает ли блок AXI Interconnect, что в системе два источника тактирования?
PS
Судя по тому, что память не читается, так делать нельзя?


Вообще-то работать должно и интерконнект должен все учитывать. В плане исследования можно открыть "плюсиком" сам блок интерконнекта и его составляющие и посмотреть где он вставил клок конвертеры, а где еще чего (Это я в соседней теме негодовал, что вивадо ругается на xdc этих самых конвертеров).
Прикрепленное изображение

Потом, можно посмотреть на Synthesis - Report Clock Interaction.
За последние дни я уже успел столкнуться с ситуацией, когда одно из периферийных устройств подвешивало, при обращении к нему, Микроблейз. Пересобрал проект заново - все работает. Возможно где-то что-то изменил по мелочи, а может эффект сборки с чистого листа. (Чистить директории по Вашему совету пока не пробовал). Система у меня аналогичная: PCIe (ядро 2.6), DMA (будет), Ethernet.
В предыдущей версии Вивадо сталкивался с ситуацией, когда во время работы над периферией, при уменьшении/увеличении количества портов в блоке интерконнект внешне все нормально, а внутри порты оставались подвешенными в воздухе.

Еще обратите внимание, что в интерконнекте в настройках можно FIFO добавлять для отдельных портов, что может быть полезным при различных частотах Master/Slave.
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 12 2015, 08:07
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(kaktus @ Aug 12 2015, 10:28) *
Вообще-то работать должно и интерконнект должен все учитывать. В плане исследования можно открыть "плюсиком" сам блок интерконнекта и его составляющие и посмотреть где он вставил клок конвертеры, а где еще чего (Это я в соседней теме негодовал, что вивадо ругается на xdc этих самых конвертеров).

Да, спасибо, клок конверторы ставит. Похоже, это опять был какой-то фокус Vivado + SDK. Удалил всё из папки .sdk, пересобрал и экспортировал новое железо - работает, память читает.

Цитата(kaktus @ Aug 12 2015, 10:28) *
Потом, можно посмотреть на Synthesis - Report Clock Interaction.
За последние дни я уже успел столкнуться с ситуацией, когда одно из периферийных устройств подвешивало, при обращении к нему, Микроблейз. Пересобрал проект заново - все работает. Возможно где-то что-то изменил по мелочи, а может эффект сборки с чистого листа. (Чистить директории по Вашему совету пока не пробовал). Система у меня аналогичная: PCIe (ядро 2.6), DMA (будет), Ethernet.
В предыдущей версии Вивадо сталкивался с ситуацией, когда во время работы над периферией, при уменьшении/увеличении количества портов в блоке интерконнект внешне все нормально, а внутри порты оставались подвешенными в воздухе.

Вот у меня ситуация с подвисанием MicroBlaze получалась при обращении к памяти для системы приведённой на рисунке выше. Её собрал для проверки (на чём-то простом), как будет работать при наличии разных источников тактирования в системе.

Цитата(kaktus @ Aug 12 2015, 10:28) *
Еще обратите внимание, что в интерконнекте в настройках можно FIFO добавлять для отдельных портов, что может быть полезным при различных частотах Master/Slave.

Спасибо, учту такую возможность.
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 20 2015, 11:58
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Есть передатчик AXI-Stream трафика, работает на частоте X MHz. Хотел даннае от него запихнуть в FIFO, а из FIFO их забирать при помощи CDMA на частоте Y MHz. Посмотрел все варианты FIFO в IP Catalog, но нужного мне не нашёл. У всех один порт - slave (вход данных), второй - master (выход данных).
Нужен совет, что использовать в данной ситуации? Как вообще FIFO повесить на AXI Interconnect?
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Aug 20 2015, 18:21
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Цитата(doom13 @ Aug 20 2015, 14:58) *
Есть передатчик AXI-Stream трафика, работает на частоте X MHz. Хотел даннае от него запихнуть в FIFO, а из FIFO их забирать при помощи CDMA на частоте Y MHz. Посмотрел все варианты FIFO в IP Catalog, но нужного мне не нашёл. У всех один порт - slave (вход данных), второй - master (выход данных).
Нужен совет, что использовать в данной ситуации? Как вообще FIFO повесить на AXI Interconnect?


AXI DMA (не путать с CDMA и VDMA) имеет два канала AXI Stream (туда-обратно) и соответствующие каналы MM в память. Либо есть AXI4-Stream FIFO, тоже должно вам подойти.


--------------------
Go to the top of the page
 
+Quote Post
doom13
сообщение Aug 26 2015, 15:01
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(dm.pogrebnoy @ Aug 20 2015, 21:21) *
AXI DMA (не путать с CDMA и VDMA) имеет два канала AXI Stream (туда-обратно) и соответствующие каналы MM в память. Либо есть AXI4-Stream FIFO, тоже должно вам подойти.

Нашёл эти ядра, спасибо, что-то сразу не разобрался с их настройками. В системе уже есть ядро CDMA, получится ли с его помощью забирать данные из FIFO (AXI4-Stream FIFO v4.1)? Смотрю доку (pg080) там какая-то хитрая последовательность для чтения, или тут просто перед запуском CDMA читаем нужные регистры FIFO, а потом DMA выгребает данные?
Возможно, лучше разобраться и использовать для этой задачи (сообщение #36) DMA?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 8th July 2025 - 02:07
Рейтинг@Mail.ru


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