Which data bits correspond to /UDS?

greenspun.com : LUSENET : ece342 : One Thread

There is no good mnemonic for this, so you just have to memorize it:

UDS <=> DATA(15 downto 8) <=> even address bytes (0,2,4...)

LDS <=> DATA(7 downto 0) <=> odd address bytes (1,3,5...)

For lab3 you are to implement 7:0, which means odd addresses using /LDS.

For those who are interested this choice of byte ordering is called Big-Endian. The term comes from the fact that you start from the 'big' end (i.e. most-significant byte) of a multi-byte entity when storing into memory (starting at the lowest memory location). So for example when storing a 32-bit (4-byte) longword the 'big' byte (31:24) goes at address 0, the next biggest byte (23:16) at address 1, etc.

In contrast Intel x86 CPUs have always used Little-Endian format which just serves to confuse people, but unfortunately there is no compelling reason to choose one over the other.


-- Robin Grindley (grindley@eecg.toronto.edu), February 01, 1999

Moderation questions? read the FAQ