|
|
  |
PCI-E интерфейс в Qsys на Cy IV GX, туториал по настройке |
|
|
|
Dec 14 2016, 18:55
|

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

|
Конечно, туториал из ug_pci_express.pdf не подошел имеющейся у меня отладочной плате по многим причинам, но тем не менее удалось сгенерировать систему, состоящую из одного лишь ядра IP Compiler (плюс altgx_reconfig и PLL в топ модуле):
Такая прошивка определилась в системе, однако у нее нет "региона памяти" (т.е. BAR0). Он видится только если подключить MM Slave типа памяти или тому подобного. А как работать с альтеровским PCI-E ядром БЕЗ таких извращений? В документации даже пишут: Цитата In the Qsys design flow, the PCI Base Address Registers (Type 0 Configuration Space) Bar Size and Avalon Base Address information populates from Qsys. You cannot enter this information in the IP Compiler for PCI Express parameter editor. Хочу как у Lattice и Xilinx просто слать TLP пакеты и принимать. Что же туда подцепить чтобы оно схватило размер для BAR0, и при этом легко писать/читать туда данные? FIFO может быть (один в одну сторону, другой в обратную на передачу)? Могу Nios2 туда воткнуть, но хочется ведь из своей простой логики слать TLP-пакеты.
--------------------
|
|
|
|
|
Dec 16 2016, 03:53
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Цитата(novartis @ Dec 16 2016, 00:27)  Чтобы слать TLP-пакеты из ПЛИС на комп нужно на порт txs подцепить модуль с Avalon Master. Неправильно написал. В данном варианте PCIE IP Core в порт txs вы запихиваете просто данные. Сама корка обертывает их tlp, то есть вам даже не нужно с tlp заморачиваться. Если же хотите самостоятельно формировать пакеты, заголовки для PCIE, то нужно сгенерить PCIE IP Core типа Avalon Streaming. Такой точно можно сгенерить с помощью мегавизарда, а в кусисе - надо смотреть.
|
|
|
|
|
Dec 19 2016, 06:50
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Вот мой файл прослойка для стратикса 4.
most_pcie_x8.vhd ( 24.5 килобайт )
Кол-во скачиваний: 85Компонент altpcierd_reconfig_clk_pll - альтеровский, прописан в .qip файле set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) ip_compiler_for_pci_express-library/altpcierd_reconfig_clk_pll.v ] Компонент pcie_rs_hip должен быть в сгенеренной папке pcie_x8_examples\chaining_dma
|
|
|
|
|
Dec 23 2016, 20:12
|

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

|
Цитата(novartis @ Dec 19 2016, 09:50)  Вот мой файл прослойка для стратикса 4. Спасибо! Это помогло. Теперь это похоже на адекватный интерфейс PCI-E ядра, с которым можно работать. Вся задача решилась без QSys, ядро видится в компьютере. Правда пока работает если загрузить комп, прошить ПЛИС и сделать ребут - только тогда видится. А если так не делать - загрузка ОС виснет. Ну думаю разберусь, что-то с резетами. Вот мой вариант подключения на Verilog:
test_altera__20161223.v ( 1.94 килобайт )
Кол-во скачиваний: 207Тут r_npor это регистр который изначально ноль, а когда пойдут клоки он чуть подержит и затем снимет сигнал сброса npor. Может это ужасное решение, но пока так  core_clk_out - это то, от чего мы должны тактить свою пользовательскую логику? И на прием и на передачу? Или только для приема. Это единственный тактовый выход из корки, и так написано в даташите, вроде верно.
--------------------
|
|
|
|
|
Dec 25 2016, 13:59
|
Знающий
   
Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032

|
Цитата(AVR @ Dec 24 2016, 06:42)  core_clk_out - это то, от чего мы должны тактить свою пользовательскую логику? И на прием и на передачу? Или только для приема. Это единственный тактовый выход из корки, и так написано в даташите, вроде верно. в общем да, надо его использовать. Я не использовал, но это из-за косяка в схеме, чтобы была совместимость с блоками, в которых была ошибка в подключении PCI-E.
--------------------
Россия это даже не страна. Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|