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.