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

 
 
 
Reply to this topicStart new topic
> Вернемся к Avalon-MM Master, не хочет пакетами передавать...
torik
сообщение Feb 5 2009, 06:24
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Спецы, поясните суть процесса, представленного на рисунке. Почему чтение (см. datavalid) идет с такими большими промежутками?
система - Avalon-MM Master - clock crossing bridge - on-chip memory.
Если исключить clock crossing bridge (он добавлен для тестирования, так будет в реальной системе с DDR), то чтение идет непрервыно (оно и понятно...)
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Methane
сообщение Feb 5 2009, 06:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(torik @ Feb 5 2009, 08:24) *
Спецы, поясните суть процесса, представленного на рисунке. Почему чтение (см. datavalid) идет с такими большими промежутками?
система - Avalon-MM Master - clock crossing bridge - on-chip memory.
Если исключить clock crossing bridge (он добавлен для тестирования, так будет в реальной системе с DDR), то чтение идет непрервыно (оно и понятно...)

Если чтение из DDR, то нормально.
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 5 2009, 06:41
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Не, не нормально. Ведь чтение идет по последовательным адресам. Если вместо clock crossing bridge поставить pipeline bridge, то все выглядит вполне нормально. Проблемы именно с clock crossing bridge


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Methane
сообщение Feb 5 2009, 07:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(torik @ Feb 5 2009, 08:41) *
Не, не нормально. Ведь чтение идет по последовательным адресам. Если вместо clock crossing bridge поставить pipeline bridge, то все выглядит вполне нормально. Проблемы именно с clock crossing bridge

Для того чтобы читать по последовательным, там кажись нужно говорить что вы burst хотите. /* я мало читал про авалон */
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 5 2009, 07:58
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Burst - это другое - там вроде как подаешь начальный адрес, указываешь длину пакета burstcount и он выдает данные. Увы, результат совершенно тот же...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
Methane
сообщение Feb 5 2009, 08:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(torik @ Feb 5 2009, 09:58) *
Burst - это другое - там вроде как подаешь начальный адрес, указываешь длину пакета burstcount и он выдает данные. Увы, результат совершенно тот же...

Ну да. Вы указываете адрес. Указываете длинну пакета. Говорите "читать", и через некоторое (значительное) вы начинаете получать данные, причем уже с большой скоростью.
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 5 2009, 08:17
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Дык в том и дело, что, как и видно из картинки, нихрена подобного не происходит (у меня не burst, а pipeline transfer, но это без разницы) - данные идут не пакетом, а побайтно с бооольшим промежутком...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
vetal
сообщение Feb 5 2009, 09:21
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



На шине есть еще какой-нибудь мастер, подключенный к данному слэйву?
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 5 2009, 10:38
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Нет, на данный момент никого больше на шине нет.
Вот, собственно, сам проект. Сейчас там в SOPC стоит pipeline brige (32 бита) и он-чип память (16 бит). Поглядите в симуляторе - все выглядит как и положено.
Добавьте clock crossing bridge - сразу будет что-то ужасное...
Прикрепленные файлы
Прикрепленный файл  VideoReader.rar ( 743.17 килобайт ) Кол-во скачиваний: 29
 


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
murmel1
сообщение Feb 5 2009, 18:44
Сообщение #10


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

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



А у клок кроссинг бриджа есть режим пайплайн ? (Дома у меня квартуса нету)
А если есть, то включен ли он ?

А какая тактовая у самой памяти ?
Нет ничего удивительного, что clock crossing bridge работает с большой задержкой. Он теряет много тактов на ресинхронизацию данных между двумя тактовыми частотами, сначал адрес туда, потом данные оттуда. Но почему он не читает потоком, я сам не понимаю.

Вариант решения - собственная функция ресинхронизации. Могу выслать завтра.
Go to the top of the page
 
+Quote Post
id_gene
сообщение Feb 6 2009, 07:06
Сообщение #11


carpe manana
***

Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659



У waitrequest на диаграмме активный уровень какой?
Если 0, по почему после того, как он ушел (в районе адреса 0x028) вы не убрали запрос на чтение? Хотите читать дальше? И почему адресом болтали все это время?
Если 1, то вы успели набросать десяток запросов, прежде чем пришел waitrequest, и 11 до datavalid. В мосте буфер большой?
Может у вас слишком большая разница частот в обоих доменах?

Моделируйте ХДЛ.
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 6 2009, 07:33
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



waitrequest - активный высокий (запрос ожидания). Поэтому адрес меняется пока не выставлен сигнал ожидания. Буфер там достаточный...
Ошибка там в системе SOPC - мостом разделяю тактовые, а для памяти тактовую задал неправильно (не совпадает с мостом). Поправил - вижу болееменее нормальный результат.

Теперь что касается сигнала чтения. Он выставляется независимо от waitrequest, а зависит от требований моего устройства. В устройстве стоит ФИФО, когда оно незаполнено - выставляется сигнал чтения, фактически это запрос чтения. Когда буфер заполняется, сигнал снимается. Чтобы сигнал чтения не мешал работать всем остальным мастерам на шине, уровни заполненности ФИФО, при которых он устанавливается и сбрасывается - разные...
А чё, надо сигнал чтения снимать, когда waitrequest = 1?


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
murmel1
сообщение Feb 7 2009, 08:18
Сообщение #13


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

Группа: Свой
Сообщений: 166
Регистрация: 2-11-08
Из: Ростов-на-Дону
Пользователь №: 41 331



Цитата(torik @ Feb 6 2009, 10:33) *
А чё, надо сигнал чтения снимать, когда waitrequest = 1?

Ни в коем случае ! Того, кто вам это советует надо засадить читать спецификацию шины авалон ! Даже не читать - картинки смотреть!
Go to the top of the page
 
+Quote Post
torik
сообщение Feb 7 2009, 10:41
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Блин, проблема за проблемой smile.gif. Теперь еще данные 32 бит надо в 24 бит преобразовавыть...


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 15:20
Рейтинг@Mail.ru


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