open.html 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <html>
  2. <head>
  3. <title>Opening Combinational Analysis</title>
  4. </head>
  5. <body bgcolor="FFFFFF">
  6. <h1>Opening Combinational Analysis</h1>
  7. <p>The bulk of the Combinational Analysis module is accessed through
  8. a single window of that name allowing you to view truth tables and
  9. Boolean expressions. This window can be opened in two ways.</p>
  10. <h2>Via the Window menu</h2>
  11. <p>Select Combinational Analysis, and the current Combinational Analysis
  12. window will appear. If you haven't viewed the window before,
  13. the opened window will represent no circuit at all.</p>
  14. <p>Only one Combinational Analysis window exists within Logisim,
  15. no matter how many projects are open. There is no way to have two
  16. different analysis windows open at once.</p>
  17. <h2>Via the Project menu</h2>
  18. <p>From a window for editing circuits, you can also request that
  19. Logisim analyze the current circuit by selecting the Analyze Circuit
  20. option from the Project menu. Before Logisim opens the window, it
  21. will compute Boolean expressions and a truth table corresponding to
  22. the circuit and place them there for you to view.</p>
  23. <p>For the analysis to be successful, each input must be attached to an
  24. input pin, and each output must be attached to an output pin.
  25. Logisim will only analyze circuits with at most eight of each
  26. type, and all should be single-bit pins. Otherwise, you will see
  27. an error message and the window will not open.</p>
  28. <p>In constructing Boolean expressions corresponding to a circuit,
  29. Logisim will first attempt to construct a Boolean expressions
  30. corresponding exactly to the gates in the circuit. But if the circuit
  31. uses some non-gate components (such as a multiplexer), or if the
  32. circuit is more than 100 levels deep (unlikely), then it will pop
  33. up a dialog box telling you that deriving Boolean expressions was
  34. impossible, and Logisim will instead derive the expressions based
  35. on the truth table, which will be derived by quietly trying each
  36. combination of inputs and reading the resulting outputs.</p>
  37. <p>After analyzing a circuit, there is no continuing relationship
  38. between the circuit and the Combinational Analysis window. That is,
  39. changes to the circuit will not be reflected in the window, nor will
  40. changes to the Boolean expressions and/or truth table in the window be
  41. reflected in the circuit. Of course, you are always free to analyze a
  42. circuit again; and, as we will see later, you can replace the circuit
  43. with a circuit corresponding to what appears in the Combinational
  44. Analysis window.</p>
  45. <h2>Limitations</h2>
  46. <p>Logisim will not attempt to detect sequential circuits: If you
  47. tell it to analyze a sequential circuit, it will still create a truth
  48. table and corresponding Boolean expressions, although these will
  49. not accurately summarize the circuit behavior. (In fact, detecting
  50. sequential circuits is <em>provably impossible</em>, as it would
  51. amount to solving the Halting Problem. Of course, you might hope
  52. that Logisim would make at least some attempt - perhaps look for
  53. flip-flops or cycles in the wires - but it does not.) As a result,
  54. the Combinational Analysis system should not be used indiscriminately:
  55. Only use it when you are indeed sure that the circuit you are analyzing
  56. is indeed combinational!</p>
  57. <p>Logisim will make a change to the original circuit that is perhaps
  58. unexpected: The Combinational Analysis system requires that each
  59. input and output have a unique name that conforming to the rules for
  60. Java identifiers. (Roughly, each character must either a letter or a
  61. digit, and the first character must be a letter. No spaces allowed!)
  62. It attempts to use the pins' existing labels, and to use a list of
  63. defaults if no label exists. If an existing label doesn't follow the
  64. Java-identifier rule, then Logisim will attempt to extract a valid
  65. name from the label if at all possible.</p>
  66. <p>Incidentally, the ordering of the inputs in the truth table will
  67. match their top-down ordering in the original circuit, with ties
  68. being broken in left-right order. (The same applies to the ordering
  69. of outputs.)</p>
  70. <p><strong>Next:</strong> <a href="table.html">Editing the truth table</a>.</p>
  71. </body>
  72. </html>