c4HDL - C++ for bit-accurate modelling of HDL

c4HDL is a library of C++ classes that provides bit-accurate modelling of integer, floating point, and fixed point data types, for matching with HDL code.

The classes allow for either very small or very large numerical precision, allowing the word size of hardware simulations to be easily varied in order to analyse the effect on performance. These models can then be directly used for generating testbench data to verify the operation of HDL models of the algorithm.

The project also contains predefined models of various arithmetic hardware components, such as carry-save adders, and can generate models of items such as multipliers with carry-save outputs, along with a corresponding VHDL output.

While designed as a plug-in for c4Hardware, this library may also be used as a standalone item.