[U-Boot-Users] Some RFCs about U-Boot's the generic FPGA support
Matthias Fuchs
matthias.fuchs at esd-electronics.com
Wed Aug 22 09:59:49 CEST 2007
Hi Laurent,
you cannot imagine how many grey hair this bit naming and numbering convention
cost me. I learned to never use D0/7 when meaning MSB/LSB:-)
On Wednesday 22 August 2007 09:28, Laurent Pinchart wrote:
> > I must respectfully disagree. In my design, if I mirror in the code the
> > FPGA does NOT load. In a PPC, D0 is the MSB, NOT the LSB. In a Spartan 3
> > FPGA, D0 is the MSB, NOT the LSB. Therefore if you connect your bus
> > straight across between the PPC and the Spartan 3 FPGA, AND do mirroring
> > in the code, your FPGA will not load.
>
> I got a similar design, except that D0-D7 on the PPC are connected to D7-D0 on
> the FPGA. I'll go scold our hardware engineer :-)
Sometimes it's even worth as softwa/orkers to review schematics when you
know that you will get the board on your desk for writing software :-)
(But do not sign anything or the hardware engineer will scold you afterwards.)
> With a properly connected bus between the processor and the FPGA, bit reversal
> is thus not needed when loading a .bit file (fpga loadb) or a non mirrored
> PROM file (fpga load).
BTW, you can even load a .bit file using fpga load because the FPGA will
discard the header.
>
> For hardware with bit mirroring on the bus, I suggest either using a mirrored
> PROM file or mirroring the bit in the data write callback. I thus vote for
Ack
> removing bit mirroring in fpga_loadbitstream() and adding an explanation of
Ack. So all the malloc and the timeconsuming loop code will disappear. Yippi!
> this issue (either in the code or in the documentation) to prevent hardware
> mistakes in future designs.
Good idea. But do you think that hardware engineers will read through the
cmd_fpga.c file?
I will cleanup my changes and submit a patch soon.
Matthias
More information about the U-Boot
mailing list