Hi,
We have a need for clarification that it is safe to ease layout routing by doing some swapping of signals *within* DDR3 data bus bytes?
Background:
Pinswap is used to ease PCB layout. If the traces cross each other after placement.
It can be used on most FPGA pins.
On a static SRAM you can swap between all data bits, if you do not use byte enables. If you use byte enable you can swap between any bits within each data byte. You can also swap between address bits on a static SRAM.
Eg. connect D2 on the controller with D6 on the SRAM and D6 on the controller with D2 on the SRAM.
On DDR2 you can not swap between address bits for several reason, one is the burst access sequence and the internal ras/cas, another is that address bits are used to setup the DDR2 chip parameters after power up.
I have not had the time, nor the access to the DDR3 standard to read up on this issue on DDR3.
I am sure you can not swap address bits on DDR3 due to burst, ras/cas and setup.
I am also pretty sure you can not swap databits between data bytes as each byte has its own DQS.
But it may be possible to do pinswap within each data byte?
The only reason to not allow pinswops inside a databyte on DDR3 should be if some databits are used during the initial setup phase.
Thanks for advicing asap
/Magnus