I’m working with Big Integer for modular arithmetic operations (multiplying, addition of big Integers modulo a big integer) as a first layer of a cryptographic scheme. I have a problem when I do functional verification on designs in a VHDL testbench as default VHDL packages do not support arithmetic operation on big integers (they are limited to 32-bit or 64-bit). While I have to work with more than 163-bit length operands.
Here is an example of the testbench i’m using for a normal size integer
A brute force way to do this is to handle item/point coverage as cross coverage, the first bin in the cross being the upper bits of the number and the second bin in the cross being the range of the lower number.
OTOH, you can divide/shift/mask away your lower bits and just use a normal integer range. Even just 2**31 item coverage bins is quite a few and you would really need to think about whether you need this many as it will impact simulation performance.