SVEC Bootloader FPGA CR/CSR space
The current version of the bootloader provides an incorrect CR/CSR.
It answers only to addresses within 0x70000 and 0x70020; those addresses
are used then to program the big FPGA with our real application. This is
fine, but incorrect:
- it does not respect the VME standard
- 0x70000, 0x70020 are magic addresses that software developer must hard-code in the low level software. The correct solution should be to take these values from their standard place in the CR space.
Fixing this can bring the following advantages:
- it becomes standard :)
- the programming addresses can be auto-discovered from the CR definition
- the low level software can distinguish between the bootload FPGA and an application FPGA by using the CR. [1]
So, if it fits the small FPGA, the bootloader should have a proper CR space.
[1] the vendor, device, and revision ID should depend on the gateware that we load and not on the hardware plugged (the svec).