[U-Boot-Users] Some RFCs about U-Boot's the generic FPGA support
Jerry Van Baren
gerald.vanbaren at smiths-aerospace.com
Wed Aug 22 19:33:47 CEST 2007
Bruce_Leonard at selinc.com wrote:
> Hi Laurent,
>
> Laurent Pinchart <laurentp at cse-semaphore.com> wrote on 08/22/2007 12:28:36
> AM:
>
>> Hi Bruce,
>>
>> ordering. UG322 sheds some light on the issue. D0-D7 are indeed MSB-LSB,
>
>> making the SelectMAP interface use the big-endian PPC bit ordering
>> convention.
>
> I'm with Matthaias, I've learned to refer to them as MSB/LSB on the list
> :). Avoids confusion.
In my experience, numbering the MSB as 0 is an IBM phenomenon. Where it
isn't a direct IBM artifact, if you dig you will likely find IBM's
influence (e.g. Mil-Std-1750 was heavily influenced by IBM, PowerPC is
an IBM architecture, I don't know about Jovial and Ada but suspect IBM
Federal Systems had their say in them).
I've read an explanation that makes sense to me, although it be a urban
legend. The first computers (many made by IBM) were used to compute
artillery trajectories and used fixed point math. Numbers were therefore:
2^ 0 = 1
2^-1 = 0.5
2^-2 = 0.75
...
so numbering the MSB...LSB as 0,1,2...31 (dropping the "-" sign) made
sense to the mathematicians who were writing the trajectory solving
programs.
>> to D7-D0 on
>> the FPGA. I'll go scold our hardware engineer :-)
>
> Don't scold him to hard. It's an easy mistake to make especially if
> you're used to everything being little endian. (I can say this because I
> am a HW engineer and I've made this mistake!)
Sometimes is is a Good Thing[tm], and sometimes you are screwed
regardless. :-/ Each case needs to be thought through carefully. The
whole issue is very confusing and it is awfully easy to chose wrong.
Then it is always "sorry, but the software will have to fix it." :-/
[snip]
gvb
More information about the U-Boot
mailing list