[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