Forums - Open Redstone Engineers
FIFO Memory - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Projects & Inventions (https://forum.openredstone.org/forum-19.html)
+---- Forum: Completed Projects (https://forum.openredstone.org/forum-21.html)
+---- Thread: FIFO Memory (/thread-5196.html)



FIFO Memory - GISED_Link - 12-07-2014

[Image: 730874ThundeRedbannire2.jpg]

Queue Memory

[Image: 476905FIFOMemory.png]

Heeeeeeello !

A FIFO is a memory that addressed for you the datas in FIFO order (First In First Out). You can easilly earase the last input, go 1 step farwad and reset all the memory.

[video=youtube]http://youtu.be/HB8YHf-ggro[/video]

Minecrfat version : 1.2 - 1.8 and higher

[en]
There is a FIFO memory (first in first out). You can save 8 bits of data and they will be automatically addressed.

Features :
  • automatic save (rising edge of the CLK)
  • fast data save rate, max 1.2 Hz
  • The last slot is protected for overwriting
  • All the usefull command
    • reset all the slots
    • one step farwad
    • reset the last input

We can use it for :
- save the measurements
- Plug and play memory
- control the data bus

Contact me if you need more bits wide.

[spoiler=screenshots]
[Image: 89088620141207164126.png]
Front view

[Image: 70874920141207164131.png]
Command signals

[Image: 73895220141207164138.png]
Right view

[Image: 57915120141207164157.png]
Output view

[Image: 78647220141207164146.png]
Top view
[/spoiler]


RE: FIFO Memory - greatgamer34 - 12-07-2014

AKA a stack IIRC

there are much more compact versions of a stack, but nicely done!


RE: FIFO Memory - MelvinS4_ - 12-07-2014

(12-07-2014, 07:39 PM)greatgamer34 Wrote: AKA a stack IIRC

there are much more compact versions of a stack, but nicely done!

Stacks are LIFO, queues are FIFO.


RE: FIFO Memory - GISED_Link - 12-07-2014

[Image: 560827Structuresdedonnes.jpg]

Do you agree with that ?

If yes, my memory is a queue.


RE: FIFO Memory - LordDecapo - 12-09-2014

^^
Lol nice GG


RE: FIFO Memory - Magic :^) - 12-10-2014

Nice, queues are pretty handy. I've even used them for pipelining.

EDIT:
I watched the video, I love the music XD
From what I could see from the video, our queues work in a similar way :3
Mine uses an SR latch at each word. The latch feeds back and resets itself if there is an empty latch in front.
The output of the SR was connected to repeater lock memory, but idk if you used those
\-_^/ <-(That's a shrug)
I really want to take a look at it later :3


RE: FIFO Memory - GISED_Link - 12-10-2014

The music : Yazoo - Don't Go ( Class X Re-mix )
https://www.youtube.com/watch?v=54AFmwSSqbc

"Mine uses an SR latch at each word. The latch feeds back and resets itself if there is an empty latch in front."

Mine, too. But the dectection of the empty space is managed by the hidden 9th bit (on the right). So it's easy to add some bits (by example for a 16 bit version).

But I have added a propagation control, so the signal will not go through the next memory if this one is not empty. So the RS can easily retain the value (so, no needing of the reapeter lock).


RE: FIFO Memory - tokumei - 12-10-2014

I have a different concept for FIFO memory. It involves a read pointer amd a write pointer.

When you push data, it saves it to the memory at the pointer, then increment the pointer by 1 (overflows at the last address of the queue). I haven't developed any logic for if the queue is full yet, but you can probably easily do so using the existing circuitry involved with the read conditions.

When you pop data, it involves a bit of conditional logic. If the read pointer isn't the same as the write pointer, then read the data at the pointer and increment by 1 (same pointer overflow as above). If it is the same, then some other action must be taken (return zero, or maybe save a 1 to a flag register) and it does NOT increment the pointer.

I have made a hardware implementation of this concept that works with virtually any memory system with read/write functions. It involves a couple of shift registers connected into themselves for the pointers, where each individual output is connected to a read or write trigger on a memory cell. There'so also a bit of logical circuits (mainly AND gates) connected between the two shift registers for preventing reading from an empty queue.


RE: FIFO Memory - greatgamer34 - 12-10-2014

i failded hard ;-;

sorry gais