Overview
Bit-vector modeling represents data as fixed-width groups of bits with defined arithmetic, logical, and comparison operations. In the UCLID5 hardware-modeling context, this representation is described as the most precise way to model data in a hardware design, although it can impose a high verification cost. [C1]
Role in abstraction choices
The cited verification work compares three data-representation choices for processor words: uninterpreted terms, integers, and bit vectors. These choices form a partial order in which uninterpreted data is more abstract than either integers or bit vectors, while integers and bit vectors are incomparable. [C2]
Integers are not treated as a simple abstraction of bit vectors in this setting. Although mapping an integer x to an n-bit vector by x mod 2^n preserves several arithmetic operations such as addition, multiplication, and negation, it does not preserve equality and ordering behavior, and integer operations do not directly correspond to bit-wise logical operations. [C3]
Precision for ALU modeling
Bit-vector representations allow a more precise model of ALU behavior than integer-only representations for operations that include bit-wise logic. In the precise ALU model described in the evidence, addition and subtraction are modeled directly, while bit-wise AND and XOR are explicitly marked as bit-vector-only operations. [C4]
The same source distinguishes several ALU abstraction levels: fully uninterpreted ALU behavior, an x + 0 = x specialization, an increment/decrement axiom, an addition-specialized ALU, and a precise ALU model. The addition-specialized ALU can be used when words are modeled as either integers or bit vectors, while the most precise ALU models apply only to integer and bit-vector data. [C5]
Use in pipeline verification
Different Y86-64 pipeline variants required different modeling precision. Some variants could be verified with an uninterpreted ALU, while others required partial or precise interpretations of addition. In particular, the SW variant required modeling data as either integers or bit vectors with a precise interpretation of addition because the SMT solver could not effectively use an increment/decrement axiom over an otherwise uninterpreted ALU. [C6]
Practical tradeoff
Bit-vector modeling increases semantic fidelity for hardware because it captures fixed-width data and bit-wise operations. The tradeoff identified in the evidence is that this precision may come with higher verification effort, so the appropriate level of modeling depends on which operations and pipeline behaviors must be proved. [C1] [C5] [C6]