The company product is CSRCompiler. It is a configurable, hardware-software interface implementation tool designed to eliminate the gap between hardware design, software development, and verification. The CSRCompiler generates an RTL implementation, generates from a single source, the register class instances based on the UVM register abstraction class library, including backdoor paths, and generates the necessary software header files for the software/firmware development team. These help with the verification flow and provide a degree of automation for an IP integration flow.