Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,009 Views

PCIe + DMA project on DB4CGX15

Hi all,  

 

I'm new in PCIe developing and want your help.  

I'm using DB4CGX15 evaluation board from DevBoards.  

I need to transfer data from outside to PC. The data is 32 bits width and clock is 85 MHz. 

Amount of data may vary from 150Mbytes up to unknown.  

 

DB4CGX15 is using PCIe x1 configuration, but the final project will support PCIe x2 Gen1.1. 

 

The main idea of the project is to use Hard IP core for PCIe and SGDMA with FIFOs.  

 

The QSYS system contains: 

  • PCIe IP core 

  • SGDMA (32bits) with enabled packet transfers 

  • Avalon-ST dual clock FIFO (32 bits) with packet transfers 

  • PIOs for registers (connected to BAR0) 

 

 

Quartus (12.1) contains: 

  • QSYS compiled block 

  • PLLs 

  • Dual clock FIFO for clock synchronization 

 

 

What i have tried and succeeded: I have connected only 8 bit data stream with 60MHz clock to first FIFO (in quartus). Output of FIFO is 32 bits with 30MHz clock has connected to Avalon-ST dual clock FIFO.  

This system has worked successfully. When i raised stream clock to 85 MHz, i received broken data (for example some bytes in a middle of a data were missing). 

 

Now i want to receive 32 bits of data stream. My suggestion is to use several SGDMA controllers (2 or 4) and put them in queue reading.  

 

Does anyone has better suggestion for my project?  

 

Another problem that i can't fully understand is a principle of work of Avalon-ST FIFO. I have built controller to control signals like start of packet/end of packet/ready/valid/empty but still not sure that my controller is working properly. 

I found documentation for this FIFO, but there is no any explanation for correct sequence of signals.  

 

Any help will be appreciated.
0 Kudos
3 Replies
Altera_Forum
Honored Contributor I
51 Views

 

--- Quote Start ---  

hmmm that's looks challenging so i'd like to search about it and let you know 

--- Quote End ---  

 

Thanks!  

 

I found documentation for Avalon-ST interface, all control signals are described there, but still not fully clear.  

 

I'm trying now to use Packet/Data/Channel ST adapters, i hope that it will help.
Altera_Forum
Honored Contributor I
51 Views

When I try to compile PCIe32Bit_refdesign.qpf ( downloaded from www.devboards.de (http://www.devboards.de) and no changes made ) in Quartus 12.1 it produces an error: Error (12006): Node instance "iSOPC" instantiates undefined entity "sopc_test". 

What could be the cause of the problem?
Altera_Forum
Honored Contributor I
51 Views

 

--- Quote Start ---  

When I try to compile PCIe32Bit_refdesign.qpf ( downloaded from www.devboards.de (http://www.devboards.de) and no changes made ) in Quartus 12.1 it produces an error: Error (12006): Node instance "iSOPC" instantiates undefined entity "sopc_test". 

What could be the cause of the problem? 

--- Quote End ---  

 

 

Hi, 

 

Recheck names of your instances.  

"sopc_test" instance is missing or has different names in declaration and file name.  

If you are trying to compile existing project (not your project), there is may be missing "sopc_test" folder. 

 

Dima.
Reply