What is the recommended methodology to create and use AHB/APB/AXI custom components inside Qsys?
In order to design and use APB/AHB/AXI custom components inside Qsys the following things must be clarified:
1. Does Qsys interconnect support these interfaces?
2. How does one interconnect components that have different interfaces on the two ends from APB/AHB/AXI/Avalon and make them work successfully?
3. How is the "address space" resolved in this case?
4. What are the disadvantages/drawbacks of creating a system that has mixture of components with these different buses? I assume that there would be certain clashes since they do not work in identical manner.
Very importantly:
5. Does Qsys contain BFMs to help verify APB/AHB/AXI custom "master" and "slave" components? I can see there are a lot of AXI BFMs but will have to figure out why we need so many.
And finally:
6. What are the official recommended guidelines for creating such a design in Qsys?
Any advice on this issue would be great. Intel FPGAs have superior debug tools than some other vendors. However, use of non-Intel FPGAs may be required to due project constraints. In this case, one can create and verify the design functionality inside Intel FPGA and then port it to the other device. This is why this question is important since Avalon is only supported inside Intel FPGAs. The design does not contain HPS.