@DATABASE Examples
@AUTHOR Chris Sterne
@$VER: "Electrics Examples 1.0 7.2.1996"
@REMARK Requires AmigaGuide.

@REMARK *-------------------------------------------------------------*
@REMARK *                      Example Designs                        *
@REMARK *-------------------------------------------------------------*
@NODE Examples
@TOC "Instructions/MAIN"
@TITLE "Example Designs"

@{fg background}@{bg text} Examples Designs @{fg text}@{bg background}

Four example designs are included in the "Examples" directory with the
Electrics package.  To simulate or examine these designs, the
"Examples" directory must be set up to be the active Project Directory,
unless it has already been done so.

Simulation scripts are available to simulate the examples.  Each example
requires a Simulator program (ARexx port "SIMULATOR.1") and a Viewer
program (ARexx port "VIEWER.1") to be present.  The CLOCK example also
requires a Digits program (ARexx port "DIGITS.1") to be present.

@{fg background}@{bg text} Examples #1: RUNNER @{fg text}@{bg background}

A 4-bit binary counter drives an open-collector BCD-to-Decimal lamp
driver.  Note that when the count is greater than that supported by
lamp driver, all driver outputs are floated.

@{fg background}@{bg text} Examples #2: COUNTER @{fg text}@{bg background}

Eight TTL 74163 4-bit binary counters are used to build a 32-bit
counter.  A delay-line from the ELEMENT library is used in an on-board
clock generator for the counter.  

@{fg background}@{bg text} Examples #3: TOKEN @{fg text}@{bg background}

This is a multiple sheet project.  A 3-bit I.D. code is sent along a
serial line, with a number of receivers attached.  When the receiver's
I.D. code matches the one that was sent, the receiver generates an
output.  This technique may be used to control even more receivers,
requiring a minimum number of wires. 

During simulation, the design seemed to work at first.  Later, however,
a flaw was discovered.  When the "010" I.D. code was being flushed from
the receivers, it momentarily appeared as "101", unintentionally causing
a receiver with that I.D. code to be selected.

@{fg background}@{bg text} Examples #4: CLOCK @{fg text}@{bg background}

This is a real-time clock design, with a Seconds display and blinking
colon between the Hours and Minutes.  For simplicity, the display is not
multiplexed.  To set the time, use the Simulator's FORCE command to apply
pulses to the 1PPS Signal (increment Seconds), or 1PPM Signal (increment
Minutes), or 1PPH Signal (increment Hours).  Remember to RELEASE the
Signals afterwards.  The design has a test mode where the onboard
oscillator is connected directly to the Seconds counter.  This makes the
clock run 60 times faster than normal, but the Digits program display
update looks better.

Note that 1 time-unit delay lines are used in counter preload Signals.
Since the counters have no delay between the count output and
carry/borrow outputs, some external delay is required to generate a
proper preload pulse.  This is a consequence of a zero-delay circuit,
and must be kept in mind when generating asynchronous Signals.
@ENDNODE
