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

 
 
 
Reply to this topicStart new topic
> PCIE IP и CycloneIV
Torika
сообщение Jan 20 2016, 06:59
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 19-01-16
Пользователь №: 90 101



Здравствуйте!

Необходимо реализовать прием, обработку и пересылку данных на ПЛИС CycloneIV через интерфейс PCIE. В QSys собрал системы, согласно примерам от Altera. Параметры PCIE IP приведены на рисунке. Возник ряд вопросов.

Q1: Я правильно понимаю, что настройку/управление/чтение_состояния блоков PCIE и DMA я могу сделать во внешнем модуле (без использования NIOS), через второй порт onchip-memory
(записывая и читая слова по соттветствующим смещениям, согласно описаниям на PCIE IP и DMA)?

Q2: Не смог для себя уяснить некоторые моменты с настройкой PCIE IP. В каких случаях использовать 64-бит BAR type, а в каких 32-бит? Я правильно понимаю, что при использовании 64-бит BAR TYPE,
трансляции адресов не происходит, а при 32-бит BAR TYPE старшие 32 бита добавляются из таблицы адресов трансляции?

Q3: Использование fixed translation table отличается от dynamic лишь тем, что dynamic необходимо вначале настраивать через CRA, а fixed жестко задается при генерации системы?
Параметр size of address pages определяет размер адресуемой памяти для данных?

Q4: Карта адресов. В первой колонке показан общей размер onchip-memory - 64 кБ. Из второй видно, что для обращения к регистрам PCIE используются
адреса 0x0000_0000 - 0x0000_3FFF, к регистрам DMA адреса 0x0000_4000 - 0x0000_401F. Я правильно понимаю, что если через порт S2 on-chip memory
прочитаю данные по адресу 0x0000_0000, что получу следующие параметры PCIE: Command, Status, Vendor ID, Device ID ? Соответственно при обращении по
адресу 0x0000_4001 получу следующие параметры DMA: Write master start address + Read master start address. Правильно?
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 13 2016, 16:21
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Отвечу в теме, хотя и сам новичок и многое не понимаю sm.gif

Цитата(Torika @ Jan 20 2016, 09:59) *
Q1: Я правильно понимаю, что настройку/управление/чтение_состояния блоков PCIE и DMA я могу сделать во внешнем модуле (без использования NIOS), через второй порт onchip-memory
(записывая и читая слова по соттветствующим смещениям, согласно описаниям на PCIE IP и DMA)?

Например, для Lattice PCI-E IP я работаю вообще без каких либо процессоров в режиме DMA, вообще не вижу смысла в процессоре там, если проект простой. Возможно, для альтеровской IP для PCI-E можно также поступить...

Цитата(Torika @ Jan 20 2016, 09:59) *
Q2: Не смог для себя уяснить некоторые моменты с настройкой PCIE IP. В каких случаях использовать 64-бит BAR type, а в каких 32-бит? Я правильно понимаю, что при использовании 64-бит BAR TYPE,
трансляции адресов не происходит, а при 32-бит BAR TYPE старшие 32 бита добавляются из таблицы адресов трансляции?

Я использую адрес из одного 32-битного BAR исключительно для MMIO, эта область у меня вообще всего-лишь 4096 байт. Это для настройки. Для чего там 64 бита не представляю...

Цитата(Torika @ Jan 20 2016, 09:59) *
Q3: Использование fixed translation table отличается от dynamic лишь тем, что dynamic необходимо вначале настраивать через CRA, а fixed жестко задается при генерации системы?
Параметр size of address pages определяет размер адресуемой памяти для данных?

Это разве не проблема хоста транслировать адреса, или я что-то не понял? При выделении буфера разве ОС не заботится чтобы драйвер получил свой адрес, а устройство - соответствующий ему адрес? В случае x86, разве не хост делает это действие по трансляции адресов?


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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