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 >
Text File  |  1998-09-26  |  40KB  |  1,005 lines

  1. CLA LOGIC v2 
  2. ============ 
  3.  
  4. Beta Test Release 4
  5.  
  6.  
  7. NOTE: This document is a conversion & update of the CLA v1 (unregistered) manual 
  8.     - done in about an hour and a half. 
  9.    This means that it isn't very good...it is intended as a stop-gap measure 
  10.    until either a new manual is written, or an on-line help facility is 
  11.    added.
  12.  
  13.  
  14. NOTE [16/5/94]: This document is now WELL out of date - tough. 
  15.         Several things contained in it are wrong, but I'm not going 
  16.         to change it as the registered user doc's are finished now, so 
  17.         registered users don't need this file anyway. 
  18.  
  19. NOTE [29/5/94]: Now VERY out of date........ 
  20.  
  21.         If you haven't registered - shame on you. 
  22.  
  23. =========================================================== 
  24.  
  25.          CLA Version 2 Release 1 (Beta4) 
  26.             USER MANUAL (Summary) 
  27.  
  28. =========================================================== 
  29.  
  30. Copyright 1993, By Data Uncertain Software. 
  31.  
  32. Written By Craig Graham. 
  33.  
  34. ===========================================================
  35.  
  36.  
  37.                     CONTENTS 
  38.                     -------- 
  39.  
  40. 1.   INTRODUCTION 
  41.  
  42. 2.   INSTALLATION 
  43. 2.1       Unpacking 
  44. 2.2       Files 
  45. 2.3       System Required 
  46. 2.4       Loading 
  47.  
  48. 3.   THE CLA ENVIROMENT 
  49. 3.1       Pull-down Menus 
  50. 3.2       The Status Window 
  51. 3.3       Editor Windows 
  52. 3.4       The Main Menu Bar 
  53. 3.5       Tool Boxes 
  54. 3.6       CLA Dialog Boxes 
  55. 3.6.1          Pop-up menus 
  56.  
  57. 4.   BASIC DESIGN PROCESS 
  58. 4.1       Placing Components - The Basic Gates Toolbox 
  59. 4.2       Linking Components 
  60. 4.3       Adding Inputs 
  61.  
  62. 5.   THE FILE MENU 
  63. 5.1       Save 
  64. 5.2       Load 
  65. 5.3       Printing & Metafiles 
  66.  
  67. 6.   SIMULATION 
  68. 6.1       The Tools Icon 
  69. 6.1.1          Bulbs 
  70. 6.1.2          Logic Scope Probes 
  71. 6.1.3          The Logic Scope 
  72. 6.1.4          The Active Probe 
  73. 6.2       Running A Simulation 
  74. 6.2.1          Inputs during Simulation 
  75. 6.2.2          The Active Probe & The Scope 
  76. 6.3       Clocked Inputs 
  77. 6.4       The Word Generator 
  78. 6.4.1          Textual Stimulus Files 
  79.  
  80. 7.   OTHER FEATURES 
  81.  
  82. APPENDIX A : KEYBOARD SHORTCUTS 
  83. APPENDIX B : LIBRARY MODULES 
  84.  
  85. 1.0 INTRODUCTION 
  86. ================= 
  87.  
  88.      This manual is intended as a 'get you going' sort of guide to the 
  89. CLA Logic design & simulation package. Due to the highly iconic nature 
  90. of the program, and the textual nature of this manual, it is not intended 
  91. as an in-depth tutorial and referance. A complete manual is available to 
  92. registered users (see README.DOC for details). 
  93.  
  94.      CLA is intended as a tool to enable fast prototyping of digital 
  95. circuits. The inspiration as to it's approach to this is rooted firmly in 
  96. the UN*X world, where several high end packages costing several thousand 
  97. pounds offer similar features (although much wider in scope of course, 
  98. with a price tag of several thousand pounds, we could do this as well, but 
  99. then we couldn't release as shareware). 
  100.  
  101.      The design part of the package (perhaps a bad description, as design & 
  102. simulation are completely integrated) supports the standard set of logic 
  103. gates (ANSI style representations only for now I'm afraid - perhaps a 
  104. set of IEEE symbols will be made available at a later date, or you could draw 
  105. up your own with VECED2), and also a few librarys of standard components 
  106. (eg, flip-flops, adders, etc) and IC's (the 74xx TTL series). 
  107.  
  108. A subset of VHDL is provided for textual circuit description. 
  109.  
  110.      The integrated simulation section of the program can be accessed at 
  111. any time and provides interactive use of the circuit, with Logic scope 
  112. analysis, 'live' indicator bulbs, active logic probes, etc, or more formal 
  113. testing from an integrated Word Generator. 
  114.  
  115.      The whole enviroment is graphical, using icons, windows, 'flying' dialogs 
  116.  and the mouse to produce & simulate the design. 
  117.  
  118.      Not wanting to labour a point, but CLA is SHAREWARE. If you find it at 
  119. all help full then REGISTER - you can then make sugestions for extra 
  120. features you need.....if you don't register then you get no support from 
  121. the authors at all.
  122.  
  123.  
  124. 2.0 INSTALLATION 
  125. ================= 
  126.  
  127. 2.1 UNPACKING 
  128. -------------- 
  129.  
  130.      The fact that you have reached this point in the documentation at all 
  131. sugests that you have sucessfully unpacked the file 'CLA_V2R1.ZIP'. 
  132.  
  133. 2.2 FILES 
  134. ---------- 
  135.  
  136. If you have used STZIP 2.x, then the correct directory structure should 
  137. already be set up for you. Just as a check however: 
  138.  
  139. Once unpacked, you should have the following file & directory 
  140. structure :- 
  141.  
  142. .\ 
  143.    CLA.PRG        CLA Design & Simulation Enviroment 
  144.    VECED2.PRG     Vector Object Editor 
  145.    LIBV1.PRG      Librarian 
  146.    README         Notes on this beta release, and a survey to return. 
  147.    INVENTOR.Y     The file inventory (almost certainly more up to date than 
  148.                what you are reading now. 
  149.  
  150. .\DOC 
  151.    COPYRGHT.TXT   How you can copy this. 
  152.    BUGLIST        Known Bugs 
  153.    CHANGES.TXT    New stuff from the last release. 
  154.    FUTURES.TXT    Stuff currently under developement 
  155.    MANUAL.TXT     This file. 
  156.    VECEDIT.TXT    Quick notes on the Vector Object Editor VECED2. 
  157.    TOS4SCR1.GIF   Screenshots (GIF format) of CLAv2 in it's full glory on 
  158.    TOS4SCR2.GIF   a Falcon. 
  159.    FSM_EDIT.GIF 
  160.  
  161. .\EXAMPLES        Several example .NET files to play with. 
  162.  
  163. .\FSM_DES 
  164.    FSM_EDIT.PRG   The Finite State Machine design program. 
  165.    SDES.RSC    Resource file for the above (colour only). 
  166.    B.FSM       Example state machine files. 
  167.    V6.FSM 
  168.    README.TXT     Doc's for the state machine editor. 
  169.  
  170. .\VHDL 
  171.    README         The VHDL compiler documentation. 
  172.    CLA_VHDL.PRG   VHDL subset to CLA.NET compiler. 
  173.    CLAVHDLC.RSC   Resource file for the above (colour). 
  174.    CLAVHDLM.RSC   Resource file for the above (mono). 
  175.    OPERATORS.CLA  File giving operator precedence for the VHDL compiler. 
  176.  
  177. .\VHDL\74XX.VHD      The VHDL source for the standard 74 series TTL library 
  178.    7400.VHD 
  179.    7402.VHD 
  180.    7404.VHD 
  181.  
  182. .\RESOURCE.CLA 
  183.    BWLOGIC.NAM    Various CLA resources 
  184.    CLAC.RSC 
  185.    CLAM.RSC 
  186.    FILE.GTB 
  187.    GATES.GTB 
  188.    INPUTS.GTB 
  189.    TOOLS.GTB 
  190.    LIBV1C.RSC     Librarian resources (colour & mono) 
  191.    LIBV1M.RSC 
  192.    VECEDITC.RSC   Vector Object editor resources (colour & mono) 
  193.    VECEDITM.RSC 
  194.  
  195. .\RESOURCE.CLA\VECTORS 
  196.    DEFAULT.VFN    CLA vector font - primitive, but effective. 
  197.    GATES.VEC      Standard logic gate images (editable with VECED2) 
  198.  
  199. .\CONFIG.CLA 
  200.    FANOUT.DEF     The average fanouts available from various IC technologies 
  201.    KEYS.DEF    Keyboard shortcuts definition file. 
  202.    LIB.DEF        The library definition file (editable with LIBV1) 
  203.  
  204. .\LIBRARY         The modules library for CLA. 
  205.  
  206. .\LIBRARY\74XX    The 74 series TTL library (from VHDL sources) 
  207.    7400.NET 
  208.    7402.NET 
  209.    7404.NET 
  210.  
  211. .\LIBRARY\USERLIB A predefined but empty library for your stuff. 
  212.  
  213. .\LIBRARY\BASIC      Simple things such as 2-bit adders & D-flip-flops
  214.  
  215.  
  216.  
  217. If anything is missing then you have problems. 
  218.  
  219. NOTE: CLA MUST have this directory structure, or it WILL NOT work. 
  220.       You can place the root of this structure ( .\ ) anywhere, 
  221.       but must keep all things in the correct directories after 
  222.       that. 
  223.  
  224. If you wish to use the printed output facility, then you will require GDOS, 
  225. FontGDOS, SpeedoGDOS or NVDI (I use NVDI) to be installed as well. It is 
  226. beyond the  scope of this document to explain the complexities of installing 
  227. GDOS (someone write & tell US about that black art !!!), so the only comment to 
  228. make on that is that the program expects to find a device driver available 
  229. as device 21. This is usually the EPSON FX80 driver and as this is the only 
  230. printer we have available to us, it's the only on that is tested at the 
  231. moment, but we ASSUME that other drivers will work as long as they are 
  232. installed as device 21 in the ASSIGN.SYS file. 
  233.  
  234. GEM Metafile output is also available, and the above applies to that as well, 
  235. but META.SYS must be installed as device 31. 
  236.  
  237. This program mayu not work with FSMGDOS - but, hey if you're using that then 
  238. you deserve all you get anyway. 
  239.  
  240. 2.3 SYSTEM REQUIRED 
  241. -------------------- 
  242.  
  243. The basic system required to run CLAv1 was :- 
  244.           - 512K ATARI ST 
  245.           - 1 Double sided disc drive 
  246.           - Monochrome monitor 
  247.  
  248. This is no longer the case (sorry...) 
  249.  
  250. The basic system required to run CLAv2 is :- 
  251.           - 2Meg ATARI ST 
  252.           - 1 Double sided disc drive 
  253.           - Monochrome monitor 
  254.  
  255. The above is not ideal however. 
  256. The recomended system for running CLAv2 is :- 
  257.    Platform : MegaSTE / TT / Falcon 
  258.    Memory   : 4Meg - required for running CLA at higher res. 
  259.    Storage  : Hard drive, requires 1 Meg for basic installation - this 
  260.             WILL increase quite drasticly as the synthesis tool & FSM 
  261.             designer are added. 
  262.     Display  : Crazy Dots / TT / Falcon extended (FalconScreen/Blowup030) 
  263.             + a gfx accellerator (Warp9 / NVDI), in min. 16 Colours. 
  264.    OS       : TOS 4.02, multiTOS 1.04+. 
  265.  
  266. Our developement system is :- 
  267.    Platform : Falcon030 + PowerUP2 32Mhz accellerator card 
  268.    Memory   : 4Meg 
  269.    Storage  : 85Meg Hard drive 
  270.     Display  : 800x600x16colour Falcon extended (FalconScreen) 
  271.             + NVDI2.5 
  272.    OS       : TOS 4.02 + WINX2.2 (highly recomended - it's great). 
  273.  
  274. This is quite a large jump in system requirments, but hey, the jump from v1 to v2 
  275. has been really quite severe. And a PC based program to do this would use 
  276. a lot more.... 
  277.  
  278. 2.4 LOADING 
  279. ------------ 
  280.  
  281.      To load CLA, click on 'CLA.PRG'. The program should then load and 
  282. run. Alternatively, CLA may be installed using the INSTALL APPLICATION 
  283. option from the desktop, using a '.NET' file extension. This allows the 
  284. program to be run by double clicking on a .NET file (these are the circuit 
  285. designs). 
  286.  
  287.    In TOS 3/4/MultiTOS, CLA.PRG should be installed to default to it's OWN 
  288. directory, not the top window's, and should be passed the whole path to a 
  289. file. 
  290.  
  291.    When CLA loads, the file BOOT.DBG is created in the current directory 
  292. indicating what CLA thinks your system is. If you have a problem, mail me 
  293. a copy of this file - it'll help me to sort you out.
  294.  
  295. 3.0 THE CLA ENVIROMENT 
  296. ======================== 
  297.  
  298. 3.1 Pull Down Menus 
  299. -------------------- 
  300. Most CLA options are available from both the standard GEM pulldown menus at 
  301. the top of the screen or from the various Toolbox windows which can be opened. 
  302. There are also keyboard shortcuts for most frequently used things. 
  303.  
  304. CLA starts up with 3 windows displayed. 
  305.  
  306. 3.2 The Status Window 
  307. ---------------------- 
  308. At the top of the screen is a status window which reports actions (such as 
  309. PLACE GATE, MOVE GATE, etc). This window is fixed - you cann't move it, you 
  310. cann't close it. It can be overlayed by other windows, and can be topped by 
  311. clicking in it, but thats all. 
  312.  
  313. 3.3 Editor Windows 
  314. ------------------- 
  315. Filling most of the screen is an empty window. This is a schematic window 
  316. in which you will do your designing. Re-sizing, moving & scrolling of this 
  317. type of window are as you would expect in a GEM application, however, the 
  318. full & close widgets are used slightly differently. Close behaves like the 
  319. MS Windows / OSF Motif top left button, and drops down a menu, of which close 
  320. is only one of several options (eg. ICONIFY will turn a window into an icon, 
  321. SISTER WINDOW will produce another window with the same contents as the first). 
  322. The Full widget pops up another menu, this time one with several Icons and 
  323. buttons in it. From left to right, these are: 
  324.  
  325.  - Windowed mode display. Sets this window to display graphics at a set 
  326.    scale and force you to scroll around the design using the scroll bars. 
  327.    The actual scale is set in the configuration dialog. 
  328.  
  329.  - Scaled mode display. Sets this window to display the whole design in the 
  330.    window, rescaling it to fit as you resize the window. The scroll bars are 
  331.    ignored here. 
  332.  
  333.  - '' = Iconify. This does the same as selecting Iconify from the Close 
  334.    Pull-down. 
  335.  
  336.  - '' = Full. This does what the full widget would normally do in most GEM 
  337.    programs and sets the window to full screen. 
  338.  
  339. 3.4 The Main Menu Toolbox 
  340. -------------------------- 
  341. The Main Menu Toolbox is displayed on the right hand side of the screen at 
  342. start-up. It may be move freely (it's in a GEM window), but in ST High there 
  343. is very little room to move it into. 
  344.  
  345. Unlike all other Toolboxes in CLA, the main menu cannot be closed or Rolled 
  346. up - it is there all the time. 
  347.  
  348. It's icons (in top down order) have the following functions:- 
  349.  
  350.  - REFRESH     Forces the current schematic window to redraw. 
  351.  
  352.  - LINK        Selects the link-up mode for joining up components. 
  353.  
  354.  - CUT LINK    Selects the disconnect components mode. 
  355.  
  356.  - DELETE ITEM Enters Delete mode for deleting gates, inputs & blocks. 
  357.  
  358.  - ROTATE      As it's name sugests, this icon put's you into rotate mode. 
  359.                Now, clicking on any gates will cause them to rotate by 90°. 
  360.  
  361.  - GATE        The five bar gate icon opens the GATES Toolbox. 
  362.                The Gate Toolbox allows you to chose which type of basic gate 
  363.                to place (AND, OR, NOT, etc). 
  364.  
  365.  - INPUTS      This opens the INPUTS Toolbox, where inputs (both manual & 
  366.                clocked) and outputs (hierachical) are set. 
  367.  
  368.  - MOVE        This icon selects MOVE GATE MODE. This allows you to click 
  369.                on and move gates which you have put in the wrong place. 
  370.  
  371.  - BLOCK       Selects block create/enter mode for hierachy manipulation. 
  372.  
  373.  - FILE        Opens the FILE Toolbox for the usual save/load/exit/library 
  374.                functions. 
  375.  
  376. 3.5 Toolboxes 
  377. -------------- 
  378. In general, a toolbox window in CLA is open which just contains icons for 
  379. various functions (some of which cannot be accessed from anywhere else). 
  380.  
  381. All other Toolbox windows in CLA (apart from the Main Menu) are 'Roll-ups' 
  382. - ie. clicking on the Full Widget (top right of the window) when they are 
  383. open will cause the window to 'Roll up' leaving just the top bar (this stops 
  384. things getting to cluttered). They are restored by selecting the Full Wigdet 
  385. again. The close button simply closes the window. 
  386.  
  387. If you have TOS 3/4/MultiTOS then icons in toolbar windows can be accessed in 
  388. the background without topping them. WINX also supports this. 
  389.  
  390. 3.6 Dialog Windows 
  391. ------------------- 
  392. Note that ALL CLA dialogs appear in windows. This means that you can move them 
  393. and work in editors without actualy closing a dialog. 
  394.  
  395. 3.6.1 Popups 
  396. ------------- 
  397. Inside CLA dialogs, there may be changable fields (eg, the font in the printout 
  398. dialog). Clicking on these will popup a menu for you to select from. 
  399.  
  400. The downside of having everything in windows, is that older TOS versions will 
  401. start to run out of windows (the program then starts behaving a bit strangely) 
  402. - so you are best to install WINX if you have an older TOS (<2). 
  403.  
  404. 4.0 BASIC DESIGN PROCESSES 
  405. =========================== 
  406.  
  407.      This section details how to produce SIMPLE designs. More complex 
  408. designs require much more though, and a substantial use of the BLOCK 
  409. structuring facility is really necassary. 
  410.  
  411. 4.1 PLACING COMPONENTS 
  412. ----------------------- 
  413.  
  414.    To produce a design, you must first place some components. In order to 
  415. do this you must select the GATES icon and then select a type of gate to 
  416. place from the Gates Toolbox which then appears. Alternatively select 
  417. a gate type from the gates pull-down menu. 
  418.  
  419. Now whenever you move the cursor within the schematic window, you can place 
  420. a gate at the current location by pressing the left mouse button. If you 
  421. hold down the button, then move the mouse, you can make the gate you are 
  422. placing face left, right, up or down. 
  423.  
  424. Whilst in the schematic window, the mouse pointer will be replaced by a set 
  425. of cross hairs. 
  426.  
  427. The schematic window does not have to be on top in order to edit thing in it. 
  428. You can place a gates toolbox window in front of the schematic for quick gate 
  429. selection, then place things straight into the schematic WITHOUT topping 
  430. the window. 
  431.  
  432. 4.2 LINKING COMPONENTS 
  433. ----------------------- 
  434.  
  435.      Once you have a few components on the screen, you will want to 
  436. connect them together. To do this you use the LINK icon. Once selected, 
  437. this icon places you in link mode. 
  438. To create a link between two components, you then only have to click on 
  439. the source gate, and then point at the destination gate. If there is a 
  440. spare input to the destination gate, then a line will be drawn between 
  441. the two. To select the desination gate, press the LEFT mouse button. 
  442.  
  443. NOTE: Pressing the RIGHT HAND BUTTON  will cancel a link. 
  444.  
  445. Once source & destination components are selected, you must draw a wire 
  446. path between the two. This is for your referance, and drawing a silly wire 
  447. path will NOT effect the simulation at all. 
  448. An 'L' cursor is used whilst drawing the wire path. To add a point to the 
  449. path, press the LEFT BUTTON. Pressing the right hand button will terminate 
  450. the wire. 
  451.  
  452. Also, with single input gates, if you happen to add a point to the wire 
  453. which coincides with the input terminal of the gate, then the wire will 
  454. terminate itself. 
  455.  
  456. Pressing ALTERNATE whilst drawing a wire path will swap the orientation of 
  457. the link path:
  458.  
  459.  
  460.           ---------+                                   + 
  461.           |                                            | 
  462.           |                                            | 
  463.           |                                            | 
  464.           |                                            | 
  465.           |                                            | 
  466.           |                                            | 
  467.           +                                  +----------
  468.  
  469.  
  470. 4.3 ADDING INPUTS 
  471. ------------------ 
  472.  
  473.      A circuit is not much use with no inputs, so inputs may be added using 
  474. the ADD INPUTS icon. This can be found in the INPUTS menu which is invoked 
  475. by selecting the INPUT icon on the main menu. 
  476. The icons on the INPUTS menu are as follows (left to right): 
  477.  
  478.      - ADD INPUT : Adds a manually togglable input to the circuit. 
  479.                    If within a block, this adds an input connector from 
  480.                    the next level up from that block to this level. 
  481.  
  482.                          ----------- 
  483.                          |         | 
  484.                          |         | 
  485.                          |         | 
  486.                        -->input    | 
  487.                          |         | 
  488.                          |         | 
  489.                          ----------- 
  490.  
  491.      - ADD OUTPUT : This adds am output connector from a block to the next 
  492.                     Level up in the design. If you are NOT within a block 
  493.                     then this icon does nothing. 
  494.  
  495.      - ADD CLOCK :  This adds an auto-clocked input to the circuit. 
  496.                     (See section 6.3) 
  497.  
  498. NOTE: All hierachical input / output connections are dealt with in the 
  499.       REGISTERED USER documentation. This is not to say that the block 
  500.       structuring features are at all disabled in this release, only that 
  501.       their usage is not documented here. Pay or play - I'd prefer you to 
  502.       pay. 
  503.  
  504. When ADD INPUT is selected you will be asked to place the input. As a matter 
  505. of readability, the program will automatically place ALL external inputs at 
  506. the left of the screen. Only the vertical position of the input can be 
  507. altered. 
  508.  
  509. The input connector will now appear and you should now point to the gate to 
  510. which the input should be connected and click the LEFT BUTTON. As with 
  511. linking gates, pressing the RIGHT BUTTON will cancel the input. 
  512.  
  513. Once an input destination is selected, you should then draw a wire path in 
  514. exactly the same way as when linking gates togther.
  515.  
  516.  
  517. NOTES: 
  518. ------ 
  519.  (1)  EACH INPUT CAN GO TO ONLY ONE PLACE. TO FEED AN INPUT TO MORE THAN 
  520.       ONE PLACE, FIRST CONNECT IT TO A DRIVER GATE (NOP), THEN CONNECT 
  521.       THE DRIVER TO EVERYWHERE ELSE. 
  522.  
  523. 5. THE FILE MENU 
  524. ================= 
  525.  
  526.      The FILE menu is opened by the FILE icon at the bottom of the main 
  527. menu. 
  528. The icons in the FILE menu are (from left to right): 
  529.  
  530.      - LOAD : Load a circuit design from disc. 
  531.  
  532.      - SAVE : Save the present circuit design to disc. 
  533.  
  534.      - LIBRARY : Insert a module from the libraries into the present block. 
  535.  
  536.      - PRINT : Open the GDOS output Dialog Window. 
  537.                (Only useful if GDOS is installed.) 
  538.  
  539.      - USER : Open the configuration window where the following options can 
  540.               be set: 
  541.                     i)   Grid snap (ON/OFF) 
  542.  
  543.                     ii)  X-Y coordinate readout (ON/OFF) 
  544.  
  545.                     iii) Auto part name (ON/OFF) 
  546.  
  547.                     iv)  Scope Resolution. 
  548.                          This is actually a misnomer. The value of Scope 
  549.                          resolution is really the number of gates through 
  550.                          which a signal will propogate for each basic 
  551.                          clock cycle / Logic Analyser update. 
  552.  
  553.                     v)   Drawing scale 
  554.  
  555.      - EXIT : This either exits the present drawing and leaves a blank 
  556.               workspace, or quits the program.
  557.  
  558.  
  559. 5.1 SAVING 
  560. ----------- 
  561.  
  562.      Select SAVE from the FILE menu. Follow the usual GEM procedure for 
  563. selecting a file, then do as the alert boxes say. Overwriting of existing 
  564. files is trapped, but out off disc space errors will kill the program 
  565. (sorry). 
  566.  
  567. 5.2 LOADING 
  568. ------------ 
  569.      As above, but use the LOAD icon instead. 
  570.  
  571. Only one design may be loaded at once. The multiple schematic windows (sister 
  572. windows) are intended to allow editting of several hierachical blocks at once 
  573. within the same design. 
  574.  
  575. 5.3 PRINTING & METAFILES 
  576. ------------------------- 
  577.  
  578. Nice and easy - to procedure for printing is as follows:- 
  579.  
  580.  1)  Go to the block you wish to print. 
  581.  
  582.  2)  Select the PRINTOUT option from file menu 
  583.  
  584.    The 'Hardcopy Output' dialog will appear. 
  585.  
  586.  3)  Set what you want to print - the circuit diagram or the contents of the 
  587.      Logic Analyser window. 
  588.  
  589.  4)  Set the font type you wish to use. GDOS fonts look better, but CLA-VECTOR 
  590.      fonts are useful for programs such as Pagestream & Calamus 1.09, which 
  591.      have problems with normal GDOS fonts - they're just drawn as line vectors, 
  592.      so Calamus will load & display them properly. 
  593.  
  594.  5)  Select the output destination - either hardcopy (device 21) or metafile 
  595.      (device 31). 
  596.  
  597.  6)  Click on PRINT. 
  598.  
  599.   The progress window will now appear, and give a report on how printing is 
  600.   progressing. 
  601.  
  602. NOTE : For best results when printing circuit diagrams, set the PAGESIZE so 
  603.        that the circuit will fill the page, otherwise you will not be able to 
  604.        read the text labels on a low res. printer (<300dpi). 
  605.  
  606. 6. SIMULATION 
  607. ============== 
  608.  
  609.      The main features of CLA are the simulation modes. These can be invoked 
  610. at any point in the design process. The only prerequisite is that at least 
  611. one input to the circuit should be connected up (otherwise no stimulus can be 
  612. given to the circuit). 
  613.  
  614. 6.1 THE SIMULATION TOOLS ICON 
  615. ------------------------------ 
  616.  
  617.      Before simulating a design, it is neccesary to become familiar with 
  618. the facilities available via the SIMULATION TOOLS toolbox, or the Simulation 
  619. pull-down menu. 
  620.  
  621.      - LOGIC ANALYSER 
  622.           This is a large looking double icon, which if clicked on will open 
  623.           the Logic Analyser window. 
  624.  
  625.      - SET PROBE 
  626.           Allows you to specify which signals will appeat in the logic analyser. 
  627.  
  628.      - PRINT LOGIC ANALYSER. 
  629.           Prints out the present state of the Logic Analyser Display. 
  630.           (Only works with GDOS installed). 
  631.  
  632.      - ACTIVE PROBE. 
  633.           Toggle the active probe (ON/OFF) 
  634.  
  635.      - WORD GENERATOR. 
  636.           Allows a preset series of signals to be fed to the design. 
  637.  
  638.      - BULB. 
  639.           Select place bulb.
  640.  
  641.  
  642. 6.1.1 BULBS 
  643. ------------ 
  644.  
  645.      The bulb icon is really a just a component the same as all the gates 
  646. in the Gates Selector. Once selected, you can (if you close the TOOLS 
  647. window) place bulbs in the same way as ordinary gates. 
  648. The differance between a bulb and a gate is that the bulb will show 
  649. graphically on the screen the state of it's input (high or low). 
  650.      If the input to a bulb is high then the bulb will be black, where-as 
  651. if the input is low then it will be white.
  652.  
  653.  
  654. ********NOTE: BULBS ARE CURRENTLY DISABLED IN CLA V2 DUE TO A SHORTAGE 
  655. ********      OF DEVELOPMENT TIME (I BROKE THEM AT THE LAST MINUTE). 
  656. ********      ONLY USE THE LOGIC ANALYSER WINDOW FOR NOW. 
  657.  
  658. 6.1.2 LOGIC ANALYSER PROBES 
  659. ---------------------------- 
  660.  
  661.      Bulbs are only updated and displayed if they are currently visible, 
  662. so they cannot be used to compare signals in differant blocks of the 
  663. design. More useful for any complex analysis is the LOGIC ANALYSER. 
  664. This allows probes to be set on the output of any component in the circuit, 
  665. and this will produce a trace in the logic analyser window (see section 
  666. 6.1.3). 
  667.  
  668.      To set a Logic Analyser probe, you click on the right hand side of the 
  669. Logic Analyser Icon (the big one at the left hand side of the TOOL window). 
  670. This selects the SET PROBE function. You will be prompted to select a 
  671. component to set the probe on. Click on the component, and you will be 
  672. prompted for a Scope Trace. This can be any number from 1 to 20 (there are 
  673. 20 traces available you see, and you have to use one of them). 
  674.  
  675.      A probe is now set, and the appropriate trace will be updated when a 
  676. simulation is run.
  677.  
  678.  
  679. 6.1.3 THE LOGIC ANALYSER 
  680. ------------------------- 
  681.  
  682.      This is the main tool in simulating designs. It allows the response of 
  683. selected components to be monitored and compared in pseudo-realtime. 
  684. There are 20 traces visible simultaneously. The assignment of these probes 
  685. is detailed in the previous section. 
  686.  
  687.      Selecting the Logic Analyser Icon (the big icon in the TOOLS window) 
  688. opens the Logic Analyser window. 
  689.  
  690.      There will only be actual traces displayed for the traces which have 
  691. been assigned using SET PROBE. 
  692.  
  693.      In order to see the results of a simulation, the Logic Analyser window 
  694. should be OPEN during simulation (otherwise you cann't see the traces). 
  695.  
  696. 6.1.4 THE ACTIVE PROBE 
  697. ----------------------- 
  698.  
  699.      This function when enabled, allows the output of any gate to be 
  700. checked DURING interactive simulation, without having first set a probe 
  701. of any type on it, and without stopping the simulation. 
  702.  
  703.      To use the Active Probe, simply select it's icon, then start a 
  704. simulation. To check a gates status, simply point and click with the LEFT 
  705. HAND MOUSE BUTTON. 
  706.  
  707.      The active probe may be used in conjunction with any of the other 
  708. simulation tools available.
  709.  
  710.  
  711. 6.2 RUNNING A SIMULATION 
  712. ------------------------- 
  713.  
  714.      To actually start a simulation running you use the RUN SIMULATION 
  715. icon from the main menu. This can be done at any time during the design 
  716. process, PROVIDED THAT YOU HAVE GIVEN THE DESIGN AT LEAST ONE EXTERNAL 
  717. INPUT. 
  718.  
  719. When simulating, the message 'RUNNING SIMULATION' appears in the status window. 
  720.  
  721. A simulation is stopped by pressing the RIGHT HAND MOUSE BUTTON. 
  722.  
  723. If the scope window is open then it will be updated whilst the simulation 
  724. is running, and will scroll to show results. 
  725.  
  726. Any bulbs currently on screen will be updated. 
  727.  
  728. NOTE: Any un-connected inputs to gates will be tied LOW.
  729.  
  730.  
  731. 6.2.1 INPUTS DURING SIMULATION 
  732. ------------------------------- 
  733.  
  734.      In order to do useful simulations, you must be able to modify the 
  735. inputs to simulate the expected inputs to the system and examine it's 
  736. response. To do this, the status of any input can be toggled between it's 
  737. high and low states by pointing at the required input in the TOP LEVEL of 
  738. the design and pressing the LEFT HAND MOUSE BUTTON. A dot is displayed in 
  739. the middle of the input connector to show it's status. This should be done 
  740. whilst the simulation is running, and allows the design to be used 
  741. interactively.
  742.  
  743.  
  744. 6.2.2 THE ACTIVE PROBE & THE LOGIC ANALYSER DURING SIMULATION 
  745. -------------------------------------------------------------- 
  746.  
  747.      The Logic Analyser is updated during simulation to reflect the state 
  748. of the circuit as it is affected by the inputs. 
  749.  
  750. NOTE : The ACTIVE PROBE does not interfere with this. In the case of the 
  751.        active probe being turned on during simulation, the input toggle 
  752.        will have priority over the active probe at the left hand side of 
  753.        the screen.
  754.  
  755.  
  756. 6.3 CLOCKED INPUTS 
  757. ------------------- 
  758.  
  759.      Digital systems will quite often be required to perform things in a 
  760. specific sequence or at a certain time. In these circumstances (such as 
  761. computer systems design) the system is driven by a clock signal. In order 
  762. to simulate clock driven systems, you could sit and manually toggle the 
  763. inputs (but you would get sore fingers). Instead, CLA provides a special 
  764. type of input, which provide a clock signal at a specified rate. 
  765.  
  766.      A clocked input is added using the ADD CLOCK icon from the INPUTS 
  767. menu (see section 4.3). 
  768.  
  769.      The input is placed and connected up in exactly the same way as for a 
  770. normal input (except that you select ADD CLOCK instead of ADD INPUT). 
  771. Once connected up however, you are prompted for a CLOCK FREQUENCY DIVIDER. 
  772. This is an important concept, so you must understand this to use clocked 
  773. inputs. 
  774.  
  775. It is possible for a system to have more than one clock signal, at 
  776. differant frequencies. The frequency divider allows this to be simulated by 
  777. relating the frequencies of all the clocks in the system to one SOURCE 
  778. FREQUENCY. 
  779.  
  780. The SOURCE FREQUENCY is the frequency of the highest speed clock signal 
  781. which is going to be used by the system. All other clocks are based on 
  782. this frequency, divided by some whole number (the FREQUENCY DIVIDER). 
  783.  
  784. The SOURCE FREQUENCY clock would have a clock divider of 1. A clock of 
  785. HALF the frequency would have a clock divider of 2. 
  786.  
  787. In general :   SOURCE FREQUENCY 
  788.                -----------------   =   CLOCK FREQUENCY 
  789.                FREQUENCY DIVIDER 
  790.  
  791. Confused ? Here is an example set of clock frequencies and dividers to let 
  792. you see what I'm getting at : 
  793.  
  794. +-----------------+---------------+---------------------------------------+ 
  795. | CLOCK FREQUENCY | CLOCK DIVIDER | REASON                                | 
  796. +-----------------+---------------+---------------------------------------+ 
  797. |                 |               |                                       | 
  798. |      1 KHz      |      1        | This is the highest clock frequency   | 
  799. |                 |               |  needed (the SOURCE FREQUENCY).       | 
  800. |                 |               |                                       | 
  801. |     500 Hz      |      2        | 1000 Hz / 2 = 500 Hz                  | 
  802. |                 |               |                                       | 
  803. |      10 Hz      |      10       | 1000 Hz / 10 = 10 Hz                  | 
  804. |                 |               |                                       | 
  805. +-----------------+---------------+---------------------------------------+ 
  806.  
  807. If things still aren't clear, register and then you can ask me personally 
  808. what this all meant. 
  809.  
  810. NOTE : Clocked inputs cannot be toggled manually. 
  811.  
  812. 6.4 THE WORD GENERATOR 
  813. ----------------------- 
  814. This is a window in which all inputs to the circuit are listed. 
  815. It runs seperate from the interactive simulator, but shares the same logic 
  816. analysers. A series of logic levels (1/0 currently) may be set up, 
  817. and these will be used as input to the circuit when the GO button is selected. 
  818. All the inputs will be fed to the circuit in turn, then the simulation will 
  819. terminate & the logic analyser window will be updated to display how the 
  820. circuit has behaved during the simulation. 
  821.  
  822. This is 'BATCH MODE' simulation, as once started there can be no interaction 
  823. from the user. 
  824.  
  825. To put this in perspective, it should take not more than 20 seconds to do a 
  826. very large circuit (1000's of gates) with a scope res of 512 gates delays per 
  827. scope step. Most circuit's will appear to simulate instantly (using scope res 
  828. around 64). 
  829.  
  830. 6.5 SCOPE RES. 
  831. --------------- 
  832. The scope res. is important, as it set's the maximum measurable/changable 
  833. resolution of the simulator in terms of unit gate delays. 
  834. So, a res. of 1 means that the signal will propogate through exactly one gate 
  835. before the logic analyser updates again. 
  836. This also means that you can change the signal after one unit delay. This can 
  837. be good or bad depending upon circumstances. A problem is that you can generate 
  838. clocks which are faster than the time required to latch data into a register. 
  839.  
  840. Eg, the D-FLIPFLOP in the User_lib library requires a clock of period > 32 
  841. gate delays. 
  842.  
  843. If you use a higher scope res (ie lower number of unit gate delays), it's quite 
  844. possible for the design to stop working (just like using too fast a clock in 
  845. the real world). 
  846.  
  847. A good rule of thumb is to set the scope res to 32 in most cases. 
  848.  
  849. The Scope Res. is set in the Configuration Dialog. 
  850.  
  851. 7. OTHER FEATURES 
  852. ================== 
  853.  
  854.      This document was merely intended to get people stared using CLA. It 
  855. does not cover the more advanced features such as : 
  856.  
  857.  - BLOCK structuring & hierachical design. 
  858.     (Hint - in block mode, LEFT button is for pushing down into blocks, 
  859.             RIGHT button is for creating new blocks. Go back up using the 
  860.             close button pop-up menu option 'Go-back'.) 
  861.  
  862.  - Loading Library modules. 
  863.  
  864.  - The Librarian program and creating user libraries. 
  865.  
  866.  - Creating Custom schematic gates sets. 
  867.  
  868.  - Using the VHDL compiler. 
  869.  
  870. These features ARE in the V2 RELEASE 1 package, but are not detailled in 
  871. this document. Their use is a matter of trail and error on the part of 
  872. unregistered users. Registered users will, however recieve FULL 
  873. documentation of these features (of course YOU are an honest person aren't 
  874. you ? I'm sure you wouldn't use an unregistered SHAREWARE program - would 
  875. you....) 
  876.  
  877. There is a lot more pencilled in for the next release of CLA. Registered 
  878. users will recieve this as a matter of course, but it is open to debate 
  879. as to whether the next release will be made available via FTP & the nets. 
  880. Certainly, the Synthesis tool extensions will NOT be made generally 
  881. available (when I've finished them) apart from to registered users. 
  882.  
  883. APPENDIX A : KEYBOARD SHORTCUTS 
  884. ================================ 
  885.  
  886.      Most functions of CLA may be accessed via keyboard shortcuts as well 
  887. as the icons. These keyboard shortcuts are accessed by merely pressing 
  888. shift + the appropriate key, NOT via Control or Alternate. 
  889.  
  890. Note that currently they aren't very reliable, you'd be better using the 
  891. actual icon or the pull-down menu option. 
  892.  
  893. The keyboard shortcuts presently defined may be found in the file: 
  894.    '\CONFIG.CLA\KEYS.DEF' 
  895.  
  896. Other icons may be assigned to the keyboard by adding their names to this 
  897. file. The names can be found in the file: 
  898.    '\DOC\SHRTCUTS.TXT' 
  899.  
  900. **** NOTE: THIS FILE IS NOT INCLUDED WITH THIS RELEASE 
  901.  
  902. APPENDIX B : LIBRARY MODULES 
  903. ============================= 
  904.  
  905.      You may have noticed the LIBRARY icon on the FILE menu. This as it's 
  906. name indicates, allows library modules to be loaded in (such as IC's) and 
  907. used within your designs. 
  908.  
  909.      Clicking on the LIBRARY icon brings up something similar to a file 
  910. selector. This is the Library Module Selector. It gives the name of the 
  911. current library (changable by clicking on name of the library at the top 
  912. of the selector), followed by a list of the library's contents. 
  913.  
  914.      Clicking on a module name, or it's description, will bring up an 
  915. Alert Box to confirm that you want to include this module. 
  916.  
  917.      If you confirm this then the module will load and there will be a 
  918. short pause whilst the module is mapped into your design. A ghost outline 
  919. of the module is then displayed and this may be moved around the screen 
  920. using the mouse. Clicking a mouse button will cause the block to be placed 
  921. at the current location. 
  922.  
  923.      The module is now just like any other hierachichal block, and it's 
  924. inputs and outputs can be connected up as normal. The library modules may 
  925. even be opened up to examine the way we at Data Uncertain implemented the 
  926. module, with the exception of VHDL blocks (those displayed with a big V in 
  927. them) such as the 74xx library,as these do not contain meaningful schematics 
  928. anyway. 
  929.  
  930. APPENDIX C : ABOUT THE THE AUTHOR 
  931. ================================== 
  932.  
  933. DATA UNCERTAIN SOFTWARE is made up of: 
  934.  
  935.  Craig Graham : 
  936.                Main GUI code, Compiler type simulation routine 
  937.                  & main code, VHDL, Librarian, vector editor. 
  938.                    (BAe SPACE SYSTEMS, Stevenage, England) 
  939.  
  940.                EMAIL : Craig.Graham@newcastle.ac.uk 
  941.                Plain Mail: 46 School Road, 
  942.                             Langold, 
  943.                             Worksop, 
  944.                             Notts, 
  945.                             S81 9PY, 
  946.                             ENGLAND 
  947.  
  948. And to varying degrees, the contributions of the following people: 
  949.  
  950.  Peter Brooks-Johnson : 
  951.                Design section User interface & Fanout Checking, 
  952.                     Look & feel of Editor GUI (design of). 
  953.             (Even though I've removed the Fanout stuff for now.) 
  954.                 SPOUT Spice OUTput (if he ever finishes it). 
  955.                        (British Telecom, England) 
  956.  
  957.               EMAIL : P.A.Brooks-Johnson@newcastle.ac.uk 
  958.  
  959.  Malek Jaber : 
  960.                Some programming, but I've forgotten what (sorry Mal). 
  961.                Forcing the structured rewrite upon me. 
  962.                (3 Comm, Hemlhampstead, England) 
  963.  
  964.  Chris Forker , Julian Coleman & Sime Harrison : 
  965.                Beta testing on the MegaST, TT & STE respectively. 
  966.  
  967.  Chris Cuckow : 
  968.                For his enthusiasm in the early years. 
  969.  
  970.  Kev R. & Tom McC. : 
  971.                Just for being cool and making us go to the clubs and get off 
  972.                with girls and get drunk and.... well, relax and live a little. 
  973.  
  974. All authors are students currently studying for their Masters Degrees in 
  975. Microelectornics And Software Engineering at Newcastle University, England, 
  976. sponsored by and working for the companies quoted above during their 
  977. vacations. 
  978.  
  979. CLA was intended mainly as a tool for helping the authors through their 
  980. degrees. As there are 2 years left to go before graduation, there will 
  981. be at least that many years of support & development for the program. 
  982.  
  983. The authors may be contacted via EMAIL or Plain Mail at the addresses given 
  984. above. EMAIL is appreciated, espescially from non-registered users, as 
  985. replies are easier and quicker to send (and don't cost us anything). In fact 
  986. unregistered users are UNLIKELY to get replies to anything apart from EMAIL, 
  987. unless they enclose some money.... 
  988.  
  989. Alternatively, I may be contacted via the USENET groups : 
  990.  
  991.      comp.sys.atari.st 
  992.      comp.sys.atari.st.tech 
  993.  
  994. Which I read during term time.
  995.  
  996.  
  997. Enjoy the program....it's our pride and joy. 
  998.  
  999.      CRAIG GRAHAM
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.