The bulk of the Combinational Analysis module is accessed through a single window of that name allowing you to view truth tables and Boolean expressions. Logisim provides two options for opening this window.
Select Combinational Analysis, and the current Combinational Analysis window will appear. If you haven't viewed the window before during the current run of the program, the window will appear blank.
Only one Combinational Analysis window can exist. There is no way to have two different truth tables open at once. (As we will see, though, the truth table can have several distinct output columns for the same set of inputs.)
You can also open a window that corresponds to an existing circuit. Right-click (or control-click) the circuit in the Explorer pane and choose Analyze.
The circuit will need each of its inputs attached to an input pin, and each of its outputs attached to an output pin. It limits the circuit to having at most eight of each, and all should be single-bit pins. Otherwise, you will see an error message and the window will not open.
Logisim will first attempt to construct a Boolean expressions corresponding exactly to the gates in the circuit. If it can do this, then the open window will be initialized to use these expressions.
After the Analyze action is complete, there is no continuing relationship between the Combinational Analysis window and the circuit. That is, changes to the circuit will not be reflected in the window, nor will changes to the Boolean expressions and/or truth table in the window be reflected in the circuit. Of course, you are always free to analyze a circuit again to reflect your changes; and, as we will see later, you can replace the circuit with a circuit corresponding to what appears in the Combinational Analysis window.
This can fail, though; the most typical reason is that the circuit includes components that don't correspond to Boolean operations, such as multiplexers or adders. In this case, it will pop up a dialog box informing you of this, and it will instead derive a truth table from the circuit and display the truth table. It derives a truth table by quietly trying each combination of inputs and reading the resulting outputs.
(Deriving expressions could also fail if the circuit includes any gates whose inputs are related to their outputs, directly or indirectly. Logisim does not attempt this directly; instead, it gives up once it reaches expressions that are more than 100 levels deep. It will still build a truth table, though, and the corresponding minimized expressions. If you have a circuit more than 100 levels deep, then you'll find these minimized expressions handy!)
The truth table generated by the analysis procedure does not always accurately represent the original circuit's behavior because it disregards any state that may exist within the circuit. Such circuits, of course, are not combinational, and so they fall outside the purview of the Combinational Analysis system. But Logisim makes no attempt to detect sequential circuits. (Any such attempt could be misleading anyway, as it could never be always correct.) The Combinational Analysis system should not be used indiscriminately - only when you are sure yourself that the circuit you are analyzing is indeed combinational!
Logisim will make a change to the original circuit that is perhaps unexpected: It needs names by which to call all the inputs and outputs. It attempts to use the pins' existing labels, and to use a list of defaults if no label exists. But all names must conform to the subsystem's rules that the the names be distinct and match the same rules as for Java identifiers. (Roughly, each character must either a letter or a digit, and the first character must be a letter. No spaces allowed!) It attempts to extract a valid name from each pin's label if at all possible.
The ordering of the inputs in the truth table, incidentally, will match their top-down ordering in the original circuit, with ties being broken in left-right order. (The same applies to the ordering of outputs.
Next: Editing the truth table.