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


Honored Contributor II


I simulated the PCIe Gen3x8 MM-DMA example design and everything works fine. I use the Quartus Prime Pro Edition Version 16.1 and ModelSim Starter Edition 10.5b. 

# INFO: 71202 ns Passed: 0128 same bytes in BFM mem addr 0x00000000 and 0x00004000 # INFO: 71202 ns Passed: 0128 same bytes in BFM mem addr 0x00000080 and 0x00004080 # SUCCESS: Simulation stopped due to successful completion! 


But now I want to create my own read/write descriptors and my own data inside the shared RAM from the BFM. The problem is that many files are encrypted and I can't find any documentation about same kind of API or driver for the BFM. 

I found some information about a "driver file" but the file altpcietb_pipe32_driver.v is encrypted. 


So, my question is: Is it possible to create user specific descriptors and data. Is there are some kind of API? It is possible to initiate my own TLPs? I hope I dont' have to write a separate BFM. 

I will use this example design as a starting point to create my own application and I want to write my own test cases.  


I would be grateful for any hints 






I believe that the user guides and the example designs are out of sync. The documentation (UG-01145-MM 2016.10.31) for the BFM shows that there are two files: 'altera_avalon_dma' and 'altpcietb_bfm_driver_avmm'. But I cannot find these files. 


Now, I have simulated the PCIe Gen3x8 MM-DMA example design with external descriptor controller and I have found this file: altpcietb_bfm_rp_gen3_x8.sv 78066 lines of code! Several tasks, functions and entities in one big "fu#ing" file. The 'main' process starts at line 3299. This process calls some kind of test cases. This is the starting point to write own tests.
0 Kudos
0 Replies