RAMTester & PipeTest fail

Just got my XEM3010-1500 and was trying the samples. First/Counters work fine. but RAMTester and PipeTest report errors:

Console print out from RAMTester:

C:\Program Files\Opal Kelly\FrontPanel\Samples\RAMTester>ramtester
---- Opal Kelly ---- RAMTester Application v1.0 ----
FrontPanel DLL loaded. Built: Mar 10 2007 16:28:41
Found a device: XEM3010
Device firmware version: 3.0
Device serial number: xqQHJTxtXb
Device ID string: Opal Kelly XEM3010
FrontPanel support is enabled.
Generating random data…
Writing to memory…
Reading from memory…
[0] = 0xEF / 0x00 // 0xEF
[1] = 0x60 / 0x00 // 0x60
[2] = 0x51 / 0x00 // 0x51
[3] = 0x21 / 0x00 // 0x21
[4] = 0x7D / 0x00 // 0x7D
[5] = 0xF5 / 0x00 // 0xF5
[6] = 0x15 / 0x00 // 0x15
[7] = 0x8A / 0x00 // 0x8A
[8] = 0x61 / 0x00 // 0x61
[9] = 0x27 / 0x00 // 0x27
Passed: 0 Failed: 1
Generating random data…
Writing to memory…
Reading from memory…
Passed: 1 Failed: 1
Generating random data…
Writing to memory…
Reading from memory…
[0] = 0x02 / 0x00 // 0x02
[1] = 0x4B / 0x00 // 0x4B
[2] = 0x02 / 0x00 // 0x02
[3] = 0x1D / 0x00 // 0x1D
[4] = 0x3C / 0x00 // 0x3C
[5] = 0xFE / 0x00 // 0xFE
[6] = 0x08 / 0x00 // 0x08
[7] = 0xEE / 0x00 // 0xEE
[8] = 0x5F / 0x00 // 0x5F
[9] = 0x0F / 0x00 // 0x0F
Passed: 1 Failed: 2
Generating random data…
Writing to memory…
Reading from memory…
[0] = 0x09 / 0x02 // 0x0B
[1] = 0x43 / 0x4B // 0x08
[2] = 0x92 / 0x02 // 0x90
[3] = 0x1B / 0x1D // 0x06
[4] = 0xD1 / 0x3C // 0xED
[5] = 0xAB / 0xFE // 0x55
[6] = 0x58 / 0x08 // 0x50
[7] = 0x10 / 0xEE // 0xFE
[8] = 0x5E / 0x5F // 0x01
[9] = 0x07 / 0x0F // 0x08
Passed: 1 Failed: 3

Screen shop of PipeTest see attachment. Configure FPGA and Verify Transfer are ok but Test Pipe In and Test Pipe Out fail:


OpalKellyPipeTest.jpg (20.0 KB)

Please email support@opalkelly.com.

I have a similar result, except I never get a pass…

I have a XEM3001+RAM3001.

I need help making this RAM daughterboard work. All I need is a working sample for the XEM3001.

My steps were:

  1. Grab the Verilog code from XEM3010 Sample RAMTest directory.

  2. Grab the .ucf from the XEM3001 Sample RAMTest directory.

  3. Grab the .ngc files from the FrontPanel 3.0.8 HDL directory.

  4. Make the ramtest.bit file using ISE. Happy.

  5. Grab the C++ code from the XEM3010 Sample RAMTest directory.

  6. Grab the files from the FrontPanel 3.0.8 API directory.

  7. Make the RAMTest application. Happy so far.

  8. Put ramtest.bit in the same directory as RAMTest application.

  9. Slay a chicken, and… Run:

---- Opal Kelly ---- RAMTester Application v1.0 ----
FrontPanel DLL loaded. Built: May 22 2007 12:12:14
Found a device: XEM3001v2
Device firmware version: 3.0
Device serial number: thVhZObVEi
Device ID string: Opal Kelly XEM3001
FrontPanel support is enabled.
Generating random data…
Writing to memory(0)…
Reading from memory(0)…
[0] = 0xD9 / 0x00 // 0xD9
[1] = 0x06 / 0x00 // 0x06
[2] = 0xE0 / 0x00 // 0xE0
[3] = 0x56 / 0x00 // 0x56
[4] = 0x13 / 0x00 // 0x13
[5] = 0x0F / 0x00 // 0x0F
[6] = 0xA3 / 0x00 // 0xA3
[7] = 0x47 / 0x00 // 0x47
[8] = 0x35 / 0x00 // 0x35
[9] = 0x12 / 0x00 // 0x12
Passed: 0 Failed: 1
Generating random data…
Writing to memory(0)…
Reading from memory(0)…
[0] = 0x60 / 0x00 // 0x60
[1] = 0x68 / 0x00 // 0x68
[2] = 0xF1 / 0x00 // 0xF1
[3] = 0x71 / 0x00 // 0x71
[4] = 0x6C / 0x00 // 0x6C
[5] = 0x07 / 0x00 // 0x07
[6] = 0x3D / 0x00 // 0x3D
[7] = 0xF6 / 0x00 // 0xF6
[8] = 0xDA / 0x00 // 0xDA
[9] = 0xE2 / 0x00 // 0xE2
Passed: 0 Failed: 2
Generating random data…
Writing to memory(0)…
Reading from memory(0)…
[0] = 0x31 / 0x00 // 0x31
[1] = 0x45 / 0x00 // 0x45
[2] = 0xB3 / 0x00 // 0xB3
[3] = 0x1A / 0x00 // 0x1A
[4] = 0xBD / 0x00 // 0xBD
[5] = 0x1E / 0x00 // 0x1E
[6] = 0x95 / 0x00 // 0x95
[7] = 0xA8 / 0x00 // 0xA8
[8] = 0x8D / 0x00 // 0x8D
[9] = 0x07 / 0x00 // 0x07
Passed: 0 Failed: 3
Generating random data…

and so on…

-Slag

I suspect these problems to be related to initialization of the SDRAM.

Our (free) SDRAM controller does not include the initialization sequence to the SDRAM as recommended in the datasheet. We will add this soon, but I suspect the problems you’re having are due to the lack of init.

If you are pressed for time, you can add the sequence initialization to the SDRAM controller. It would only require the addition of a few states and the sequence is documented in the Micron SDRAM datasheet.

Thank you, I’ll go do that now

I’m having trouble finding the datasheet for the Micron MT48LC16M16A2-7E.

It appears they no longer make or support that part.

Can you point me in the right direction, or make available that information so that I may make your sample code work?

Thank you!

The full part number is: MT48LC16M16A2BG-75 : D

It is still an active, production part. You can see the datasheet here:
http://www.micron.com/products/partdetail?part=MT48LC16M16A2BG-75

Silly me, I was using the part name on your product sheet:

http://www.opalkelly.com/products/ram3001/

32MByte SDRAM (Micron MT48LC16M16A2-7E)

Thank you for all your help!

-Slag

Well, it’s the same part, really. The BG is the BGA suffix, P is the suffix for the device that is actually used on the RAM3001.

The : D is a die revision suffix.

Hi Slagerij,

Were you able to add the init sequence, and did it work ? - If so, could you mind posting the code changes

Thanks
chris

This init sequence is included in the latest release of our sample SDRAM controller code (RAMTester). FrontPanel 3.0.9 should include this in the source code.

I was getting failures with 3.0.8 and the pre-built .bit RAMtester file for the XEM3005. I’d get 2-3 failures out of 100 with the old Verilog code. It appears this was indeed due to the lack of proper SDRAM init (as per Micron data sheet). With 3.0.9 I haven’t seen any errors (at 100MHz) after several runs.

The fastest I can reliably get RAMTester to pass is with an (approx.) 155MHz clock, at room temp, in default system sync. mode. The SI isn’t bad on the DRAM_CLK (scope measured, 500MHz BW) even on the BRK board pin. I know from past experience that a MicroBlaze will run at 75MHz in a S3E, so a 2x DRAM clock just might work…

Perhaps we need to start an Over-Clockers forum with folks using liquid coolers and copper heatsinks. Something tells me Zalman doesn’t really recognize the XEM market yet, though.

When running RAMTester.exe after loading the bitstream through frontpanel, I get the following error message:

C:\Program Files\Opal Kelly\FrontPanel\Samples\RAMTester>RAMTester.exe
---- Opal Kelly ---- RAMTester Application v1.0 ----
FrontPanel DLL could not be loaded.

Any suggestion?

XEM3005.