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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> PCI-e и NIOSII, объединение PCI-e с процессорным ядром NIOSII
zzztop
сообщение Aug 10 2011, 14:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Всем доброго времени суток!
Тема заключается в следующем:
В связи с кривостью рук и тугостью мысли, не удаётся корректно обьеденить процессорное ядро NIOS II
и PCI Express Compiler.
"Поковырявшись" в PCI Express Compiler User Guide, предоставленном компанией Altera, был собран проект приведенный в нём с использованием DMA Рисунок 1.1.

Прикрепленное изображение

Рисунок 1.1. Система предлагаемая Altera

Взяв на базе системы являющейся примером производителя, была проведена попытка нагло втыкнуть вышеупомянутый компонент Рисунок 1.2.

Прикрепленное изображение

Рисунок 1.2. PCI Express Compiler вставлен в базовый проект-демонстрацию

Генерация в SOPCb проходит без ошибок, но при компиляции Quartus9.1 выдаются следующие ошибки:

Error: Input port datain of the GXB receiver channel PMA atom "bup_nios:bup_nios_inst|pcie_compiler_0:the_pcie_compiler_0|pcie_compiler_0_
serdes:serdes|pcie_compiler_0_serdes_alt4gxb_o08b:pcie_compiler_0_serdes_alt4gxb_
o08b_component|receive_pma0" must be connected to an input pin
Error: Output port dataout of the GXB transmitter channel PMA atom "transmit_pma0" must be connected to an output pin
Error: Input port datain of the GXB receiver channel PMA atom "bup_nios:bup_nios_inst|pcie_compiler_0:the_pcie_compiler_0|pcie_compiler_0_
serdes:serdes|pcie_compiler_0_serdes_alt4gxb_o08b:pcie_compiler_0_serdes_alt4gxb_
o08b_component|receive_pma1" must be connected to an input pin
Error: Output port dataout of the GXB transmitter channel PMA atom "transmit_pma1" must be connected to an output pin
Error: Input port datain of the GXB receiver channel PMA atom "bup_nios:bup_nios_inst|pcie_compiler_0:the_pcie_compiler_0|pcie_compiler_0_
serdes:serdes|pcie_compiler_0_serdes_alt4gxb_o08b:pcie_compiler_0_serdes_alt4gxb_
o08b_component|receive_pma2" must be connected to an input pin
Error: Output port dataout of the GXB transmitter channel PMA atom "transmit_pma2" must be connected to an output pin
Error: Input port datain of the GXB receiver channel PMA atom "bup_nios:bup_nios_inst|pcie_compiler_0:the_pcie_compiler_0|pcie_compiler_0_
serdes:serdes|pcie_compiler_0_serdes_alt4gxb_o08b:pcie_compiler_0_serdes_alt4gxb_
o08b_component|receive_pma3" must be connected to an input pin
Error: Output port dataout of the GXB transmitter channel PMA atom "transmit_pma3" must be connected to an output pin


Что подталкивает на мыслю что, что-то тут
1. криво законекчено в SOPCb.
2. неправильны выставлены параметры элементов.
3. 1 + 2 ...

Да, ещё, сам Builder (до генерации) выдаёт следующие варнинги точнее инфики:
Info: pcie_compiler_0: bar1_0_Prefetchable: PCI BAR Size = 512 KBytes - 19 bits, Avalon Base Address = 0x00100000, Avalon End Address = 0x0017ffff
Info: pcie_compiler_0: bar2_Non_Prefetchable: PCI BAR Size = 512 KBytes - 19 bits, Avalon Base Address = 0x00100000, Avalon End Address = 0x0017ffff
Info: ext_flash: Flash memory capacity: 32,0 MBytes (33554432 bytes).
Info: ext_flash_1: Flash memory capacity: 32,0 MBytes (33554432 bytes).
Info: pb_pio: PIO inputs are not hardwired in test bench. Undefined values will be read from PIO inputs during simulation.
Info: dip_pio: PIO inputs are not hardwired in test bench. Undefined values will be read from PIO inputs during simulation.
Info: pcie_compiler_0: A subset of PCI Express parameters is supported under SOPC Builder, see user guide for details.
Info: pcie_compiler_0: Native Endpoint implementation doesn't support I/O or 32-bit Prefetchable memory BAR types.
Info: pcie_compiler_0: Native Endpoint implementation requires MSI message 64-bit address capability.


Как понял посылают туда откуда начинал...
Всё бы ничего, но не совсем понятно человеку только начавшему етим "страдать" smile3046.gif

Кто - что может, толковое, посоветовать по мимо:"читай дадашит", "учи матчасть", "убейся Ап стену" и.т.д.?
заранее спасибо!

П.С. К сожалению проект довольно увесим и не может быть здесь выложен =(
П.П.С. не судите строго, я только учусь(пытаюсь wink.gif )

Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 10 2011, 15:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



судя по ошибкам, порты не замаплены на пины трансиверов. проверяйте соединения, особенно на верхнем уровне
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 11 2011, 07:03
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



А сама система правильно соединена?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 11 2011, 07:22
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(zzztop @ Aug 11 2011, 14:03) *
А сама система правильно соединена?

судя по Builder'у - да

вот несколько примеров, может пригодятся:
http://www.alterawiki.com/wiki/Modular_PCI..._Bridge_Example
http://www.alterawiki.com/wiki/Reference_D...DR3_PCIe_Gen1x8
http://www.alterawiki.com/wiki/PCI_Express...Example_Designs
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 11 2011, 07:30
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(vadimuzzz @ Aug 11 2011, 10:22) *


Ух-ты! спасибо, сейчас поковыряемwink.gif

Сообщение отредактировал zzztop - Aug 11 2011, 07:31
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Aug 11 2011, 08:06
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Цитата(zzztop @ Aug 11 2011, 11:30) *


Отрапортуйте пожалуйста чем все закончилось. У меня в перспективе тоже намечается работа с PCIex. Вот только не знаю стоит ли с ПЛИС связываться...
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 11 2011, 08:33
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(gosu-art @ Aug 11 2011, 11:06) *
Отрапортуйте пожалуйста чем все закончилось. У меня в перспективе тоже намечается работа с PCIex. Вот только не знаю стоит ли с ПЛИС связываться...


хорошо

а если у кого ещё какие проекты или мысли есть - постим=)
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 15 2011, 07:32
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(vadimuzzz @ Aug 10 2011, 18:01) *
судя по ошибкам, порты не замаплены на пины трансиверов. проверяйте соединения, особенно на верхнем уровне


Всем доброго времени суток!

Кажется до меня дошло как до жирафа...

В веду неправильного понимания всей системы построения, я решил что билдер генерирует готовое устройство со всеми входами, выходами и компонентами указанными в нём...
Но сравнив VHD "тело" проекта до и посли - подтолкнуло на мыслю что это - заблуждение... После чего вспомнил что в университете на лабораторных работах проходивших в скольз - помимо сборки, ещё вставлялся "какой-то" код с примечанием вам типа это не нада вставляем и не задаём вопросов т.к. лаб - много, времени - мало!

И так вопрос!:
правильные ли у меня рассуждения, что необходимо закодить в устройстве сам модуль или всё таки он на автомате подключается(<-ну это по ходу вАще тупо откуда он/квартус/ знает пины и т.д... )?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 15 2011, 07:59
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(zzztop @ Aug 15 2011, 14:32) *
И так вопрос!:
правильные ли у меня рассуждения, что необходимо закодить в устройстве сам модуль или всё таки он на автомате подключается(<-ну это по ходу вАще тупо откуда он/квартус/ знает пины и т.д... )?

билдер генерит hdl-файл модуля. дальше 2 варианта - либо вы его объявите в квартусе как top-level, тогда пины автоматом появятся. либо вставляете компонент в свой top-level, делаете соедниения какие надо и сами выводите пины
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 15 2011, 09:24
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(vadimuzzz @ Aug 15 2011, 10:59) *
билдер генерит hdl-файл модуля. дальше 2 варианта - либо вы его объявите в квартусе как top-level, тогда пины автоматом появятся. либо вставляете компонент в свой top-level, делаете соедниения какие надо и сами выводите пины


Смотрите...
после добавления в билдере PCI-e, появился компонент pci_compiler_0
ну и сопутствующие компоненты которые присутствовали до этого. В том числе и a2gx_bup_top.vhd который как я понимаю и есть основой проекта. То есть необходимо добавить компонент во всю систему которая является "a2gx_bup_top.vhd"?

А при установки элемента "pci_compiler_0" в топ-левл выдаёт ошибку что на кристале намного меньше выводов чем у девайса указаного выше

Error: Can't place 732 pins with 2.5 V I/O standard because Fitter has only 439 such free pins available for general purpose I/O placement
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 15 2011, 11:46
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



если у вас никакой логики вне системы, что генерирует SOPC Builder нет, то top-level будет имя_системы.v(hd)
если есть внешние цепи - делайте свой модуль и вставляйте в него модуль указанный выше (можно скопировать из заготовки имя_системы_inst.v(hd) ). не лезьте внутрь автоматически сгенерированных файлов.
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 15 2011, 12:11
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(vadimuzzz @ Aug 15 2011, 14:46) *
если у вас никакой логики вне системы, что генерирует SOPC Builder нет, то top-level будет имя_системы.v(hd)
если есть внешние цепи - делайте свой модуль и вставляйте в него модуль указанный выше (можно скопировать из заготовки имя_системы_inst.v(hd) ). не лезьте внутрь автоматически сгенерированных файлов.


О, кажется я наконец-то понял...

Значить, SOPCB с генерировал ядро которое является условно "полным", в него включено всё что было выбрано в билдере, в виде V(hd) файлов представленных деревом корнем которого является файл с расширением "имя в sopc".qip. И если на базе примера строить свою систему, тогда необходимо правым кликом мыши на "имя в sopc".qip и в выпадающем меню выбрать как Top-Level, после чего компиляция проходит без ошибок...

Теперь правильно? smile3046.gif
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 15 2011, 12:31
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



я не уверен насчет qip, возможно он автоматически подставляет правильный hdl-файл как top-level. я предпочитаю указывать hdl-файл верхнего уровня явно
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 15 2011, 13:12
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Цитата(vadimuzzz @ Aug 15 2011, 15:31) *
я не уверен насчет qip, возможно он автоматически подставляет правильный hdl-файл как top-level. я предпочитаю указывать hdl-файл верхнего уровня явно


ага, Вы правы...
просто не отображался в проекте hdl-файл...
И так и так - работаетwink.gif
осталось за "малым" - разобраться толком с протоколомwink.gif
Go to the top of the page
 
+Quote Post
zzztop
сообщение Aug 25 2011, 11:41
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-08-11
Из: Украина г.Киев
Пользователь №: 66 650



Товарищи, а кто-нибудь подскажет как организовать передачу чего либо от карточки к компу и чтобы это инициализировала сама карта( ну типа как прерывание отправить компу)?

Сообщение отредактировал zzztop - Aug 25 2011, 11:48
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 10:04
Рейтинг@Mail.ru


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