jsan_delis Posted July 24, 2015 Report Share Posted July 24, 2015 Hello everyone, I'm fairly new to the verification using UVM. I've watched a bunch of lectures about the UVM methodology from the MentorGraphics website, and implemented a simple UVM test for a simple FIFO I designed. Currently, this test has no configurability and that is the next step I'd like to take to get to know UVM better. The FIFO is pretty simple, with 1 write and 1 read port, full and empty flags, and a reset. In my test all data and read/write flags are generated randomly, but I want to change that in order to be able to be me who says when to write, when to read and what to write. am not very familiar with the concept of inheritance but I get the idea. Because of that, I haven't got any class that is extended from any of my own classes. My question is where should I get started to add some configurability to the test? Should I make several configuration classes and have general sequence/monitor/agent classes that get a configuration and do what they are supposed to by having big classes that interpret those configurations OR Should I have several smaller sequence/monitor/agent classes, each one doing a different thing, and have a simple configuration object indicate to the test which sequence/monitor/agent classes to override/use OR somehow a mix of bothAny suggestions or resources about configurability are welcome! Quote Link to comment Share on other sites More sharing options...
c4brian Posted July 28, 2015 Report Share Posted July 28, 2015 The test first performs the configuring; in it, you build your environment, and then configure the env and all components inside of it. The test can change knobs in say, an agent's configuration object (e.g. leave out the driver path), or you can swap out any factory registered object with a child. Your test then selects which sequence(s) to run. If you want a randomized test, then run that sequence. If you want a more directed test, run a different sequence. You should create several child tests so that you can select which one you want to run from the command line switch. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.