Damn you really have to do the ''remember me'' option when logging in when typing long messages. At least this time my message didn't leave me and I had also copied it:)
--- Quote Start ---
This should give you an idea of how "complex" things can become
--- Quote End ---
It sure does, it keeps surprising me how people come up with really big or complex designs. I sometimes think; they must have been breeding on these things for years. How else would you think of such a thing? It's amazing.
--- Quote Start ---
What do you mean "I believe"?
--- Quote End ---
I believe, because I still wasn't sure if it was the same. But now I am pretty sure it has to be done that way.
I think I would never say I am 100% confident that it is true.
--- Quote Start ---
If you plan on supporting; AXI, Avalon, and Wishbone, then you will have a lot of work to do.
--- Quote End ---
Supporting Wishbone is the 'only' requirement for now(I have half a year to work on this), so that would mean every component interfacing with the wishbone needs to have signals like ADR_o/ADR_I, Dat_i/Dat_o etc. I think you understand which signals I mean. So if I define they have to have these signals, or else I will not support that block. Than I can put those signals in the right place easier, than when I need to support all and everything. Those Ip block that are going to be used have to be changed anyway, so they can be changed in the way I want them.(as far as it is possible ofcourse, I cannot just remove a pin the device needs to work properly for example)
--- Quote Start ---
If you want people using those tools to use your components, then you have to supply the bus interfaces acceptable to those vendors.
--- Quote End ---
I am not sure if you don't understand what I have to make, or I don't understand what you mean. I think you mean by this I have to supply the components to the user so that they can play with their FPGA in a way you do when you are figuring out HDL's. So they try to put some component in their design and hope it workd, the way they have connected it.
But what I need to supply is really the whole design, so other people will make the ip-blocks compatible to my program. And my program needs to use these components to make a design, so that the user can put it in their FPGA and see what happens.
--- Quote Start ---
No, its not up to the user to decide. The decision has already been made by the FPGA vendor.
--- Quote End ---
It is not only the FPGA vendor, but also the makers for the IPblocks. So since the IPblocks have to comply with my definitions, one can make a component that supports one of the other bus protocols instead of wishbone. But that was an extra part, and I think it is hard enough to do it without that extra buschoice, so maybe I could better leave that part where it is.
--- Quote Start ---
The FIFOs are in there to decouple clock domains and implemented data flow control
--- Quote End ---
Ah that makes sense, I will read it once again with that information and see if I will understand it the right way.
--- Quote Start ---
For example, if a user has a board plugged into their PC, it might not be possible to access the JTAG connector
--- Quote End ---
Do you mean with the JTAG connector, that pin on the FPGA itself? Or that connector to put the cable on/in, so that it can be boundary-scan tested?
--- Quote Start ---
If that same board is using the FPGA as the PCIe interface, then not all FPGAs support being reprogrammed without cycling power of the user PC
--- Quote End ---
What do you mean with ''cycling power'' of the user PC? turning the PC on and of? If so, why would that be neccesary?
I hope I didn't mess up the explanations so that you now really don't have a clue anymore about what I am doing. But the answers you give help a lot too, so that might not be the worst case.