FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
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.


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