SDRAM Library

SDRAM Library

The XMOS SDRAM library is designed for read and write access of arbitrary length 32b long word buffers at up to 62.5MHz clock rates. It uses an optimized pinout with address and data lines overlaid along with other pinout optimizations to implement 16 bit read/writes to Single Data Rate (SDR) SDRAM devices of size up to 256Mb, while consuming a total of just 20 xCORE I/O pins.

Features

The SDRAM component has the following features:

  • Configurability of:
    • SDRAM capacity
    • clock rate (62.5 to 25MHz steps are provided)
    • refresh properties
  • Supports:
    • read of 32b long words
    • write of 32b long words
    • one or more clients
    • asynchronous command decoupling with a command queue of length 8 for each client
    • refresh handled by the SDRAM component itself
  • Requires a single core for the server
  • Requires 500MHz core clock operation

Components

  • SDRAM server
  • Memory address allocator

Resource Usage

This following table shows typical resource usage in some different configurations. Exact resource usage will depend on the particular use of the library by the application.

Configuration

Pins

Ports

Clocks

Ram

Logical cores

SDRAM server

20

4 (1-bit), 1 (16-bit)

1

~4.0K

1

Memory address allocator

0

0

0

~0.3K

0

Software version and dependencies

This document pertains to version 3.2.0 of this library. It is known to work on version 14.3.0 of the xTIMEcomposer tools suite, it may work on other versions.

The library does not have any dependencies (i.e. it does not rely on any other libraries).

  • I/O Timings for xCORE200 [1].
[1]

https://www.xmos.com/download/private/I-O-timings-for-xCORE200%281.0%29.pdf