In reply to mhild7:
OK so the answer is to KISS:
bins range_bins [BINS_CNT] = {[MIN_VAL:MAX_VAL]};
However, this has one disadvantage over auto-binning as you lose the true numerical range of the bin in the bin description in the coverage tool I use.
Also i’d still like to know how it would be possible to create bins using a function. I feel like there are real use cases with that. the WITH keyword does not work for ultra-wide data buses as it becomes computationally intractable.