Rubicon Forum
Welcome, Guest. Please login or register.
August 02, 2014, 12:23:23 AM

Login with username, password and session length
Search:     Advanced search
Undeletable components are now shaded blue when loading a level in.
5463 Posts in 238 Topics by 2430 Members
Latest Member: Shreyas
* Home Help Search Login Register
+  Rubicon Forum
|-+  Playing the Game
| |-+  Open Design Challenges (Moderator: Bucky)
| | |-+  HIBADIG: Memory-Registers
« previous next »
Pages: [1] Print
Author Topic: HIBADIG: Memory-Registers  (Read 5641 times)
ginkgo
Shelf-stacker
*
Posts: 4


View Profile
HIBADIG: Memory-Registers
« on: October 31, 2006, 12:19:51 AM »

This is a 16-Position Read-only memory-bank:

hibadig

You input lookup-adresses and get a copy of the block in the corresponding position.

The machine is quite large. Maybe there are still ways to get it smaller.

I'm curious, if it's possible to make rewriteable Memory in Rubicon. At least a few memory-cells. Anyone in for a challenge?  Grin
Logged
Otto
Shelf-stacker
*
Posts: 9


View Profile
Re: HIBADIG: Memory-Registers
« Reply #1 on: November 04, 2006, 08:49:59 AM »

gocypyg

This is my first attempt at read/write memory. However, it has a bug which I can't figure out without more sleep. Smiley

Anything dropped into the space below the yellow striped column causes a read. It'll spit out a copy of the existing value.

Anything dropped into the space below the gray checkered column will cause a write. Unfortunately, causing a write also causes a read as well.

I have another idea that may work... but.. later. Smiley
Logged
ginkgo
Shelf-stacker
*
Posts: 4


View Profile
Re: HIBADIG: Memory-Registers
« Reply #2 on: November 05, 2006, 05:32:28 PM »

This is my design for a single RAM-Cell:

nudebok

It is slower than ROM(not a big surprise to me) , and you have to remember, that all read-operations have to be finished, before you can change the content in the cell.

Now, I only have to find a way, to stack several copies of these and feed them the correct operations..  Huh
Logged
Djonn
Operator
**
Posts: 12


View Profile
Re: HIBADIG: Memory-Registers
« Reply #3 on: November 06, 2006, 11:26:33 AM »

This is my attempt at a RAM cell cinazyg (in crosses). Anything on the left triggers a read, anything on the right overwrites the cell value. max speed for read/write is one every other cycle. If a read and a write are executed in the same cycle, the new value is read. These cells should be easy enough to stack, but I don't know how to feed them the correct operations either.
note: for the demonstration one read is triggered every other cycle (stripped), and one write every four cycles (checkered).

Update: if you use the new physics model (type 'P' after loading an old level, see should packers be slowed down), when you read and write at the same cycle, you get the old value. This is however very easy to tweak by removing one pipe from the "read" entry if you prefer the other behaviour.
« Last Edit: November 06, 2006, 06:26:20 PM by Djonn » Logged
Otto
Shelf-stacker
*
Posts: 9


View Profile
Re: HIBADIG: Memory-Registers
« Reply #4 on: November 07, 2006, 07:40:45 AM »

This is my attempt at a RAM cell cinazyg (in crosses). Anything on the left triggers a read, anything on the right overwrites the cell value. max speed for read/write is one every other cycle. If a read and a write are executed in the same cycle, the new value is read. These cells should be easy enough to stack, but I don't know how to feed them the correct operations either.
note: for the demonstration one read is triggered every other cycle (stripped), and one write every four cycles (checkered).

Update: if you use the new physics model (type 'P' after loading an old level, see should packers be slowed down), when you read and write at the same cycle, you get the old value. This is however very easy to tweak by removing one pipe from the "read" entry if you prefer the other behaviour.
Wow. I really like that design. I never considered copying into a furnace before. Good job!
Logged
ginkgo
Shelf-stacker
*
Posts: 4


View Profile
Re: HIBADIG: Memory-Registers
« Reply #5 on: November 07, 2006, 12:36:47 PM »

Yes, your version is awesome, Djonn.

I guess I tried to hard, to modify my existing ROM cells.
Logged
Djonn
Operator
**
Posts: 12


View Profile
Re: HIBADIG: Memory-Registers
« Reply #6 on: November 07, 2006, 06:14:33 PM »

OK, here is my attempt at stacked RAM registers: caranym, unfortunately, I didn't find a way to have a two crates code, so everything is muxed in 1 crate, which means 4 binary registers (could do ternary, kinda easier actually but, this is neater). The two msb code the register index, the 3rd bit is 0 for read and 1 for write, and the lsb is the value for the write.

The input is on the left (from top to bottom: value, read/write, index), in the middle is the muxer, top right is demuxer, bottom right are the actual registers (the soon-to-be-burned crates give their index), and the output.

If anybody finds a way to use a two-crates code, that would be much much nicer (e.g. up to 8 16-valued registers with 1 crate for register index and read/write, and 1 for the value).

Note: the new version: caranym has a neater (and more compact) demuxer than the previous one (pysizeb).
« Last Edit: November 08, 2006, 12:38:28 PM by Djonn » Logged
Gameman
Designer
***
Posts: 57


View Profile
Re: HIBADIG: Memory-Registers
« Reply #7 on: January 08, 2007, 09:58:53 PM »

Here's mine:nedukix[move][/move[] [u][/u]And then there was one...
Logged

Yugioh duel; i play exodia, you lose. Nope, I play Rubicon contractor! *gets run over by dozer pushing a 4 crate*
Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.0.22 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!