contains the class Gate and further functions to organize the gate structure, such as initializing the gate constraints More...
Go to the source code of this file.
Classes | |
class | Gate |
Functions | |
Gate * | gate (unsigned lit) |
void | allocate_gates (bool assert=1) |
void | mark_aig_outputs () |
Gate * | derive_ha_and_gate (const Gate *n) |
void | set_xor () |
bool | upper_half_xor_output () |
Gate * | xor_left_child (const Gate *n) |
Gate * | xor_right_child (const Gate *n) |
void | mark_xor_chain_in_last_slice () |
void | set_parents_and_children (bool set_children) |
Polynomial * | negative_poly (const Var *v) |
Polynomial * | positive_poly (const Var *v) |
void | init_gate_constraints () |
void | delete_gates () |
Variables | |
bool | xor_chain |
set to true when the last slice contains an xor_chain More... | |
bool | booth |
set to true when the multiplier contains a booth pattern More... | |
bool | signed_mult |
set to true when a signed or unsigned multiplier is verified More... | |
Gate ** | gates |
Gate ** where all gates are stored. More... | |
unsigned | num_gates |
Counts the number of gates. More... | |
contains the class Gate and further functions to organize the gate structure, such as initializing the gate constraints
Part of AMulet2.0 : AIG Multiplier Verification Tool. Copyright (C) 2020 Daniela Kaufmann, Johannes Kepler University Linz
void allocate_gates | ( | bool | assert = 1 | ) |
Allocate the Gate** gates and filling it
void delete_gates | ( | ) |
Deletes Gate** gates by calling destructur of Gate
For the xor output n, derive the corresponding carry output of an half-adder
n | Gate* that is an xor output |
Gate* gate | ( | unsigned | lit | ) |
Returns the gate with aiger value 'lit'
lit | unsigned integer |
void init_gate_constraints | ( | ) |
Initializes all gate constraints in the gates[]
void mark_aig_outputs | ( | ) |
Mark those gates that are outputs in the aig
void mark_xor_chain_in_last_slice | ( | ) |
Mark all gates in the xor_chain in the last slice
Polynomial* negative_poly | ( | const Var * | v | ) |
Defines the polynomial '1-v'
v | Var* |
Polynomial* positive_poly | ( | const Var * | v | ) |
Defines the polynomial 'v'
v | Var* |
void set_parents_and_children | ( | bool | set_children | ) |
For all gates set the parents and children
set_children | indicate whether children will be set (0 in -substitute) |
void set_xor | ( | ) |
Identifies XOR gates in an AIG
bool upper_half_xor_output | ( | ) |
Identifies whether the output gates of slice N until NN-2 are XOR gates
bool booth |
set to true when the multiplier contains a booth pattern
unsigned num_gates |
Counts the number of gates.
bool signed_mult |
set to true when a signed or unsigned multiplier is verified
bool xor_chain |
set to true when the last slice contains an xor_chain