Dear Friends,
I am in bring up phase of my custom designed board around DM6446. The board has two 128MByte DDR2 chips connected with DM6446 dedicated DDR2 interface.
My first board had a soldering issue. It has a short circuit between two pins DDR_RAS and DDR_D15 under the DSP. My first board was able to read and write to the DDR2 space 0x8000000 with some errors and one of the error was that D15 bit was always high. I had no choice of getting it fixed so i went to get my second board stuffed. I got my second board stuffed. The first thing i wanted to check on my 2nd board was the DDR interface. Now when i examine the DDR2 space (0x80000000) through XDS560R emulator then i see permanant or non editable values in the whole DDR2 space.
1. The 32bit hex value read at address 0x80000000 is either 0xFFFF0FFF or 0xFFFFFFFF
2. The 32bit hex value at next address (0x80000004) is always 0x00000000 and these two values repeat in entire DDR2 memory space
All of my DDR2 connections to DM6446 are through series termination resistors of 22 ohms.so i can probe all signals connecting with external DDR2 chips. I ran my ddr2 interface at different speeds: 126MHz, 135MHz, 195.75 MHz and the above mentioned behaviour of data is same for all speeds.
following is the observation of some of the DDR2 signals:
DDR_CK and DDR_CK#: pins output clock at rate defined in setup_pll_2( 0, 27, 13, 2 )/* 126Mhz*/ function defined in gel file.
DDR_RAS: stays high but periodically (at 137.346KHz) goes low for very short time
DDR_CAS: stays high but periodically (at 137.346KHz) goes low for very short time
DDR_WE: stays high but goes low only when a read or write is performed from XDS560 memory window.
DDR_CKE: seems to stay high all he time.
DDR_VREF: pin is at 0.9V (1/2 VDD_1.8)
Can somebody help me,. and tell me how should i debug DDR2 interface?
Regards,
Asim