FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6379 Discussions

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

Honored Contributor II

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-memory/ 


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

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.

0 Kudos

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

0 Kudos