Wherein Mike Warot describes a novel approach to computing which follows George Gilders call to waste transistors.

Sunday, October 15, 2006

Logisim



Earlier this week I foundCarl Burch's wonderful Logisim which does digital logic simulation. It took a few hours of tweaking, and one flash of insight (below)... but here is what a single BitGrid cell looks like in an idealized format.

The cell consists of a single 16x4 RAM cell (4 bits address, 4 bits data). I used a ROM in the simulation to allow it to persist across saves, and simplify the layout.

There are any number of ways you could wire this thing up... the flash of insight I had was that I wanted it to be very simple to turn a cell into a simple pass-through repeater. I figured that if addresses 0-F were programmed with contents 0-F, and it just worked that way... it would be easiest to understand. This leads naturally to the layout you see pictured here.

If you want to see for yourself, here is the Logisim Circuit file. (You'll have to save it, then rename it to *.circ for Logisim due to limitations of my web host at 1and1.com)

I welcome comments and suggestions.
--Mike--

7 comments:

Anonymous said...

I looked at about five of your posts, and could not find any summary of what why I should care about bitgrids. I'm not a hardware designer, so merely saying that it has 4 neighbors tells me nothing.

What existing component(s) would this replace? How many of them would I have in a typical desktop system? Or are you thinking more of the embedded domain? What magnitute of benefits (cost savings, or speed-up, or size reduction) would you predict?

If you have already written a truly introductory description of bitgrids, I recommend that you link to it prominently. If not, I suggest you write one. Your audience is the high school gamer; the business executive who uses Excel and email; or a programmer who occasionally dabbles in assembly language.

It might be the best idea in the world, but based on what I've read so far, I'm not surprised that it has not generated much interest.

Hope that helps!

Anonymous said...

I suggest a comparison between a bitgrid and a common FPGA. FPGAs seem far easier to program, obtain, and faster than a large bitgrid.

palmtree3000 said...

I think your idea is intruiging, however it is impossible to simulate a collection of bitgrids in logisim as a bitgrid will return undefined unless all the inputs are defined, which will not happen unless all the neighbors have defined inputs, which.....

I will try to get it to work, but in the meantime, congratulations on an interesting idea!

palmtree3000 said...

I got it to work by adding in a "zeroer" input that will reset every output to 0. You just send power through every row's righthandmost member's zeroer input, and everything changes from undefined to 0.

palmtree3000 said...

Sorry, forgot the file.
http://www.box.net/shared/zeyqot05n8

Andrew Felch said...

Hi Mike,

Bit Grids... very cool - I've been looking for an email address but no luck. I'm interested in finding out more - my email is AndrKewDotFeKlchAtGmaKilDotCKom - delete the capital K's

-Andrew F.

Squonk said...

I created two Logisim BitGrid cell implementations:
- a quad mux cell
- a quad TTL 74150 chip 1:16 mux cell

Here is the .circ file:
http://dl.free.fr/q1McACecN

About Me

My photo
I fix things, I take pictures, I write, and marvel at the joy of life. I'm trying to leave the world in better condition than when I found it.