FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5930 Discussions

PCIe + DMA project on DB4CGX15

Altera_Forum
Honored Contributor II
1,455 Views

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 II
497 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.
0 Kudos
Altera_Forum
Honored Contributor II
497 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?
0 Kudos
Altera_Forum
Honored Contributor II
497 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.
0 Kudos
Reply