Trends in Register Verification with a Focus on IP Employed in Networking Devices

dc.contributor.authorBahuguna, Aditya
dc.contributor.supervisorKumar, Vinay
dc.contributor.supervisorVerma, Poonam
dc.contributor.supervisorJoshi, Pranav B
dc.date.accessioned2025-08-07T07:09:03Z
dc.date.available2025-08-07T07:09:03Z
dc.date.issued2025-08-08
dc.description.abstractAs digital systems continue to grow in complexity, especially within networking and SoC domains, validating hardware before fabrication has become a pressing necessity. This project focused on verifying the register interface of a Data Aligner IP, a module frequently used in packet-based communication systems. The IP had a set of programmable registers used for both data path alignment and control. Since the register behavior had to remain consistent even when traffic patterns or timing conditions changed, validating this wasn’t trivial. Early in the project, I noticed that manual register access and checking was becoming repetitive and hard to scale. So I put together a UVM-based testbench with SystemVerilog and integrated a RAL model to simplify the entire process. The Register Abstraction Layer (RAL) was integrated after experimenting with a few manual approaches, which proved time-consuming and error-prone. By transitioning to a structured, script-based generation flow (using spreadsheet input for spec definition), I was able to create an accurate register model, integrate it into the environment, and perform functional coverage analysis efficiently. Assertions were embedded early on to catch design mismatches, and constrained-random sequences were written to stress corner cases. We simulated the register interface, which made debug much faster. Instead of handling register behavior manually—something that quickly became tedious and error-prone—I used RAL to automate how access sequences were built and how checks were run. During development, the register specification kept changing—sometimes just small updates, sometimes entire fields added or removed. Instead of constantly modifying sequences or rewriting checkers every time that happened, I worked on making the testbench flexible enough to handle these shifts. The point wasn’t to nail everything on day one—I just didn’t want to waste time redoing the same stuff every time the spec changed. So I set things up with enough flexibility that small changes—like renaming a field or adjusting a default—wouldn’t break the whole environment. It wasn’t some perfect setup, but it worked, and over time it definitely reduced the amount of rework and made life a bit easier as the project moved forward.en_US
dc.identifier.urihttp://hdl.handle.net/10266/7063
dc.language.isoenen_US
dc.publisherThapar Institute of Engineering and Technologyen_US
dc.subjectRegister Abstraction Layeren_US
dc.subjectUVM Register Architectureen_US
dc.subjectIP Level Register Validationen_US
dc.subjectScalable Verification Frameworken_US
dc.subjectMode Specific Access Testingen_US
dc.titleTrends in Register Verification with a Focus on IP Employed in Networking Devicesen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
MTech-PVL492-602362043.pdf
Size:
1.11 MB
Format:
Adobe Portable Document Format
Description:
MTech Thesis

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.03 KB
Format:
Item-specific license agreed upon to submission
Description: