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

Thursday, September 26, 2024

Bitgrid and Isolinear Memory

In exploring the design of a BitGrid cell to fit within the confines of a TinyTapeout project, it quickly became apparent that the shift registers to hold all of the programming data for a cell were the majority of the silicon.

It also has become apparent that in order to utilize BitGrid in an actual application, there need to be blocks of memory embedded into the cells.

I decided that it might be interesting to allow the use of the shift registers that normally hold the contents of the BitGrid cell's LUT as memory. Adding some multiplexing and a few more shift registers could greatly increase the functionality of a cell without destroying the homogeneity and logical consistency that makes the BitGrid so easy to think about and use. For now, I'm calling it IsoLinear Memory, as it would add a line of memory into any bitgrid array on demand, in any direction, uniformly.


 Here is the cell design at present, as I learn to use KiCad 8.0. The cells get their inputs from IN_A through IN_D, and are clocked in to latch U6 at the rising edge of Clock_A.  The state of the LUT table is stored in U2 and U3, and the value selected is fed through either U4 or U5 to the output multiplexer.

The last output cell is also sent to the multiplexer.

I'm going to add logic to allow shifting the LUT contents out, subject to the contents of U1.

That's it for today.

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.