
Bruce_Leonard@selinc.com wrote:
Hi Laurent,
Laurent Pinchart laurentp@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