The practice of generating a sequence of pulses with one-shots is the principal
sin against which those in power began to rail in the '80's, demanding that all
events be driven from a single primary oscillator. I'm quite comfortable that
one might want to use an analog delay for a single, isolated, and both
infrequently and irregularly occurring event. I personally prefer to use a
self-inhibiting counter chain that's cleared by the "trigger" event to do
that
sort of thing, but I don't do it often.
In the same time period that one-shots became anathema to respectable circuit
design, it became a common mandate that all circuitry in a subsystem had to be
synchronous. In some cases that meant the one-shot was replaced by a
self-inhibiting counter gated with a two-input gate that was buffered with four
flipflops (dual rank registered inputs to each input of the gate) and its output
synchronized with another flipflop clocked by the global clock, and the output
of the counter clocked out via yet another likewise globally clocked flipflop.
At the time it was a lot of expensive (because it had to be fast) logic, just to
ensure the precise synchronization of a pulse that really didn't matter if it
varied over 20% of its period and jittered by 10-20 clocks either way. Nowadays
nobody gives it a second thought, since a hundred registers more or less in an
FPGA cost essentially nothing and they're all nearly infinitely fast. We're
heading for a time when registers are packaged by the billion and the only real
issue in synchronous logic design is the clock skew.
Things change ...
Dick
----- Original Message -----
From: "Tony Duell" <ard(a)p850ug1.demon.co.uk>
To: <classiccmp(a)classiccmp.org>
Sent: Wednesday, October 24, 2001 7:09 PM
Subject: Re: What people "should" know
>
> That's why it's been common practice to fire anyone who uses one-shots
> (monostables) for anything. I personally believe it should go beyond that,
in
When I was a postgrad at Bristol University, I worked in the first year
physics lab. I actually refused to teach the electronics practical about
monostables, and replaced it by one of my own on state machines (I don't
know if the powers-that-be ever found out I was doing this :-)).
My view is that monostables have their place. I've used them. For example
I wanted to flash an LED briefly when a certain I/O port was accessed (as
part of a hard disk activity light on this PC). Stretching the decoded
I/O strobe with a monostable was a sensible thing to do. Nobody cares how
long the LED is actually on for, only that it's a visible flash.
BUT, I strongly disaprove of teaching monostables. By the time you know
enought about electronics to design with them correctly you also know
enough electronics to design monostables from scratch without me telling
you how to do it.
Bad designers use them everywhere to generate sequences of pulses, etc. A
job which should be done with a state machine.
> that the perpetartor of such a heinous crim should be barred from asserting
his
credentials as
a circuit designer for a short period, of, say, 10 decades.
Ah, so that's why I can't claim to be a circuit designer. I've
used a monostable more recently than 100 years ago.
-tony