Xlinkers Home

Why does the SDRAM give warnings about bidirectional buffered ports

Bookmark and Share

We need ports to be set to buffered in order to use:

  1. strobe signal
  2. built-in serdes functionality

Ad (1): Strobe signal (p_sdram_gate) allows you to align (for example) address, command and data to the same clock cycle. Timed outputs serve the same purpose, so you could for example say:


addr @ t <: 123
cmd @ t <: WRITE
data @ t <: data[0]

.

A port must be buffered in order to be strobed -> this is an artifact of current implementation. Because buffered ports don't have well defined behaviour for bidirectional operation, compiler gives a warning.

Note: I chose strobe signal rather than timestamps, because it is slightly more efficient in terms of execution time, which gives shorter setup time

Ad (2): Serdes allows you to output/input 32 bits of data at a time and the port will serialise or deserialise into/from 16 bits, 8 bits or 4 bits external data width.

Again, a port must be buffered in order to serialise and deserialise. In this case, that's how the architecture defines buffered ports and serdes.

Note: a good reference point for port operation and related topics is the "XC book", currently draft, available at:

.

. . . . . . www.xmos.com/system/files/xcxs1.pdf


Comments

SDRAM

Larry,
I compiled the latest version of the Burst Software using the Latest Development Tools 9.9.0. When I run my software I get ET_ILLEGAL_RESOURCE. If I run the xe supplied it works. Can you enlighten me on what options I should use?

User login

Affiliate sites

affiliate

Advertisments

affiliate

Recent Projects

Go to projects page