Switching Algebra and CIrcuit Design for the SIght Impaired (Newbie)?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I'm a legally-blind Finnish uni student majoring in information processing
science but have been interested in digital logic and symbolic machine
language for some time. Thus I took a uni course called digital techniques
which is dealing with digital logic, boolean and switching algebra and
related topics. The course just began so I'm not totally sure what will or
won't be covered.

So far I like the contents in the course but one really problematic area for
me are the
diagrams dealing with ports, switches and other components. These are sort
of hard to read and even harder to write for various reasons. In the end it
all comes down to having no useful textual
representation for the charts, so I need to use heavy magnification and the

Reading the diagrams has a couple of difficult key steps. Firstly, many of
the American port symbols
resemble each other a lot so reliable shape detection with magnification is
slow and tedious, though fortunately we are using the IEC symbols which are
much clearer as a magnification user.

The text labels need to be read, too, which may take several seconds per
element. Speech is of no help because most of the exercises have the imagery
in bitmapped form. Lastly, the usable magnification range for me
is easily at least 4x which gives only 1/16 of the whole screen. In
practise this means that I can only examine a single element at a time and
to traverse the arrows, cables and other connective elements slowly one at a
time. Thus it is easy to imagine this all takes lots of time and isn't
really essential, understanding what's going on, getting the big picture and
being able to ponder the
logic is what counts, I think.

As far as writing diagrams goes, I'm currently using Microsoft Visio, which
is a very general diagramming tool. It is able to do the job but very
clumsily. I need to work with high magnification and do precise mouse
dragging, clicking and such, to which I haven't really gotten used to,
though I'm physically capable of using the mouse of course. WHen it comes to
general computing, I like the GUI but am using the keybord as much as
possible. I prefer fast speech to magnification or braille but screen
readers aren't smart enough to understand the semantics or even the syntax
in diagrams.

As an example of an awkward way of handling things in Visio, I should
mention the wiring. In some other unrelated music tools, in stead of having
to drop a wire object and drag both ends to where I want them, you connect
modules by dragging
from the output to the input. The wire is inserted automatically and snaps
to the closest destination terminal clearly showing where it is going to go
if I
release the mouse button. Even better for me would be a keyboard interface.
So I could type some uniquely identifying bits of texts or numbers to
specify the source and destination from the keyboard, with no mouse dragging

So, how do you do your diagrams and is there any alternative, preferrably
accessible, Windows software or
notation you could recommend to make the job easier? We'll be dealing with
Switching and Boolean algebra and their various diagrams a lot as well as
basic digital logic circuits.

On other courses I've been using various methods. For UML the  Rational Rose
Tool is actually pretty usable and doesn't involve an awful lot of mousing
around. FOr ER and EER diagrams in databases, i invented my own notation
that's 100 percent textual. As far as graphs and trees go, I found working
with matrices loads easier than looking at a magnified, visual
representation of the same thing on-screen.

But back to digital logic and switching algebra, do you know of any textual
notation for representing these diagrams
efficiently? Intuitively, I would think such a thing must exist. After all
all size and spatial information in these diagrams seems redundant, only the
ordering and relations of the elements really matters. I wonder what kind of
notation people used to use when discussing electronics in newsgroups before
graphical display devices and HTMl mail were around?

Finally, before I forget I should ask if the set of Boolean algebra symbols
have been standardized in ASCII? Here's what I'm currently using:
A' : unary not A
a + b: a or b
a . b or simply a b: a and b
a ^ b: exclusive or (borrowed from the bitwise operator in C)
(a b)': not and. The not spanning the whole expression is indicated with
parentheses and I'm using the single quote sign as a postfix n-ary operator.

Hope you don't mind the computer science lingo, I have some programming
background but am a total noob as far as digital logic goes.

PS: I'm not usually into cross-posting but this time the main message goes
to alt.comp.blind-users and I'm also posting this to sci.electronics.misc
hoping for a wider audience.

With kind regards Veli-Pekka Ttil ( snipped-for-privacy@mail.student.oulu.fi)
Accessibility, game music, synthesizers and programming:
We've slightly trimmed the long signature. Click to see the full one.
Re: Switching Algebra and CIrcuit Design for the SIght Impaired (Newbie)?
["Followup-To:" header set to sci.electronics.misc.]

Quoted text here. Click to load it

Some circuit simulation software like LT-Spice (free and quite good) or
Electronics Workbench (commrcial and imo inferior) may be easier for
drawingg circuit diagrams, if, being legally blind, you can get your head
aroound a  chessboard full of pieces you may even be able to read and
understand raw spice netlists, (a text-based  language maunlky used by
software to describe electric circuits)

Quoted text here. Click to load it

simple digtal circuits can be expressed in boolean algebra but when
multiple feedback paths are involved the notation fails.  

state transistion diagrams or tables can explain more complex systems

Quoted text here. Click to load it

They used (and still do use) text characcters that aproximate the circuit

  --->|-- is a diode --||-- a capacior and --[100]-- a 100 ohm resistor etc..

The allignment of the lins of text that form these circuits is critical but
fortunately thr oroginal usenet hardware (text terminals and line printers
used a fixed pitch font so allignment would be preserved on dissimilar
hardware. I expect these circuit diagrams are totally unintelligible when
rendered by audio reader software.

when communicating on the telephone the only method is the netlist
label the nodes in the circuit and then describe how the nodes are
connected by the components,

Quoted text here. Click to load it

  A' looks like A-prime to me I think ~A could be a better symbol for not a.
  (it also looks a bit like A-bar which would be the proper symbol)

  I'd go with "&" or "."  for "and",  "|" or "+"  for "or", and "~" as a
  prefix for not ^ is as good as anything for xor.
  C (C++. java, etc) programmers would probably prefer ! && || and ^.

Re: Switching Algebra and CIrcuit Design for the SIght Impaired (Newbie)?
Hi Jason,
And thanks for replying. I initialy thought I would get no replies at all.

Jasen Betts wrote:
Quoted text here. Click to load it
I just gave WinSpice a try but cannot make much out of it frankly speaking.
I have no need for simulation though it may be necessary in some other
courses. In fact, I think having no simulation might be the best option in
an exam, <grin>.

Quoted text here. Click to load it
I think it depends A lot on how complex the software is and how motivated I
am. I'm able to use early versions of Reaktor for synthesizer design at a
musician-friendly level, even though the interface is a bit on the complex
side. Custom controls, bitmapped text, poor contrast and no keyboard
interface could make any app relatively hard to use, though,

Quoted text here. Click to load it
That could work. I generally prefer textual formats, though they are often
linear and achieving clear hierarchies would require some software that let
one concentrate on the structure at different levels. A Windows tree control
as in CHM help files comes to mind as the first example. You can close the
branches you don't need. A similar effect is hard to achieve in most text

Another requirement  on the course I'm doing seme to be Karnaugh maps. Again
VIsio cannot do them and I would prefer some more specialized piece of
software. I'm currently using ASCII tables but it is a bit clumsy.

Quoted text here. Click to load it
That's a good point. FOr doing graphs perhaps Graphwiz could be used to a
certain extent:

http://www.graphviz.org /

It does allow you to concentrate on the essentials and leave laying out the
elements visually to the computer.

Quoted text here. Click to load it
Tables could be represented in ASCII and maybe I'll find some notation for
state transitions, too.

Quoted text here. Click to load it
Ah guessed that. The same tac is used in the port symbols where the stuff
inside the rects could be written in ASCII. Such as: & for an and port and
 >=1 for or, for instance.

Quoted text here. Click to load it
Yes, they are, for the most part. The notation is usable on a braille
display or if using full-screen magnification but pretty slow still. For
speech the main problem is that it doesn't understand the syntax used. The
screen reader would need to be linked to some intelligent parser or lexer
for a sensible audio representation.

As a case study, here's how one of your earlier lines is like using Dolphin

First, full punctuation.

Quoted text here. Click to load it

Is renderred in speech as:

greater than  dash dash dash greater than vertical line dash dash  is a
diode dash dash vertical line vertical line dash dash  a capacitor and dash
dash left bracket one hundred right bracket dash dash  a one hundred ohm

Sorry if the layout is a bit off, I was lazy enough to use a find and
replace operation here.

I haven't structured the prompt in any way because it is read out linearly
from left to right without any major pauses in it. Some readers offer a
marginal improvement by counting repetitiv symbols but it still doesn't make
things much clearer. I also lowercased the text to highlight the fact that
case changes are not usually spoken though they can constitute a word
delimiter in pronounciation.

As an equally unclear but less straining option, the same thing again this
time with no punctuation:

is a diode  a capacitor and one hundred 'ay' one hundred ohm

Naturally, I'm mostly using no punctuation in something like e-mail.

If you'd like to know more, I could point you to a thread in another group
dealing with programming with speech:


For more sight info, I've got a page about that, too:


Quoted text here. Click to load it
So this comes down to serializing and reconstructing a graphical
representation to text, I think .

Quoted text here. Click to load it
Yeah, some languages even use ~= for unequality. Not to be confusd with the
operator =~.

Quoted text here. Click to load it
My original goal was to stay true to the Boolean algebra notation. Some
e-texts also use the dot, plus and the single  quoet char respectively. Yet
none of these are speech friendly (quote, ampersand, period).

If operators made of word characters are allowed then:

a and (not(b) or c)

would be pretty straight forward. Another way is writing the operators as
though they were functions:

and(a, or(not(b), c))

Or for a Lisp-like flavor:

(and a (or (not b) c))

Heck, post-fix is also a possibility <smile>:

b not c or a and

I'm only kidding with this last one.

Quoted text here. Click to load it
That's even worse, ampersand ampersand etc... Boolean is pretty bitwise by
nature, isn't it.

With kind regards Veli-Pekka Ttil ( snipped-for-privacy@mail.student.oulu.fi)
Accessibility, game music, synthesizers and programming:
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline