swathi92 Posted August 17, 2014 Report Share Posted August 17, 2014 i have understood all topics of uvm but i am not understanding how to start uvm testbench. do i need to develop test module first or do i need to start from uvm_sequence_item ,then uvm_sequences,sequencer,driver,monitor,agent.... my question is do i need to develop testbench from top to bottom or from bottom to top? at each stage i want to check whether developed code is correct or not. how can i do it? suppose i develop a sequence item ,i can randomize and check various patterns generated. but if i would like to check driver or monitor or sequencer or any other component of uvm ,what method should be followed. thankyou................. Quote Link to comment Share on other sites More sharing options...
hvgbl Posted August 18, 2014 Report Share Posted August 18, 2014 First of all develop Top file, and instance TEST file in it. than develop another file, and add your functionality (eg. Display, Vairable, etc.) in it. and check the correctness or connectivity between Test or Top file. Than develop sequence item, and randomize it and again check for the display. And proceed in this way. Quote Link to comment Share on other sites More sharing options...
swathi92 Posted August 21, 2014 Author Report Share Posted August 21, 2014 suppose i have to develop top,test,env1,env2,both env has 2 agents which are active,agents and env have to be configured. now plese tell me the order in which i should start developing my uvm testbench. at the first stage do i need to put exact tests and configuration or just put messages and then start developing from sequence item,sequences,driver,monitor,agent,env.... Quote Link to comment Share on other sites More sharing options...
David Black Posted August 28, 2014 Report Share Posted August 28, 2014 UVM takes a while to put in place. Personally, I design from the top-down and then implement/test from the bottom up with a small test case for each level. Start with transaction classes. Test all the methods in a trivial test case. Next design trivial sequences (send a single item). Then create an agent. You may need to create dummy DUT to source or sink accross the interface. It takes time. The first time around always takes much longer. Quote Link to comment Share on other sites More sharing options...
tudor.timi Posted August 29, 2014 Report Share Posted August 29, 2014 Or better yet, test your methods using SVUnit: http://www.agilesoc.com/open-source-projects/svunit/ David Black 1 Quote Link to comment Share on other sites More sharing options...
swathi92 Posted September 2, 2014 Author Report Share Posted September 2, 2014 thanx david and tudor. 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.