special FIFO

S

Simone Winkler

Hello!

I want to build a FIFO for a special purpose:
I've got a microcontroller that interfaces to a SDRAM via an
SDRAM-interface. The microcontrollers data width is 16 bit while the
SDRAM-interface needs 32 bit (if i write something to the sdram, in the
first clock cycle, the interface needs the bank, row and column address (32
bit) and in the second clock cycle the data (only 16 bit, the upper 16bit
are just don't care)).
Now I need a FIFO that converts the 2x16 bit to one 32-bit word. Timing is
not important, only the 2 words of 32 bit have to be sent one clock cycle
after the other. (so i don't need a "doubling" of the clock rate, just a
method to combine the two incoming words) could it work with a kind of shift
register?

Thank you for your help!

Simone
 
N

NJ

take two 16 bit fifo's stack them on top of each other and mux in your data
to each one using a T flop as a select/ff enable.
 
B

Bryce

Now I need a FIFO that converts the 2x16 bit to one 32-bit word. Timing is
shift register?

Hi,

You may wish to consider making an arbiter (a type of FSM) that would
acquire two 16 bit words, then write them to the SDRAM when an entire
32-bit word is complete. This is a fairly simple FSM: Wait for
word1, store word1 to upper half of 32 bit word, wait for word 2,
store to lower half of 32 bit output, produce output, go idle. The
idea can be expanded to handle multiple ports and higher rate
dataflows.

As you mentioned, as long as the 16 data is being generated slower
than you store it, you may not need a FIFO. Or, if you have some sort
of flow-control, you would not need a FIFO. Note that SDRAM
controllers may allow 12-15 clocks between read or write operations,
so you're probably okay unless you are in a burst situation.

Bryce
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top