FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5886 Discussions

Cyclone V GT Avalon-MM DMA Reference Design Read/Write Timeout

Altera_Forum
Honored Contributor II
1,185 Views

Hello, I am struggling to determine what is wrong with my Cyclone V GT setup here. When I run the software provided with the example, every read/write seems to time out upon inspection with dmesg.  

 

To summarize, I'm running Ubuntu 16.04 with Quartus version 18.0.  

 

I'm running the example provided at https://cloud.altera.com/devstore/platform/17.0.0/standard/pcie-avmm-dma-gen2x4-on-chip-and-external... 

 

I downloaded the project, successfully used the ip upgrade tool, successfully compiled, and used USB Blaster II to write the .sof file to the board. The board shows up with an lspci and after managing to get the driver to compile, I ran it in terminal successfully. However, this is where I start to encounter issues.  

 

 

I run it with sudo ./run and get the correct terminal menu. However, when I run option "8) loop dma", the software crashes. A relevant portion of the output from dmesg is in dmesg.txt. (UPDATE: probably should look at dmesg2.txt in the following post instead). 

 

When I run option "8) loop dma" or option "1) start DMA" with any number of dwords or any combination of reads, writes, and simultaneous, the output of dmesg is pretty much the same as: 

 

[ 3935.988482] Read DMA times out 

[ 3935.988484] DWORD = 00000200 

[ 3935.988485] Desc = 00000080 

[ 3936.151718] Write DMA times out 

[ 3936.151719] DWORD = 00000200 

[ 3936.151720] Desc = 00000080 

[ 3936.332928] Simultaneous DMA times out 

[ 3936.332928] DWORD = 00000200 

[ 3936.332929] Desc = 00000080 

 

 

but no error or indication of anything wrong happens outside dmesg from option 1). It updates "Read Time," "Read Throughput," etc. with different values.  

 

 

One other thing that I find confusing is the verbose output from lspci. Here it is: 

 

$lspci -v | grep Altera -A 5 

01:00.0 Non-VGA unclassified device: Altera Corporation Device e003 (rev ff) (prog-if ff) 

!!! Unknown header type 7f 

Kernel driver in use: Altera DMA 

 

 

From other posts I've seen, I would think that this should actually output something more like this: 

 

sudo lspci -vvv -s 02:00.0 

02:00.0 Non-VGA unclassified device: Altera Corporation Device e003 (rev 01) 

Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ 

Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 

Latency: 0, Cache Line Size: 64 bytes 

Interrupt: pin A routed to IRQ 40 

... and so on 

 

 

Can someone help me figure out what's going wrong here and how I can fix it? 

 

 

Thank you for your time, 

 

Best regards, Alex
0 Kudos
2 Replies
SSilu
Beginner
354 Views

I also stuck at similar problem. Some time after heavy usage of PCIe interface my Arria FPGA is purged from PCIe bus. When I read configuration space I only get 0xffffffff, and lspic output is '!!! Unknown header type 7f'. I use Quartus 18.1. Does anybody have idead how to debug it? As dmesg output does not provide anything usefull.

leozzz
Beginner
206 Views

same setup and same issue here, any solution for this?

Reply