The most often used analysis function in X-Amin is logic evaluation, or eval, for short. Eval produces a truth table for a specified signal. The eval function contains many options to filter and control the truth table generation process. For example, the following code:
reg d;
always @(posedge clk or negedge rst)
if (!rst)
d <= 0;
else if (ld1)
d <= a & b;
else if (ld2)
d <= a | b;
else
d <= a ^ b;
Produces the following Eval truth table for signal d.

The inputs to the signal being eval'd are shown in the left columns. The value of the eval'd signal is shown in the highlighted right-most column.
To perform an Eval on a signal, select the signals parent component in the Components Window then select the desired signal in the Signals Window. Then, use the Analyze menu (Analyze->Eval...) or Eval icon
on the Analyze toolbar to invoke the Eval Diagram Options dialog.

Hex: By default output from eval is displayed in binary format. For large vectors this is not always ideal. Setting the Hex Format value directs X-Amin to display in hexadecimal format vectors whose width is greater than or equal to Hex Format.
Max: Specifies the maximum number of rows in the final eval truth table.
Restrict: If the signal to be eval'd has large input vectors driving it, the truth table can become needlessly large. This control will automatically restrict to 0 those inputs whose width is greater than the value set, effectively removing them from the truth table. Any user defined restrictions will not be overridden. A value of 0 for restrict will prevent any signals from being auto-restricted.
Use Hierarchical Names: Enabling this control causes X-Amin to use heirarchical names in the truth table.
Output in text format: Enabling this control causes X-Amin to output the truth table in text format in the log window rather than creating an Eval Window.
Results: A comma-separated list of results for the signal to be shown in the Eval truth table. Use this to only see table entries for a specific signal state. For example, to see what input states set a state-machine present-state register to state S6, perform an eval of the present-state register with Results = S6. The results list can contain individual states expressed in binary (i.e. 0b10100), decimal, or hexadecimal (i.e. 0xfefe) formats, the keywords '1hot' (for one-hot encoded states, i.e. 0001, 0010, 0100, 1000), '0hot' (for zero-hot encoded states, i.e. 1110, 1101, 1011, 0111) or ranges (i.e. 0x100-0x200).
Title: Specifies the Eval Diagram title. Windows are identified by their titles which must be unique. The default title is the signal name.
Values to Eval: Selects specific values for input (i.e. support) signals. This option is useful in reducing the overall size of the Eval output when only certain input values are of interest. If no values are specified for an input signal, all possible values will be included in the Eval. To add specific values for a signal, select the 'Add' button in the Values to Eval panel which will invoke the Add/Edit Value dialog.

Signal Name: Signal to select specific values for.
Signal Values: A comma-separated list that specifies the values to apply to the specified signal. The signal value list can contain individual values expressed in binary (i.e. 0b10100), decimal, or hexadecimal (i.e. 0xfefe) formats, the keywords '1hot' (for one-hot encoded values, i.e. 0001, 0010, 0100, 1000), '0hot' (for zero-hot encoded values, i.e. 1110, 1101, 1011, 0111) or ranges (i.e. 0x100-0x200).
To further limit the effect an input has on the Eval of a signal, see the documentation on Restricting.
eval Command
Evaluation analysis can also be run using the 'eval' command entered in the GUI Command Entry box or on the command line in command-line mode. The 'eval' command format is:
SYNTAX
(void) eval
[-file <filename>]
[-hex <#>]
[-hier]
[-max <#>]
[-results <list>]
[-<signal> <list>]
[-text]
[-title <title>]
<expression>
ARGUMENTS -file <filename> Output the eval results to file <filename>
-hex <#> Specifies that vectors with width greater-than or equal-to <#> should be displayed in hexadecimal format. The default is to display all signals in binary format.
-hier Specifies to use hierarchical names in the truth table
-max <#> Specifies the maximum number of table entries to generate. The default is 1000.
-results <list> A comma-separated list of results for the expres sion being evaluated to be shown in the Eval truth table. Use this to see only table entries for spe cific signal states. For example, to see what input states set a state-machine present-state register to state 000110, perform an eval of the pre sent-state register with -results 000110. The results list can contain individual states expressed in binary (i.e. 0b10100), decimal, or hexadecimal (i.e. 0xfefe) formats, the keywords '1hot' (for one-hot encoded states, i.e. 0001, 0010, 0100, 1000), '0hot' (for zero-hot encoded states, i.e. 1110, 1101, 1011, 0111) or ranges (i.e. 0x100-0x200). -restrict <#>
If the expression to be eval'd has large input vec
tors driving it, the truth table can become need
lessly large. -restrict will automatically restrict
inputs whose width is greater than <#> to 0, effec
tively removing them from the truth table. Any user
defined restrictions on <expression> will not be
overridden. A value of 0 for <#> will prevent any
signals from being auto-restricted. The default for
-restrict is 0.
-<signal> <list> Specifies a comma-separated list of specific values for input signal <signal>. This option is useful in reducing the overall size of the eval output when only certain input values are of interest. If no values are specified for an input signal, all pos sible values will be included in the truth table. The signal value list can contain individual values expressed in binary (i.e. 0b10100), decimal, or hexadecimal (i.e. 0xfefe) formats, the keywords '1hot' (for one-hot encoded values, i.e. 0001, 0010, 0100, 1000), '0hot' (for zero-hot encoded values, i.e. 1110, 1101, 1011, 0111) or ranges (i.e. 0x100-0x200).
-text In GUI mode, output results as text, not in an Eval Window. Ignored in command-line mode.
-title <title> Use <title> for the diagram title. Ignored if -text is specified.
<expression> Produce an eval truth table for the specified expression.
Eval Customizations
The Eval Preferences page (Edit->Preferences or the Preferences icon
in the Edit toolbar) provides controls for configuring the appearance of the Eval table.
The Eval General preferences page, shown below, controls the colors of the Eval table.

To change a symbol color, simply select the color button which will invoke the color dialog. From the color dialog select the desired color.