--- Quote Start ---
The feature I need is that I'm able to simulate my Qsys system just the way it behaves like if it is connected to the HPS of a Cyclone V device.
--- Quote End ---
As a practical matter, I think the HPS system uses AXI, so if you are creating Avalon-MM slaves, Qsys will insert AXI to Avalon-MM conversion logic. However, as far as simulation and verification goes, using an Avalon-MM BFM to test Avalon-MM slaves is just fine.
--- Quote Start ---
Right now, my main problem is the addressing of registers inside my components.
If I want to address subsequent registers of my components from the HPS, I have to increment the HPS address by 4. Additionally, I have implemented an Avalom MM Master in my Qsys system that runs "free", say without any connection to the HPS and reads data out of avalon MM slaves of my custom components in order to serialize them and stream them via the DMA of the HPS to the Linux system on the HPS. Anyway, this master component also has to increase the addresses by 4 if it wants to read subsequent data words out of my components.
--- Quote End ---
That is to be expected; read the Avalon-MM Interface Specification (again). Avalon-MM masters use "byte addressing", whereas slaves use "word addressing", so an Avalon-MM master accessing a 32-bit Avalon-MM slave 32-bits at a time, needs to increment its (byte-based) address by 4-bytes each time.
--- Quote Start ---
Right now, I simulate my data transfers with hand written testbenches that lack the interconnet logic of the Avalon bus. In my testbenches I have to increment the address by 1 if I would like to read subsequent data from my components. So I have to "adjust" something in my test models in order to simulate. But if I do this, I do not test the system anymore that will finally run in the finished design.
--- Quote End ---
In my point-to-point testbenches I connect the byte-based address to the master, then drop the LSBs and connect the word based address to the slave, and then add a note that this corresponds to the job of the non-existent Avalon-MM fabric.
--- Quote Start ---
What I also think is a neat feature of the BFMs is that it is integrated in Qsys.
--- Quote End ---
Yep, that is why I use it.
--- Quote Start ---
From the first glance at your BFMs I cannot tell, if they fit my above mentioned requirements/wishes. Maybe you can answer that in a sentence, or two.
--- Quote End ---
They do. Qsys is dumb though and does not handle records as top-level I/O ports. To use my BFM with a Qsys system, you basically export a master interface, and then connect the BFM outside the Qsys system. Its a simple work-around.
Cheers,
Dave