I recently downloaded the OSVVM package and was looking it over. Something that was striking was the naming conventions in the packages which seemed, to me, somewhat inconsistent.
For an example, I am looking at RandomPkg.vhd in the package declaration. One observation is that VHDL is insensitive to case, so DISTTYPE is the same as DistType. Personally, I prefer _p for packages, _t for types, but that is just a style preference.
My main comment comes in the Rand<Type>; functions. It seems that subprogram overloading is done above (favor_small, favor_big, normal, uniform, etc) but then there are a slew of RandReal, RandInt, RandSLV, RandUnsigned, RandSigned. Should these functions be overloaded to just Rand with the different signatures?
A small gripe is with the naming of functions that are comprised of different words. Some are camelCase (InitSeed, SetRandomMode) while others have underscores (Favor_big, Favor_small). As alluded to beforehand, I prefer underscores since VHDL doesn’t care about case and the standard libraries tend to prefer underscores, but sticking to a single convention would be nice.