GENERAL

APPLICATION

PROCESSING



Sorry - Trouble with applet, no links here

An Alternate Way to Code

By unfortunate necessity, most of the technical specification for the Flexible System Architecture ™ is under patent protection. However, I don't want to leave the technically minded visitor empty handed, so the link below points to a section on Binary-Decision Based programming, known as "BD" for short.

Although I've developed a powerful (even recursive) "microassembly™" language as the main way to program the FSA™, for very low level work, BD fits the bill better. Early in my career, I lucked upon a three- part series in IEEE Micro, beginning with the August 1983 issue:

Zsombor-Murray, et al, "Binary-Decision-Based Programmable Controllers"

What I learned from that paper developed into an integral part of the FSA. I ultimately created a different version of Binary-Decision based programming, something I named "Relaxed BD," a form which I found easier to write in as opposed to the paper's "Compressed BD" (my name, not theirs). As implied, the "CBD" usually makes for smaller program code. The main change I've made to their version is to move the test bit to the least significant bit position; it seems easier to work with there. I also changed one other minor bit encoding. Both versions are legitimate to use in the FSA; however, again for purposes of intellectual property protection, I won't be describing any "RBD" code in the page linked to below.

In the page are four different BD programs, the first three of which are basically a rehash of examples from the paper. They comprise a good intro / tutorial to Binary-Decision coding, and while I plagiarized their choice of examples, the text is mine.

After working through the first three programs, the reader may well be tempted to think: "This is very interesting, but any of these functions can be easily implemented in hardware, and operate with much greater speed." So the final example shows a more complex BD program which computes a binary square root function, and which is arguably best done in the flexible BD language rather than being hardwired.

I've simulated the RBD version of the function and it works just fine; I never tested this CBD program other than on paper, but I see no problem with it. Ultimately, I'd like to add a Java applet simulation of the program that could be downloaded, but that's unfortunately not the highest item on my priority list at this time.

Anyway, I hope, honored visitor, you enjoy the "tutorial," and I believe you will see how applicable BD is to low level circuit control.