Automating the creation of UVM register model and C header files from register specification - Kaushik Kumar Naidu (2018)
Complex hardware IP or SoC can have more than or near to 10,000 of configuration and status registers. An accurate memory map description is needed by design, verification and firmware teams. Thus the huge and never stopping growth of these registers makes the normal way of updating of these registers a bottleneck in the Integrated Circuit (IC) design process due to cost and time to market requirement. The most time consuming task and error prone task is register validation. Therefore we need an efficient way for register automation with less effort and also takes less time. The current methodologies implementing the automation of register models, are not reusable and also restricted to be used for that particular phase of development and the other method for generating the register model is from spread sheet based register template by using commercial tools. The methodology discussed in this thesis uses automation of register model from register description files using python. The development being in pure python language to generate the register model, is being used by all the teams. The most important part of thesis work is python being reusable and its reusability feature making it to be used across other phases of development in the upcoming work. The thesis presents the Register Model (RGM) to be automated for the Global Navigation Satellite System (GNSS) from different register files. Keywords: UVM, Register Model, Automation, Python