The SystemRDL language, supported by the SPIRIT Consortium, was specifically designed to describe and implement a wide variety of control status registers. Using SystemRDL, developers can automatically generate and synchronize register views for specification, hardware design, software development, verification, and documentation.
SystemRDL is an open source text based descriptive language that focuses exclusively on registers. SystemRDL 1.0 had some limitations and is now superseded by SystemRDL 2.0 which has support for verification based properties like constraints, coverage, and HDL paths. SystemRDL 2.0 also introduces the ability to parameterize components which further improves design re-use.