Logic Learning Tools – SMLD
I benefited greatly from help from my elders as I was learning the arcana of electronics and groping my way toward my career. At various pivot points I got help, advice or downright material assistance from people who were looking out for me. Two of my regrets are that I did not ask for more help and that I have not been as forthcoming as I might have been in offering help to younger generations.
In response I have been exploring the possible and necessary ways in which I could assist those younger generations to take advantage of what I have learned. What technologies can I assemble and explain so that by their operation people like I was could move forward in their development faster and truer than I did?
These would be tools that can be handled like toys by young people in the middle school years – the age I was (12) when, out of the blue, I was handed the huge gift of the correspondence course. Those are the years in which one begins to set a course for one’s life by choosing what to pursue as interests.
I wonder what I might have done if I had had access to a technology that was systematized and made available embodied in silicon in 1978 – the PLD, or programmable logic device, in the form of registered programmable logic arrays (given the acronym “PAL” for “programmable array logic” by its manufacturer, Monolithic Memories Inc.) These are “state machines” – generalized logic building blocks that can be used, together with memory, to construct any digital device (no less than Alan Turing created the concept of the state machine).
PLDs built in integrated circuits are microscopic in scale and can be programmed from outside only through the operation of software that compiles logic structures (expressed as chains of symbols) into streams of data that in turn activates programming circuits on the chip. The bit patterns can be seen only as symbolic representations on a computer screen.
How could this technology be implemented, I wondered, so that the patterns would be visible and accessible as tactile elements – methods of learning that predate the manipulation of symbols? I happened to see a presentation at the West Coast Vintage Computer Festival around 1998 on “MUNIAC” – an attempt to construct a working home computer using vacuum tubes and technology that would have been available in 1959 – the same year I was failing to do the same as Chief Engineer of the Central High School Computer Club.
I saw immediately that the basic MUNIAC element was the same as that of the PLD, implemented partly by with a vacuum tube and partly by an old mainframe technology – diode logic arrays. I saw that by scrapping the 1959 requirement I could create the same building block quite easily and inexpensively using technology from 1970, with which I was quite familiar.
The design of the device was simple – an eight-bit-wide registered state machine each bit of which having an AND-OR array implemented with diodes, each of which is currently mass produced in “Mini-MELF” packages – tiny cylinders 1/16 inch in diameter and 1/10 inch long. The mechanical design would have an array of holes in a block of plastic about 4 inches by 1 3/4 inches into which diodes could be dropped with tweezers and a cover secured by 1/4 turn screw-type fasteners. LEDs on the cover would display the logic states of each of eight AND terms.
Eight of these “array boards” would plug into the “mother board” which contained the register chips and more LEDs indicating the state of inputs and outputs (all of which would be brought up to each array board). Presto – a logic device – call it a “robot” to stretch the truth – which can take 256 different states programmable with tweezers! No computer or software would be needed to use it.
Programming of the device requires the student to write very simple logic equations – they would have to have encountered basic algebra already – which logic equations form an explicit map to the diode matrix that will implement the desired function. These Boolean equations represent the origin point for software – creating a coupling between the symbolic world of software and the physical world is a major purpose of the device.
With enough of these boards plus a memory board (no difficult trick to design and build) a group of learners could eventually build MUNIAC – or any other computer! Why not the fabled PDP-8, the minicomputer with the largest body of former programmers and legacy software?
I named the device State Machine Logic Demonstrator, abbreviated SMLD, and built a 2-bit version with plugboard programming so that I could learn how to teach kids using the techniques. This was occasioned by “Hack The Future” – a periodic event created in 2012 by Matt Spergel that assembles groups of kids aged 11 to 18 to work with mentors on computer topics.
I have so far written a 14-page set of courseware explaining the device, logic functions and walking the student through stages leading up to the design and implementation of 2-bit binary counters, modulo 4 and 3. In the process I have learned how inadequate is this approach. Not one student has so far sat down, opened the courseware, and began to work methodically through the examples and exercises. I have had to interact with them to lead them through the lessons.
In order to realize my hopes there will have to be courseware in video format. Most likely it would run on a computer which is connected to the SMLD board through an interface. The program in the computer could thus stimulate and test the board’s operation and advance to the next lesson when these “test vectors” (as they are called in chip logic design) demonstrate correct operation.
This would constitute what used to be called a “teaching machine”, especially if erroneous operation resulted in playing a video explaining the error. I, for one, don’t believe that this would be sufficient to retain the interest of a middle-school-level youngster – I think a mentor would still have to be available (but might not have to be physically present).
The easy part is the design of the physical device – where effort is really needed is in the development of the course-ware and the “meta-courseware” – materials to train mentors. I don’t see myself carrying out the development of the courseware but I have received enough expressions of interest from educators to make me believe that they and others would take up the task once the device were available.