home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ST-Computer Leser 1998 October
/
STC_CD_10_1998.iso
/
ANWEND
/
CLA_V2
/
DOC
/
MANUAL.TXT
< prev
next >
Wrap
Text File
|
1998-09-26
|
40KB
|
1,005 lines
CLA LOGIC v2
============
Beta Test Release 4
NOTE: This document is a conversion & update of the CLA v1 (unregistered) manual
- done in about an hour and a half.
This means that it isn't very good...it is intended as a stop-gap measure
until either a new manual is written, or an on-line help facility is
added.
NOTE [16/5/94]: This document is now WELL out of date - tough.
Several things contained in it are wrong, but I'm not going
to change it as the registered user doc's are finished now, so
registered users don't need this file anyway.
NOTE [29/5/94]: Now VERY out of date........
If you haven't registered - shame on you.
===========================================================
CLA Version 2 Release 1 (Beta4)
USER MANUAL (Summary)
===========================================================
Copyright 1993, By Data Uncertain Software.
Written By Craig Graham.
===========================================================
CONTENTS
--------
1. INTRODUCTION
2. INSTALLATION
2.1 Unpacking
2.2 Files
2.3 System Required
2.4 Loading
3. THE CLA ENVIROMENT
3.1 Pull-down Menus
3.2 The Status Window
3.3 Editor Windows
3.4 The Main Menu Bar
3.5 Tool Boxes
3.6 CLA Dialog Boxes
3.6.1 Pop-up menus
4. BASIC DESIGN PROCESS
4.1 Placing Components - The Basic Gates Toolbox
4.2 Linking Components
4.3 Adding Inputs
5. THE FILE MENU
5.1 Save
5.2 Load
5.3 Printing & Metafiles
6. SIMULATION
6.1 The Tools Icon
6.1.1 Bulbs
6.1.2 Logic Scope Probes
6.1.3 The Logic Scope
6.1.4 The Active Probe
6.2 Running A Simulation
6.2.1 Inputs during Simulation
6.2.2 The Active Probe & The Scope
6.3 Clocked Inputs
6.4 The Word Generator
6.4.1 Textual Stimulus Files
7. OTHER FEATURES
APPENDIX A : KEYBOARD SHORTCUTS
APPENDIX B : LIBRARY MODULES
1.0 INTRODUCTION
=================
This manual is intended as a 'get you going' sort of guide to the
CLA Logic design & simulation package. Due to the highly iconic nature
of the program, and the textual nature of this manual, it is not intended
as an in-depth tutorial and referance. A complete manual is available to
registered users (see README.DOC for details).
CLA is intended as a tool to enable fast prototyping of digital
circuits. The inspiration as to it's approach to this is rooted firmly in
the UN*X world, where several high end packages costing several thousand
pounds offer similar features (although much wider in scope of course,
with a price tag of several thousand pounds, we could do this as well, but
then we couldn't release as shareware).
The design part of the package (perhaps a bad description, as design &
simulation are completely integrated) supports the standard set of logic
gates (ANSI style representations only for now I'm afraid - perhaps a
set of IEEE symbols will be made available at a later date, or you could draw
up your own with VECED2), and also a few librarys of standard components
(eg, flip-flops, adders, etc) and IC's (the 74xx TTL series).
A subset of VHDL is provided for textual circuit description.
The integrated simulation section of the program can be accessed at
any time and provides interactive use of the circuit, with Logic scope
analysis, 'live' indicator bulbs, active logic probes, etc, or more formal
testing from an integrated Word Generator.
The whole enviroment is graphical, using icons, windows, 'flying' dialogs
and the mouse to produce & simulate the design.
Not wanting to labour a point, but CLA is SHAREWARE. If you find it at
all help full then REGISTER - you can then make sugestions for extra
features you need.....if you don't register then you get no support from
the authors at all.
2.0 INSTALLATION
=================
2.1 UNPACKING
--------------
The fact that you have reached this point in the documentation at all
sugests that you have sucessfully unpacked the file 'CLA_V2R1.ZIP'.
2.2 FILES
----------
If you have used STZIP 2.x, then the correct directory structure should
already be set up for you. Just as a check however:
Once unpacked, you should have the following file & directory
structure :-
.\
CLA.PRG CLA Design & Simulation Enviroment
VECED2.PRG Vector Object Editor
LIBV1.PRG Librarian
README Notes on this beta release, and a survey to return.
INVENTOR.Y The file inventory (almost certainly more up to date than
what you are reading now.
.\DOC
COPYRGHT.TXT How you can copy this.
BUGLIST Known Bugs
CHANGES.TXT New stuff from the last release.
FUTURES.TXT Stuff currently under developement
MANUAL.TXT This file.
VECEDIT.TXT Quick notes on the Vector Object Editor VECED2.
TOS4SCR1.GIF Screenshots (GIF format) of CLAv2 in it's full glory on
TOS4SCR2.GIF a Falcon.
FSM_EDIT.GIF
.\EXAMPLES Several example .NET files to play with.
.\FSM_DES
FSM_EDIT.PRG The Finite State Machine design program.
SDES.RSC Resource file for the above (colour only).
B.FSM Example state machine files.
V6.FSM
README.TXT Doc's for the state machine editor.
.\VHDL
README The VHDL compiler documentation.
CLA_VHDL.PRG VHDL subset to CLA.NET compiler.
CLAVHDLC.RSC Resource file for the above (colour).
CLAVHDLM.RSC Resource file for the above (mono).
OPERATORS.CLA File giving operator precedence for the VHDL compiler.
.\VHDL\74XX.VHD The VHDL source for the standard 74 series TTL library
7400.VHD
7402.VHD
7404.VHD
.\RESOURCE.CLA
BWLOGIC.NAM Various CLA resources
CLAC.RSC
CLAM.RSC
FILE.GTB
GATES.GTB
INPUTS.GTB
TOOLS.GTB
LIBV1C.RSC Librarian resources (colour & mono)
LIBV1M.RSC
VECEDITC.RSC Vector Object editor resources (colour & mono)
VECEDITM.RSC
.\RESOURCE.CLA\VECTORS
DEFAULT.VFN CLA vector font - primitive, but effective.
GATES.VEC Standard logic gate images (editable with VECED2)
.\CONFIG.CLA
FANOUT.DEF The average fanouts available from various IC technologies
KEYS.DEF Keyboard shortcuts definition file.
LIB.DEF The library definition file (editable with LIBV1)
.\LIBRARY The modules library for CLA.
.\LIBRARY\74XX The 74 series TTL library (from VHDL sources)
7400.NET
7402.NET
7404.NET
.\LIBRARY\USERLIB A predefined but empty library for your stuff.
.\LIBRARY\BASIC Simple things such as 2-bit adders & D-flip-flops
If anything is missing then you have problems.
NOTE: CLA MUST have this directory structure, or it WILL NOT work.
You can place the root of this structure ( .\ ) anywhere,
but must keep all things in the correct directories after
that.
If you wish to use the printed output facility, then you will require GDOS,
FontGDOS, SpeedoGDOS or NVDI (I use NVDI) to be installed as well. It is
beyond the scope of this document to explain the complexities of installing
GDOS (someone write & tell US about that black art !!!), so the only comment to
make on that is that the program expects to find a device driver available
as device 21. This is usually the EPSON FX80 driver and as this is the only
printer we have available to us, it's the only on that is tested at the
moment, but we ASSUME that other drivers will work as long as they are
installed as device 21 in the ASSIGN.SYS file.
GEM Metafile output is also available, and the above applies to that as well,
but META.SYS must be installed as device 31.
This program mayu not work with FSMGDOS - but, hey if you're using that then
you deserve all you get anyway.
2.3 SYSTEM REQUIRED
--------------------
The basic system required to run CLAv1 was :-
- 512K ATARI ST
- 1 Double sided disc drive
- Monochrome monitor
This is no longer the case (sorry...)
The basic system required to run CLAv2 is :-
- 2Meg ATARI ST
- 1 Double sided disc drive
- Monochrome monitor
The above is not ideal however.
The recomended system for running CLAv2 is :-
Platform : MegaSTE / TT / Falcon
Memory : 4Meg - required for running CLA at higher res.
Storage : Hard drive, requires 1 Meg for basic installation - this
WILL increase quite drasticly as the synthesis tool & FSM
designer are added.
Display : Crazy Dots / TT / Falcon extended (FalconScreen/Blowup030)
+ a gfx accellerator (Warp9 / NVDI), in min. 16 Colours.
OS : TOS 4.02, multiTOS 1.04+.
Our developement system is :-
Platform : Falcon030 + PowerUP2 32Mhz accellerator card
Memory : 4Meg
Storage : 85Meg Hard drive
Display : 800x600x16colour Falcon extended (FalconScreen)
+ NVDI2.5
OS : TOS 4.02 + WINX2.2 (highly recomended - it's great).
This is quite a large jump in system requirments, but hey, the jump from v1 to v2
has been really quite severe. And a PC based program to do this would use
a lot more....
2.4 LOADING
------------
To load CLA, click on 'CLA.PRG'. The program should then load and
run. Alternatively, CLA may be installed using the INSTALL APPLICATION
option from the desktop, using a '.NET' file extension. This allows the
program to be run by double clicking on a .NET file (these are the circuit
designs).
In TOS 3/4/MultiTOS, CLA.PRG should be installed to default to it's OWN
directory, not the top window's, and should be passed the whole path to a
file.
When CLA loads, the file BOOT.DBG is created in the current directory
indicating what CLA thinks your system is. If you have a problem, mail me
a copy of this file - it'll help me to sort you out.
3.0 THE CLA ENVIROMENT
========================
3.1 Pull Down Menus
--------------------
Most CLA options are available from both the standard GEM pulldown menus at
the top of the screen or from the various Toolbox windows which can be opened.
There are also keyboard shortcuts for most frequently used things.
CLA starts up with 3 windows displayed.
3.2 The Status Window
----------------------
At the top of the screen is a status window which reports actions (such as
PLACE GATE, MOVE GATE, etc). This window is fixed - you cann't move it, you
cann't close it. It can be overlayed by other windows, and can be topped by
clicking in it, but thats all.
3.3 Editor Windows
-------------------
Filling most of the screen is an empty window. This is a schematic window
in which you will do your designing. Re-sizing, moving & scrolling of this
type of window are as you would expect in a GEM application, however, the
full & close widgets are used slightly differently. Close behaves like the
MS Windows / OSF Motif top left button, and drops down a menu, of which close
is only one of several options (eg. ICONIFY will turn a window into an icon,
SISTER WINDOW will produce another window with the same contents as the first).
The Full widget pops up another menu, this time one with several Icons and
buttons in it. From left to right, these are:
- Windowed mode display. Sets this window to display graphics at a set
scale and force you to scroll around the design using the scroll bars.
The actual scale is set in the configuration dialog.
- Scaled mode display. Sets this window to display the whole design in the
window, rescaling it to fit as you resize the window. The scroll bars are
ignored here.
- '' = Iconify. This does the same as selecting Iconify from the Close
Pull-down.
- '' = Full. This does what the full widget would normally do in most GEM
programs and sets the window to full screen.
3.4 The Main Menu Toolbox
--------------------------
The Main Menu Toolbox is displayed on the right hand side of the screen at
start-up. It may be move freely (it's in a GEM window), but in ST High there
is very little room to move it into.
Unlike all other Toolboxes in CLA, the main menu cannot be closed or Rolled
up - it is there all the time.
It's icons (in top down order) have the following functions:-
- REFRESH Forces the current schematic window to redraw.
- LINK Selects the link-up mode for joining up components.
- CUT LINK Selects the disconnect components mode.
- DELETE ITEM Enters Delete mode for deleting gates, inputs & blocks.
- ROTATE As it's name sugests, this icon put's you into rotate mode.
Now, clicking on any gates will cause them to rotate by 90°.
- GATE The five bar gate icon opens the GATES Toolbox.
The Gate Toolbox allows you to chose which type of basic gate
to place (AND, OR, NOT, etc).
- INPUTS This opens the INPUTS Toolbox, where inputs (both manual &
clocked) and outputs (hierachical) are set.
- MOVE This icon selects MOVE GATE MODE. This allows you to click
on and move gates which you have put in the wrong place.
- BLOCK Selects block create/enter mode for hierachy manipulation.
- FILE Opens the FILE Toolbox for the usual save/load/exit/library
functions.
3.5 Toolboxes
--------------
In general, a toolbox window in CLA is open which just contains icons for
various functions (some of which cannot be accessed from anywhere else).
All other Toolbox windows in CLA (apart from the Main Menu) are 'Roll-ups'
- ie. clicking on the Full Widget (top right of the window) when they are
open will cause the window to 'Roll up' leaving just the top bar (this stops
things getting to cluttered). They are restored by selecting the Full Wigdet
again. The close button simply closes the window.
If you have TOS 3/4/MultiTOS then icons in toolbar windows can be accessed in
the background without topping them. WINX also supports this.
3.6 Dialog Windows
-------------------
Note that ALL CLA dialogs appear in windows. This means that you can move them
and work in editors without actualy closing a dialog.
3.6.1 Popups
-------------
Inside CLA dialogs, there may be changable fields (eg, the font in the printout
dialog). Clicking on these will popup a menu for you to select from.
The downside of having everything in windows, is that older TOS versions will
start to run out of windows (the program then starts behaving a bit strangely)
- so you are best to install WINX if you have an older TOS (<2).
4.0 BASIC DESIGN PROCESSES
===========================
This section details how to produce SIMPLE designs. More complex
designs require much more though, and a substantial use of the BLOCK
structuring facility is really necassary.
4.1 PLACING COMPONENTS
-----------------------
To produce a design, you must first place some components. In order to
do this you must select the GATES icon and then select a type of gate to
place from the Gates Toolbox which then appears. Alternatively select
a gate type from the gates pull-down menu.
Now whenever you move the cursor within the schematic window, you can place
a gate at the current location by pressing the left mouse button. If you
hold down the button, then move the mouse, you can make the gate you are
placing face left, right, up or down.
Whilst in the schematic window, the mouse pointer will be replaced by a set
of cross hairs.
The schematic window does not have to be on top in order to edit thing in it.
You can place a gates toolbox window in front of the schematic for quick gate
selection, then place things straight into the schematic WITHOUT topping
the window.
4.2 LINKING COMPONENTS
-----------------------
Once you have a few components on the screen, you will want to
connect them together. To do this you use the LINK icon. Once selected,
this icon places you in link mode.
To create a link between two components, you then only have to click on
the source gate, and then point at the destination gate. If there is a
spare input to the destination gate, then a line will be drawn between
the two. To select the desination gate, press the LEFT mouse button.
NOTE: Pressing the RIGHT HAND BUTTON will cancel a link.
Once source & destination components are selected, you must draw a wire
path between the two. This is for your referance, and drawing a silly wire
path will NOT effect the simulation at all.
An 'L' cursor is used whilst drawing the wire path. To add a point to the
path, press the LEFT BUTTON. Pressing the right hand button will terminate
the wire.
Also, with single input gates, if you happen to add a point to the wire
which coincides with the input terminal of the gate, then the wire will
terminate itself.
Pressing ALTERNATE whilst drawing a wire path will swap the orientation of
the link path:
---------+ +
| |
| |
| |
| |
| |
| |
+ +----------
4.3 ADDING INPUTS
------------------
A circuit is not much use with no inputs, so inputs may be added using
the ADD INPUTS icon. This can be found in the INPUTS menu which is invoked
by selecting the INPUT icon on the main menu.
The icons on the INPUTS menu are as follows (left to right):
- ADD INPUT : Adds a manually togglable input to the circuit.
If within a block, this adds an input connector from
the next level up from that block to this level.
-----------
| |
| |
| |
-->input |
| |
| |
-----------
- ADD OUTPUT : This adds am output connector from a block to the next
Level up in the design. If you are NOT within a block
then this icon does nothing.
- ADD CLOCK : This adds an auto-clocked input to the circuit.
(See section 6.3)
NOTE: All hierachical input / output connections are dealt with in the
REGISTERED USER documentation. This is not to say that the block
structuring features are at all disabled in this release, only that
their usage is not documented here. Pay or play - I'd prefer you to
pay.
When ADD INPUT is selected you will be asked to place the input. As a matter
of readability, the program will automatically place ALL external inputs at
the left of the screen. Only the vertical position of the input can be
altered.
The input connector will now appear and you should now point to the gate to
which the input should be connected and click the LEFT BUTTON. As with
linking gates, pressing the RIGHT BUTTON will cancel the input.
Once an input destination is selected, you should then draw a wire path in
exactly the same way as when linking gates togther.
NOTES:
------
(1) EACH INPUT CAN GO TO ONLY ONE PLACE. TO FEED AN INPUT TO MORE THAN
ONE PLACE, FIRST CONNECT IT TO A DRIVER GATE (NOP), THEN CONNECT
THE DRIVER TO EVERYWHERE ELSE.
5. THE FILE MENU
=================
The FILE menu is opened by the FILE icon at the bottom of the main
menu.
The icons in the FILE menu are (from left to right):
- LOAD : Load a circuit design from disc.
- SAVE : Save the present circuit design to disc.
- LIBRARY : Insert a module from the libraries into the present block.
- PRINT : Open the GDOS output Dialog Window.
(Only useful if GDOS is installed.)
- USER : Open the configuration window where the following options can
be set:
i) Grid snap (ON/OFF)
ii) X-Y coordinate readout (ON/OFF)
iii) Auto part name (ON/OFF)
iv) Scope Resolution.
This is actually a misnomer. The value of Scope
resolution is really the number of gates through
which a signal will propogate for each basic
clock cycle / Logic Analyser update.
v) Drawing scale
- EXIT : This either exits the present drawing and leaves a blank
workspace, or quits the program.
5.1 SAVING
-----------
Select SAVE from the FILE menu. Follow the usual GEM procedure for
selecting a file, then do as the alert boxes say. Overwriting of existing
files is trapped, but out off disc space errors will kill the program
(sorry).
5.2 LOADING
------------
As above, but use the LOAD icon instead.
Only one design may be loaded at once. The multiple schematic windows (sister
windows) are intended to allow editting of several hierachical blocks at once
within the same design.
5.3 PRINTING & METAFILES
-------------------------
Nice and easy - to procedure for printing is as follows:-
1) Go to the block you wish to print.
2) Select the PRINTOUT option from file menu
The 'Hardcopy Output' dialog will appear.
3) Set what you want to print - the circuit diagram or the contents of the
Logic Analyser window.
4) Set the font type you wish to use. GDOS fonts look better, but CLA-VECTOR
fonts are useful for programs such as Pagestream & Calamus 1.09, which
have problems with normal GDOS fonts - they're just drawn as line vectors,
so Calamus will load & display them properly.
5) Select the output destination - either hardcopy (device 21) or metafile
(device 31).
6) Click on PRINT.
The progress window will now appear, and give a report on how printing is
progressing.
NOTE : For best results when printing circuit diagrams, set the PAGESIZE so
that the circuit will fill the page, otherwise you will not be able to
read the text labels on a low res. printer (<300dpi).
6. SIMULATION
==============
The main features of CLA are the simulation modes. These can be invoked
at any point in the design process. The only prerequisite is that at least
one input to the circuit should be connected up (otherwise no stimulus can be
given to the circuit).
6.1 THE SIMULATION TOOLS ICON
------------------------------
Before simulating a design, it is neccesary to become familiar with
the facilities available via the SIMULATION TOOLS toolbox, or the Simulation
pull-down menu.
- LOGIC ANALYSER
This is a large looking double icon, which if clicked on will open
the Logic Analyser window.
- SET PROBE
Allows you to specify which signals will appeat in the logic analyser.
- PRINT LOGIC ANALYSER.
Prints out the present state of the Logic Analyser Display.
(Only works with GDOS installed).
- ACTIVE PROBE.
Toggle the active probe (ON/OFF)
- WORD GENERATOR.
Allows a preset series of signals to be fed to the design.
- BULB.
Select place bulb.
6.1.1 BULBS
------------
The bulb icon is really a just a component the same as all the gates
in the Gates Selector. Once selected, you can (if you close the TOOLS
window) place bulbs in the same way as ordinary gates.
The differance between a bulb and a gate is that the bulb will show
graphically on the screen the state of it's input (high or low).
If the input to a bulb is high then the bulb will be black, where-as
if the input is low then it will be white.
********NOTE: BULBS ARE CURRENTLY DISABLED IN CLA V2 DUE TO A SHORTAGE
******** OF DEVELOPMENT TIME (I BROKE THEM AT THE LAST MINUTE).
******** ONLY USE THE LOGIC ANALYSER WINDOW FOR NOW.
6.1.2 LOGIC ANALYSER PROBES
----------------------------
Bulbs are only updated and displayed if they are currently visible,
so they cannot be used to compare signals in differant blocks of the
design. More useful for any complex analysis is the LOGIC ANALYSER.
This allows probes to be set on the output of any component in the circuit,
and this will produce a trace in the logic analyser window (see section
6.1.3).
To set a Logic Analyser probe, you click on the right hand side of the
Logic Analyser Icon (the big one at the left hand side of the TOOL window).
This selects the SET PROBE function. You will be prompted to select a
component to set the probe on. Click on the component, and you will be
prompted for a Scope Trace. This can be any number from 1 to 20 (there are
20 traces available you see, and you have to use one of them).
A probe is now set, and the appropriate trace will be updated when a
simulation is run.
6.1.3 THE LOGIC ANALYSER
-------------------------
This is the main tool in simulating designs. It allows the response of
selected components to be monitored and compared in pseudo-realtime.
There are 20 traces visible simultaneously. The assignment of these probes
is detailed in the previous section.
Selecting the Logic Analyser Icon (the big icon in the TOOLS window)
opens the Logic Analyser window.
There will only be actual traces displayed for the traces which have
been assigned using SET PROBE.
In order to see the results of a simulation, the Logic Analyser window
should be OPEN during simulation (otherwise you cann't see the traces).
6.1.4 THE ACTIVE PROBE
-----------------------
This function when enabled, allows the output of any gate to be
checked DURING interactive simulation, without having first set a probe
of any type on it, and without stopping the simulation.
To use the Active Probe, simply select it's icon, then start a
simulation. To check a gates status, simply point and click with the LEFT
HAND MOUSE BUTTON.
The active probe may be used in conjunction with any of the other
simulation tools available.
6.2 RUNNING A SIMULATION
-------------------------
To actually start a simulation running you use the RUN SIMULATION
icon from the main menu. This can be done at any time during the design
process, PROVIDED THAT YOU HAVE GIVEN THE DESIGN AT LEAST ONE EXTERNAL
INPUT.
When simulating, the message 'RUNNING SIMULATION' appears in the status window.
A simulation is stopped by pressing the RIGHT HAND MOUSE BUTTON.
If the scope window is open then it will be updated whilst the simulation
is running, and will scroll to show results.
Any bulbs currently on screen will be updated.
NOTE: Any un-connected inputs to gates will be tied LOW.
6.2.1 INPUTS DURING SIMULATION
-------------------------------
In order to do useful simulations, you must be able to modify the
inputs to simulate the expected inputs to the system and examine it's
response. To do this, the status of any input can be toggled between it's
high and low states by pointing at the required input in the TOP LEVEL of
the design and pressing the LEFT HAND MOUSE BUTTON. A dot is displayed in
the middle of the input connector to show it's status. This should be done
whilst the simulation is running, and allows the design to be used
interactively.
6.2.2 THE ACTIVE PROBE & THE LOGIC ANALYSER DURING SIMULATION
--------------------------------------------------------------
The Logic Analyser is updated during simulation to reflect the state
of the circuit as it is affected by the inputs.
NOTE : The ACTIVE PROBE does not interfere with this. In the case of the
active probe being turned on during simulation, the input toggle
will have priority over the active probe at the left hand side of
the screen.
6.3 CLOCKED INPUTS
-------------------
Digital systems will quite often be required to perform things in a
specific sequence or at a certain time. In these circumstances (such as
computer systems design) the system is driven by a clock signal. In order
to simulate clock driven systems, you could sit and manually toggle the
inputs (but you would get sore fingers). Instead, CLA provides a special
type of input, which provide a clock signal at a specified rate.
A clocked input is added using the ADD CLOCK icon from the INPUTS
menu (see section 4.3).
The input is placed and connected up in exactly the same way as for a
normal input (except that you select ADD CLOCK instead of ADD INPUT).
Once connected up however, you are prompted for a CLOCK FREQUENCY DIVIDER.
This is an important concept, so you must understand this to use clocked
inputs.
It is possible for a system to have more than one clock signal, at
differant frequencies. The frequency divider allows this to be simulated by
relating the frequencies of all the clocks in the system to one SOURCE
FREQUENCY.
The SOURCE FREQUENCY is the frequency of the highest speed clock signal
which is going to be used by the system. All other clocks are based on
this frequency, divided by some whole number (the FREQUENCY DIVIDER).
The SOURCE FREQUENCY clock would have a clock divider of 1. A clock of
HALF the frequency would have a clock divider of 2.
In general : SOURCE FREQUENCY
----------------- = CLOCK FREQUENCY
FREQUENCY DIVIDER
Confused ? Here is an example set of clock frequencies and dividers to let
you see what I'm getting at :
+-----------------+---------------+---------------------------------------+
| CLOCK FREQUENCY | CLOCK DIVIDER | REASON |
+-----------------+---------------+---------------------------------------+
| | | |
| 1 KHz | 1 | This is the highest clock frequency |
| | | needed (the SOURCE FREQUENCY). |
| | | |
| 500 Hz | 2 | 1000 Hz / 2 = 500 Hz |
| | | |
| 10 Hz | 10 | 1000 Hz / 10 = 10 Hz |
| | | |
+-----------------+---------------+---------------------------------------+
If things still aren't clear, register and then you can ask me personally
what this all meant.
NOTE : Clocked inputs cannot be toggled manually.
6.4 THE WORD GENERATOR
-----------------------
This is a window in which all inputs to the circuit are listed.
It runs seperate from the interactive simulator, but shares the same logic
analysers. A series of logic levels (1/0 currently) may be set up,
and these will be used as input to the circuit when the GO button is selected.
All the inputs will be fed to the circuit in turn, then the simulation will
terminate & the logic analyser window will be updated to display how the
circuit has behaved during the simulation.
This is 'BATCH MODE' simulation, as once started there can be no interaction
from the user.
To put this in perspective, it should take not more than 20 seconds to do a
very large circuit (1000's of gates) with a scope res of 512 gates delays per
scope step. Most circuit's will appear to simulate instantly (using scope res
around 64).
6.5 SCOPE RES.
---------------
The scope res. is important, as it set's the maximum measurable/changable
resolution of the simulator in terms of unit gate delays.
So, a res. of 1 means that the signal will propogate through exactly one gate
before the logic analyser updates again.
This also means that you can change the signal after one unit delay. This can
be good or bad depending upon circumstances. A problem is that you can generate
clocks which are faster than the time required to latch data into a register.
Eg, the D-FLIPFLOP in the User_lib library requires a clock of period > 32
gate delays.
If you use a higher scope res (ie lower number of unit gate delays), it's quite
possible for the design to stop working (just like using too fast a clock in
the real world).
A good rule of thumb is to set the scope res to 32 in most cases.
The Scope Res. is set in the Configuration Dialog.
7. OTHER FEATURES
==================
This document was merely intended to get people stared using CLA. It
does not cover the more advanced features such as :
- BLOCK structuring & hierachical design.
(Hint - in block mode, LEFT button is for pushing down into blocks,
RIGHT button is for creating new blocks. Go back up using the
close button pop-up menu option 'Go-back'.)
- Loading Library modules.
- The Librarian program and creating user libraries.
- Creating Custom schematic gates sets.
- Using the VHDL compiler.
These features ARE in the V2 RELEASE 1 package, but are not detailled in
this document. Their use is a matter of trail and error on the part of
unregistered users. Registered users will, however recieve FULL
documentation of these features (of course YOU are an honest person aren't
you ? I'm sure you wouldn't use an unregistered SHAREWARE program - would
you....)
There is a lot more pencilled in for the next release of CLA. Registered
users will recieve this as a matter of course, but it is open to debate
as to whether the next release will be made available via FTP & the nets.
Certainly, the Synthesis tool extensions will NOT be made generally
available (when I've finished them) apart from to registered users.
APPENDIX A : KEYBOARD SHORTCUTS
================================
Most functions of CLA may be accessed via keyboard shortcuts as well
as the icons. These keyboard shortcuts are accessed by merely pressing
shift + the appropriate key, NOT via Control or Alternate.
Note that currently they aren't very reliable, you'd be better using the
actual icon or the pull-down menu option.
The keyboard shortcuts presently defined may be found in the file:
'\CONFIG.CLA\KEYS.DEF'
Other icons may be assigned to the keyboard by adding their names to this
file. The names can be found in the file:
'\DOC\SHRTCUTS.TXT'
**** NOTE: THIS FILE IS NOT INCLUDED WITH THIS RELEASE
APPENDIX B : LIBRARY MODULES
=============================
You may have noticed the LIBRARY icon on the FILE menu. This as it's
name indicates, allows library modules to be loaded in (such as IC's) and
used within your designs.
Clicking on the LIBRARY icon brings up something similar to a file
selector. This is the Library Module Selector. It gives the name of the
current library (changable by clicking on name of the library at the top
of the selector), followed by a list of the library's contents.
Clicking on a module name, or it's description, will bring up an
Alert Box to confirm that you want to include this module.
If you confirm this then the module will load and there will be a
short pause whilst the module is mapped into your design. A ghost outline
of the module is then displayed and this may be moved around the screen
using the mouse. Clicking a mouse button will cause the block to be placed
at the current location.
The module is now just like any other hierachichal block, and it's
inputs and outputs can be connected up as normal. The library modules may
even be opened up to examine the way we at Data Uncertain implemented the
module, with the exception of VHDL blocks (those displayed with a big V in
them) such as the 74xx library,as these do not contain meaningful schematics
anyway.
APPENDIX C : ABOUT THE THE AUTHOR
==================================
DATA UNCERTAIN SOFTWARE is made up of:
Craig Graham :
Main GUI code, Compiler type simulation routine
& main code, VHDL, Librarian, vector editor.
(BAe SPACE SYSTEMS, Stevenage, England)
EMAIL : Craig.Graham@newcastle.ac.uk
Plain Mail: 46 School Road,
Langold,
Worksop,
Notts,
S81 9PY,
ENGLAND
And to varying degrees, the contributions of the following people:
Peter Brooks-Johnson :
Design section User interface & Fanout Checking,
Look & feel of Editor GUI (design of).
(Even though I've removed the Fanout stuff for now.)
SPOUT Spice OUTput (if he ever finishes it).
(British Telecom, England)
EMAIL : P.A.Brooks-Johnson@newcastle.ac.uk
Malek Jaber :
Some programming, but I've forgotten what (sorry Mal).
Forcing the structured rewrite upon me.
(3 Comm, Hemlhampstead, England)
Chris Forker , Julian Coleman & Sime Harrison :
Beta testing on the MegaST, TT & STE respectively.
Chris Cuckow :
For his enthusiasm in the early years.
Kev R. & Tom McC. :
Just for being cool and making us go to the clubs and get off
with girls and get drunk and.... well, relax and live a little.
All authors are students currently studying for their Masters Degrees in
Microelectornics And Software Engineering at Newcastle University, England,
sponsored by and working for the companies quoted above during their
vacations.
CLA was intended mainly as a tool for helping the authors through their
degrees. As there are 2 years left to go before graduation, there will
be at least that many years of support & development for the program.
The authors may be contacted via EMAIL or Plain Mail at the addresses given
above. EMAIL is appreciated, espescially from non-registered users, as
replies are easier and quicker to send (and don't cost us anything). In fact
unregistered users are UNLIKELY to get replies to anything apart from EMAIL,
unless they enclose some money....
Alternatively, I may be contacted via the USENET groups :
comp.sys.atari.st
comp.sys.atari.st.tech
Which I read during term time.
Enjoy the program....it's our pride and joy.
CRAIG GRAHAM