home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 287.lha / LogicLab / LogicLab.doc < prev    next >
Encoding:
Text File  |  1989-09-13  |  20.4 KB  |  535 lines

  1.                                  LogicLab
  2.  
  3.  
  4. Copyright Notice
  5.  
  6. This software package and document are copyrighted (c) 1988, 1989 
  7. by Stephen B. Duff and VS Graphics.  All rights reserved.  This document
  8. must accompany all copies of LogicLab.
  9.  
  10.  
  11. Disclaimer
  12.  
  13. VS Graphics makes no warranties as to the contents of this software product
  14. and specifically disclaims any implied warranties of merchantability or 
  15. fitness for any particular purpose.  VS Graphics further reserves the right
  16. to make changes to the specifiations of the program and contents of the 
  17. manual without obligation to notify any person or organization of such 
  18. changes.
  19.  
  20.  
  21. Shareware Notice
  22.  
  23. This program was originally a commercial software package that sold for 
  24. $39.95 via mail order.  However, with advertising costs being what they 
  25. are, I had to make a choice between marketing this program and feeding 
  26. my children.  Therefore, I decided to rlease this product as shareware 
  27. to acheive the widest possible distribution with minimum costs.
  28.  
  29. You may copy and distribute this product freely, provided that no fee
  30. is charged for such copying and distribution, and it is distributed only
  31. in its' original unmodified state along with this document.
  32.  
  33. If you find the product useful, please feel free to send your donation
  34. to me at the address listed at the end of this document.  You may not
  35. use this product in a Government, Commercial or Educational organization
  36. without paying a licence fee of $39.95.
  37.  
  38. For those interested in programming in C on the Amiga, I will make the 
  39. source code for the program available for $59.95.  The source code is
  40. available for both the Lattice and Manx C compilers.  If you are new to
  41. C programming or the Amiga, the source code can be a great time saver.
  42.  
  43.  
  44. INSTRUCTIONS
  45.  
  46.  
  47. 1.0  Getting Started
  48.  
  49. First, rename the file LogicLab.inf to LogicLab.info to show the icon for
  50. LogicLab.  Second, LogicLab allows you to specify the disk drives that will
  51. be used in the Load/Save Project file requester.  Drive DF0: will be
  52. available by default.  Two additional drives can be made available by
  53. creating a file with the appropriate drive name (e.g. create a dummy text
  54. file named DH0 for a hard drive).  These are the only options that needs to
  55. be specified before running the program.
  56.  
  57.  
  58. 2.0  Running the Program
  59.  
  60. Point to the LogicLab icon and double click the left mouse button to start
  61. the program.  The screen contains two main areas.  The logic symbol gadgets
  62. appear across the top of the screen.  The area below the logic symbols 
  63. is the work area of the screen.
  64.  
  65. To begin a project, point to a logic element, press the left mouse button 
  66. and drag the element to a location in the work area.  Release the left 
  67. mouse button when the element is in the desired location.  The work area 
  68. will hold up to 7 rows of 11 elements.  Once the logic elements are in the 
  69. desired locations, they must be connected.  After connecting the elements 
  70. you may view the solution of the logic in real time by going to the RUN  
  71. mode.  Connecting elements and executing the logic is described below.
  72.  
  73.  
  74. 3.0  Menu Selections
  75.  
  76. The three main menus will be displayed at the top of the screen after 
  77. pressing the right mouse button.  To make a selection, press and hold 
  78. the right mouse button down.  Move the pointer to one of the main menus.
  79. Then move the pointer to one of the menu items.  Release the mouse button 
  80. while pointing to the desired item.
  81.  
  82.  
  83. 3.1  Project Menu
  84.  
  85. The project menu contains 6 menu items.  They are New, Open, Save, Save As,
  86. Print and Quit.
  87.  
  88.  
  89. 3.1.1  New
  90.  
  91. Selecting New from the Project menu erases all elements that have been 
  92. added to the work area and initializes LogicLab for a new project.
  93. A warning will be displayed if the current project has not been saved.
  94. You will have the option of saving the curent project before the current 
  95. project is erased.  If the project save requester appears, point to the 
  96. appropriate selection and press the left mouse button.
  97.  
  98.  
  99. 3.1.2  Open
  100.  
  101. The Open menu selection is used to load a project into memory from the 
  102. disk drive.  The Load Project requester will appear with a list of the 
  103. files contained in the current directory.  The proportional gadget at 
  104. the right side of the requester can be use to show additional files in 
  105. the list if they are present.  You may select a disk drive by pointing to 
  106. the desired drive gadget near the bottom of the requester.  If additional 
  107. sub-directories are present, they can be selected by pointing to them and 
  108. presing the left mouse button.  When you have located the project that you
  109. want to load, point to it and press the left mouse button.  Finally, if 
  110. you want to load the project, point to the Load gadget located at the 
  111. bottom left side of the requester and prss the left mouse button.  You may
  112. also cancel the load operation by pointing to the Cancel gadget located at 
  113. the bottom right side of the requester.  Then, press the left mouse button
  114. to cancel.
  115.  
  116.  
  117. 3.1.3  Save
  118.  
  119. Save is used to store a previously named project to disk.  Save 
  120. automatically stores the project without opening the Save Project 
  121. requester.  You must use the Save As menu item to give the project a name.
  122.  
  123.  
  124. 3.1.4  Save As
  125.  
  126. The Save As menu selection is used to give the current project a name and 
  127. to save the project to disk.  Once Save As has been selected, the Save 
  128. Project requester will be displayed.  You have the option of changing the 
  129. disk drive and the various disk dirctories that are available on your disk
  130. by selecting the appropriate gadget.  After selecting the desired drive 
  131. and directory, point to the Project Name string gadget and press the left
  132. mouse button.  Type a valid AmigaDOS filename for the project and prss the
  133. Enter key.  The project will be saved to the name you specified if you 
  134. point to the Save gadget in the lower left corner of the requester and 
  135. press the left mouse button.  You may cancel the save by pointing to the 
  136. Cancel gadget in the lower right corner and by pressing the left mouse 
  137. button.
  138.  
  139.  
  140. 3.1.5  Print
  141.  
  142. The Print menu item is used to print a project.  Make sure you have run 
  143. the Preferences program supplied with your Amiga and that you have 
  144. configured the correct printer.  Before selecting the Print option, make 
  145. sure that your printer is on line and that there is sufficient paper.
  146. The project will be printed automatically after making this selection.
  147.  
  148.  
  149. 3.1.6  Quit
  150.  
  151. The Quit menu item is used to end the program.  The LogicLab screen will
  152. move down and disappear at the bottom of the screen.  You will see the 
  153. screen that was present before starting the program.
  154.  
  155.  
  156. 3.2  Edit Menu
  157.  
  158. The Edit menu contains only one menu item named Cut.  There are two sub-
  159. items under the Cut selection.  Press the right mouse button and move to 
  160. the Edit menu selection.  You will see the Cut menu item.  Move the pointer
  161. to the Cut menu item and the two sub-items will appear to the right.  Move
  162. the pointer to the desired sub-item and release the right mouse button.
  163.  
  164.  
  165. 3.2.1  Element
  166.  
  167. The Element sub-item is used to remove a logic element from the work area 
  168. along with all the connections to the selected item.  Move the pointer to 
  169. the element to be removed and press the left mouse button.  The element 
  170. will be erased along with all input and output connections comming into 
  171. or leaving the selected element.
  172.  
  173.  
  174. 3.2.2  Connection
  175.  
  176. Connections between logic elements may be removed using this sub-item.
  177. Select the Connection sub-item. You will be prompted at the top of the 
  178. screen to select the first element.  Move the pointer to the first element
  179. and press the left mouse button.  If the first element has more than one 
  180. output, you will be prompted to select the top output (OUTPUT A) or the 
  181. bottom output (OUTPUT B).  Answer the prompt in the requester.  Once the 
  182. output has been selected, you will be prompted for the second element.
  183. Move the pointer to the second element and press the left mouse button.
  184. If there are two inputs to the second element, you will be prompted to 
  185. select either the top input (INPUT A) or the bottom input (INPUT B).
  186. Make the appropriate selection and the program automatically deletes the
  187. line connecting the two elements.
  188.  
  189.  
  190. 3.3  Control Menu
  191.  
  192. The Control menu contains selections for directing the various operations
  193. that may be performed in LogicLab.  The menu items are available to Add 
  194. elements, Connect elements, Run the logic in real time and to Stop running
  195. the logic.
  196.  
  197.  
  198. 3.3.1  Add
  199.  
  200. The Add mode is the default mode when LogicLab is started.  While in Add
  201. mode, new logic elements may be placed in the work area.  Elements are 
  202. added to the work area by pointing to the element, pressing and holding the
  203. left mouse button down, and by dragging the element to a position within 
  204. the work area.  You must re-enter the Add mode to continue adding elements
  205. after placing the program in other modes.
  206.  
  207.  
  208. 3.3.2  Connect
  209.  
  210. The Connect mode is used to make the connections between logic elements
  211. that have been placed in the work area while in the Add mode.  After
  212. selecting the Connect mode, you will be prompted to point to the first
  213. element.  Move the pointer to the first element and press the left mouse
  214. button.  If the element has more than one output, a requester will appear
  215. with prompts for you to identify the desired output.  Make your selection
  216. by pointing to the OUTPUT A or OUTPUT B gadgets.  You will then be prompted
  217. to select the second element.  Again, if the second element has more than
  218. one input a requester will appear with prompts to select the desired input.
  219.  
  220.  
  221. 3.3.3  Run
  222.  
  223. The Run menu item places the program in the Run mode and solves the logic
  224. that has been placed in the work area.  While in the Run mode, you may
  225. change the state of logic Input elements by pointing to them and pressing
  226. the left mouse button.  If the Input element was previously in the logic 0
  227. (OFF) state it will be placed in the logic 1 (ON) state and vice versa.
  228. If the Input element is in the Logic 1 (ON) state, a light bulb will appear
  229. within the Input element.  The Input element is in the OFF state if no 
  230. light bulb is present within the element.  Logic is solved within the work
  231. area column by column from left to right.
  232.  
  233. The Output logic elements are used to display the results of the logic in
  234. the work area.  If a light bulb appears within an Output element, it is 
  235. in the logic 1 (ON) state.  The Output element is in the logic 0 (OFF) 
  236. state if no light bulb is present within the element.
  237.  
  238.  
  239. 3.3.4  Stop
  240.  
  241. This item ends real time execution of logic.
  242.  
  243.  
  244. 4.0  Logic Element Description
  245.  
  246. LogicLab contains eight different logic element types.  Each is described
  247. below.  Truth tables are provided for each element type.  While in the Run
  248. mode additional detail about the state of the elements' inputs and outputs
  249. may be obtained by pointing to the element and pressing the left mouse 
  250. button. A window will open showing a strip chart graph of the state of the
  251. elements' inputs and outputs with respect to time.
  252.  
  253.  
  254. 4.1  Input Element
  255.  
  256. The Input element is included so you can change the state of the inputs of
  257. other logic elements and see the result of the change.  The Input element
  258. has a single output that is in one of two possible states.  It can be a
  259. logic 1 (ON) or a logic 0 (OFF).  You may change the state of the Input 
  260. element in the Run mode by pointing to the element and pressing the left
  261. mouse button.
  262.  
  263. Input Element
  264.  
  265. Input      Output
  266.  ---         ON
  267.  ---         OFF
  268.  
  269.  
  270. 4.2  Output Element
  271.  
  272. The Output element is included so you can see the result of the solution 
  273. of any logic elements in the work area.  The state of logic elements can 
  274. only be changed by the other logic elements connected to it.  It can be 
  275. in one of two possible states, logic 0 (OFF) or logic 1 (ON).  The Output
  276. element has a single input.
  277.  
  278. Output Element
  279.  
  280. Input      Output
  281.  ON          ---
  282.  OFF         ---
  283.  
  284.  
  285. 4.3  And Element
  286.  
  287. The And element contains two inputs and one output.  If both inputs are 
  288. ON, the output of the And elenemt will be ON.  If only one input is ON,
  289. the output will be OFF.
  290.  
  291. And Element
  292.  
  293. Input A  Input B  Output
  294.  OFF       OFF      OFF
  295.  ON        OFF      OFF
  296.  OFF       ON       OFF
  297.  ON        ON       ON
  298.  
  299.  
  300. 4.4  Or Element
  301.  
  302. The Or element contains two inputs and one output.  If either input is ON,
  303. the output of the Or element will be ON.
  304.  
  305. Or Element
  306.  
  307. Input A  Input B  Output
  308.  OFF       OFF      OFF
  309.  ON        OFF      ON
  310.  OFF       ON       ON
  311.  ON        ON       ON
  312.  
  313.  
  314. 4.5  Xor Element
  315.  
  316. The Xor (exclusive-or) element is a relative of the Or element.  The Xor
  317. element can be used to produce a binary sum with no carry.
  318.  
  319. Xor Element
  320.  
  321. Input A  Input B  Output
  322.  OFF       OFF      OFF
  323.  ON        OFF      ON
  324.  OFF       ON       ON
  325.  ON        ON       OFF
  326.  
  327.  
  328. 4.6  Not Element
  329.  
  330. The not element has one input and one output.  If the input to the element
  331. is ON, the output will be OFF.  If the input is OFF, the output will be ON.
  332.  
  333. Not Element
  334.  
  335. Input    Output
  336.  ON        OFF
  337.  OFF       ON
  338.  
  339.  
  340. 4.7  Flip-Flop Element
  341.  
  342. The Flip-Flop element has two inputs and two outputs.  The Flip-Flop 
  343. element in LogicLab is known as a Set/Reset (SR) type flip-flop element.
  344. Input A (top) is the Set input.  If the Set input is ON, the top output 
  345. (OUT A) will be ON.  The bottom output (OUT B) will always be in the 
  346. opposite state of the top output.  OUT A will remain ON regardless of 
  347. the state of the Set input until the flip-flop is reset.  The Flip-Flop
  348. element can be reset by applying a logic 1 (ON) to the bottom input 
  349. (Reset).
  350.  
  351. Flip-Flop Element
  352.  
  353. Input A   Input B    Output A   Output B
  354.  ON         OFF        ON         OFF
  355.  don't care OFF        ON         OFF (Set)
  356.  OFF        ON         OFF        ON
  357.  OFF        don't care OFF        ON  Reset)
  358.  
  359.  
  360. 4.8  Timer Element
  361.  
  362. The Timer element is used to provide what is known as an on-delay or 
  363. off-delay timer function.  When the input to the Timer element is turned 
  364. ON, the timer accumulates time until it reaches a predetermined time 
  365. (preset).  The time interval in the LogicLab timer is one second.  The
  366. element window must be opened to set the preset time value for the timer
  367. element.  Point to the Timer element while in the Run mode and press the 
  368. left mouse button to open the element window.  Point to the area to the 
  369. right of the Preset text and press the left mouse button.  Type the preset
  370. time value and press return.
  371.  
  372. Timer Element
  373.  
  374. Input A  Output A  Output B
  375.  OFF       OFF      ON
  376.  ON        OFF      ON  (before preset)
  377.  ON        ON       OFF (after preset)
  378.  
  379.  
  380. 4.9  Counter Element
  381.  
  382. The Counter element is used to cause a delay based on a preset count.
  383. When the Counter element is turned ON, the counter accumulates one count
  384. each time the logic on the work area is executed.
  385.  
  386. Counter Element
  387.  
  388. Input A  Output A  Output B
  389.  OFF       OFF      ON
  390.  ON        OFF      ON  (before preset)
  391.  ON        ON       OFF (after preset)
  392.  
  393.  
  394. 5.0  Element Windows
  395.  
  396. When you are in the RUN mode, more detailed information about a particular
  397. logic element may be obtained by pointing to the element and pressing the
  398. left mouse button.  After pressing the mouse button, the element window
  399. will be opened.  Element windows may be opened for all elements except the
  400. Input and Output elements.  Only one element window may be opened at any
  401. one time.
  402.  
  403. The information shown in the element window is dependent upon the logic
  404. element selected.  Each window shows the state of the elements' input(s)
  405. and output(s) with respect to time in the form of a strip chart.  The
  406. update speed of the strip chart can be changed using the proportional 
  407. gadget on the far right side of the element window.
  408.  
  409. The Timer and Counter element windows show the Preset and Accumulator
  410. values at the top of the element window.  You may change the Preset value
  411. of either element by pointing to the right of the Preset text and by
  412. pressing the left mouse button.  The string gadget will be highlighted
  413. allowing you to type a new value for the Preset.  Press return to enter
  414. the value.
  415.  
  416. The element window may be moved to a different area of the screen by
  417. pointing to the drag gadget at the top of the window.  Press and hold the
  418. left mouse button.  Move the window to a new location and release the mouse
  419. button.
  420.  
  421. The element window may be closed at any time by pointing to the window
  422. close gadget and by pressing the left mouse button. Once closed, you may
  423. open an element window for a different element.
  424.  
  425.  
  426. 6.0  Examples
  427.  
  428. Several example projects are included on the disk and are located in the
  429. project directory.  Follow the directions in the section describing Load
  430. Project.  After loading a project, enter the RUN mode and follow the
  431. instuctions for the specific project outlined below.  After trying the
  432. projects, experiment with your own logic circuits.
  433.  
  434.  
  435. 6.1  Project1
  436.  
  437. Project one contains one Input and one Output element connected together
  438. directly.  Place LogicLab in the RUN mode to experiment with the logic
  439. circuit.  Move the pointer to the Input element and press the left mouse
  440. button.  The Input element will be placed in the ON state.  A light bulb
  441. will appear within the Input element to indicate that it is ON.  Since the
  442. Input and Output elements are connected directly, the Output element will
  443. be turned ON whenever the Input element is turned ON.  The light bulb
  444. within the Output element indicates that it is in the ON state.
  445.  
  446. Move the pointer to the Input element and press the left mouse button.
  447. The Input element will be turned OFF.  When the Input element is in the
  448. OFF state, the light bulb within the element is no longer visible.  The
  449. Output element is turned OFF and its' light bulb is no longer visible.
  450.  
  451. After trying Project One, place LogicLab in the STOP mode.  Select New
  452. from the Project menu.  Then try building a circuit with Input and Output
  453. elements.
  454.  
  455.  
  456. 6.2  Project2
  457.  
  458. Project two is a circuit using the And element.  The And element has two
  459. inputs and one output.  An Input element is connected to each input of the
  460. And element. The single output is connected to an Output element.
  461.  
  462. Move the pointer to the top Input element and press the left mouse button
  463. to turn the Input element ON.  Notice that the Output element is still OFF.
  464. Now, move the pointer to the lower Input element and press the left mouse
  465. button to turn the Input element ON.  When both inputs to the And element
  466. are ON, the output of the element is ON.  The Output element is turned ON
  467. since it is connected to the output of the And element.
  468.  
  469. Try building a new project using the And element.  For example, build a
  470. circuit where three Input elements are used and all three must be turned
  471. ON to turn ON a single Output element.
  472.  
  473.  
  474. 6.3  Project3
  475.  
  476. Project three contains two Input elements, an Or element and one Output
  477. element.  Move the pointer to the top Input element and turn it ON.  When
  478. either input to the Or element is ON, its' output is turned ON.  Turn the
  479. top Input element OFF and watch as the Output element is turned OFF.
  480.  
  481. Try building your own project using the Or element.  For example, build a
  482. circuit using three Input elements such that if any one of the three Input
  483. elements is ON a single Output element is turned ON.
  484.  
  485.  
  486. 6.4  Project4, Project5, Project6 and Project7
  487.  
  488. Project four through Project seven show simple citcuits using the Not,
  489. Flip-Flop, Timer and Counter elements respectively.  Try each of the
  490. projects to see how these elements work individually.
  491.  
  492.  
  493. 6.5  Project8
  494.  
  495. Project eight contains two Input elements, an And element, a Not element
  496. and an Output element.  They are connected to form a more complex logic
  497. function known as a Nand (not and) function.
  498.  
  499.  
  500. 6.6  Project9
  501.  
  502. Project nine is very similar to Project five.  It contains a Flip-Flop,
  503. Input and two Output elements.  The circuit shows how to build a square
  504. wave generator using a Flip-Flop.  The top output of the Flip-Flop element
  505. is connected to the reset input of the Flip-Flop.  Each time the Flip-Flop
  506. goes to the SET state, it resets itself.
  507.  
  508.  
  509. 6.7  Project10
  510.  
  511. This project demonstrates how to build what is known as a Latch function.
  512. The Latch is composed of two Not elements in series with the output of the
  513. second Not element also connected to the input of the first Not element.
  514. Once the input to the Latch is energized, the output is energized and
  515. remains energized regardless of the state of the input.
  516.  
  517.  
  518. 7.0 Registration
  519.  
  520. We encourage you to become a registered user of LogicLab by completing
  521. a registration form with your name, address and computer model along with
  522. a donation to VS Graphics.  Registration also allows us to keep you 
  523. informed of new products, enhancements and any problems found in our 
  524. software.
  525.  
  526. If you should encounter any problems with the software or have any 
  527. suggestions that would improve the product, please let us know as soon 
  528. as possible.  Problem reports, donations and suggestions should
  529. be sent to:
  530.  
  531.                VS Graphics
  532.                P.O. Box 518
  533.                Hatfield, PA 19440
  534.  
  535.