
TM1300 Data Book
Philips Semiconductors
C-2
PRODUCT SPECIFICATION
C.3
TEST TO VERIFY THE CORRECT
OPERATION OF TM1300 IN BIG AND
LITTLE ENDIAN SYSTEMS
The following test can be used to verify the correct oper-
ation of TM1300 in Little Endian and Big Endian systems.
1. Store a 32-bit constant ‘0x04050607’ from the host
CPU to the TM1300 SDRAM through the PCI inter-
face. Load the word from the same address to one of
the TM1300’s global register and check for the same
value.
2. Store a 32-bit constant ‘0x04050607’ from the host
CPU to the TM1300 SDRAM through PCI interface.
Load a byte from the same address to one of the
TM1300 global registers. Check for the value of ‘0x04’
in Big Endian systems, and check for the value ‘0x07’
in Little Endian systems.
C.4
REQUIREMENT FOR THE TM1300 TO
OPERATE IN EITHER LITTLE ENDIAN
OR BIG ENDIAN MODE
The endian-ness handling in each TM1300 unit is de-
scribed in the following sections. Most units use the high-
way/PCI bus to transfer data. The highway/PCI bus has
four byte lanes. The bit assignment of the highway/PCI
bus lanes is shown in Table C-2.
The PCI bus and TM1300 highway buses are address-
invariant buses, i.e the data corresponding to address
offset ‘0’ uses the byte-0 lane of the highway/PCI bus,
the data corresponds to address offset ‘1’ uses the byte-
1 lane of the highway/PCI bus etc.
C.4.1
Data Cache
The TM1300 PCSW register has a byte-sex (BSX) bit to
configure the TM1300 in Big Endian or Little Endian
mode.
This bit must be set to ‘1’ for the Little Endian
mode as defined in Chapter 3, “DSPCPU Architecture.”
This BSX bit is used by the TM1300 data cache unit for
the store/load operation. Data cache performs three cat-
egories of data transactions:
Read/write data from/to DSPCPU registers to/from
data cache or SDRAM
Read/write of MMIO data from/to DSPCPU registers
to/from MMIO registers
Read/write data from/to DSPCPU registers to/from
PCI address space through special registers in the
BIU unit.
The DSPCPU endian-ness is determined by the value of
the BSX bit in the PCSW register. Table C-1 and Table
C-3 describe the data translation format being used by
the data cache to transfer the data to/from DSPCPU reg-
ister to/from data cache or SDRAM. Table C-1 and Table
C-3 are restricted to addresses that fall in the
DRAM_BASE and DRAM_LIMIT range.
There is no byte-swap required for the MMIO data trans-
action from/to DSPCPU register to the MMIO registers.
However, one of the special registers, PCI_DATA, does
not follow the normal MMIO transactions. The data
cache byte-swaps the data to/from the PCI_DATA regis-
ter using the data translation format as defined in Table
C-1 and Table C-3 for the memory cycle.
For the PCI configuration cycle and I/O cycle transac-
tions from the DSPCPU, a programmer can byte-swap
the data in the DSPCPU registers and write to the
PCI_DATA register using MMIO write operations. There
is no byte-swap from the PCI_DATA register in BIU unit
to the PCI bus. Software uses the Table C-1 or Table C-
3 data to byte-swap the data within the CPU register be-
fore writing the data to the PCI_DATA register for the
configuration and I/O cycle transactions.
Table C-1. Little Endian data format in TM1300 DSPCPU register, highway, SDRAM memory, PCI bus, host
memory, host CPU register
PCSW-
BSX
value
Endian
Mode
Data Transaction
type
Address
Data in
DSPCPU
register
msb
lsb
Data in highway/
Dcache/SDRAM/
PCI-bus
byte3
byte0
[31:24]
[7:0]
Data in host
CPU register
msb
lsb
Data in host
memory
byte3
byte0
[31:24]
[7:0]
1
Little
Word r/w
00001000
01020304
1
Little
Half-Word r/w
00001000
xxxx0304
1
Little
Half-Word r/w
00001002
xxxx0304
0304xxxx
xxxx0304
0304xxxx
1
Little
Byte read/write
00001000
xxxxxx04
1
Little
Byte read/write
00001001
xxxxxx04
xxxx04xx
xxxxxx04
xxxx04xx
1
Little
Byte read/write
00001002
xxxxxx04
xx04xxxx
xxxxxx04
xx04xxxx
1
Little
Byte read/write
00001003
xxxxxx04
04xxxxxx
xxxxxx04
04xxxxxx
Table C-2. Bit assignment of the highway/PCI bus
lanes
byte 3
byte 2
byte 1
byte 0
Bits
31:24
23:16
15:8
7:0