desperado Posted September 20, 2012 Report Share Posted September 20, 2012 Hi All, I have a requirement to build an UVM Scoreboard, where the environment contains a single master and multi-slave data tx/rx protocol. Simple Working Operation: 1. Master is the one who initiates the Tx packet. 2. Based on the packet received the required slave sends the response Rx packet and so does the process goes on. Requirement: 1. I need to build a scoreboard where, the scoreboard will be getting information (i.e. Expected packet & Obtained packet from the master side) and so does the same at the slave side. 2. I have planned up to do a three level checks, which Includes: a. Tx packet integrity (i.e. whether right packet is generated or not) sent at the Master side. b. Tx packet integrity (i.e. whether the slave de-packetize the received packet properly and stored the information in fifo properly or not) received at the slave side. c. End to end packet which is been transmitted from the master to the slave. Idea's poped for verifying: 1. I had planned up to create an array of analysis fifo's connected to the scoreboard based on the number of components (i.e. 1 Master and N slaves). 2. Would be having three different functions/tasks or logic's which performs the above mentioned checks in Point 2 and do the same. Contradiction: 1. If I have multiple analysis ports, then based on the no of ports used, I should used different named write functions which might sometimes mess up stuffs. Poped-up Idea: 1. Can I used different subscribes inside the scoreboard based on the no of components required i.e. 1 subscriber for one master and N subscriber for N slaves etc inside the UVM scoreboard. Request: I would request if anyone gives me a much better idea/procedure for designing this scoreboard which verifies the data coming from master and multi-slave. Thanks in advance. Fresh Breath of UVM when started again !! Desperado: Passive -> Active State Quote Link to comment Share on other sites More sharing options...
whiteriver Posted September 21, 2012 Report Share Posted September 21, 2012 This may help: http://www.uvmworld.org/forums/showthread.php?654-referencing-an-array-of-uvm_analysis_imp-in-a-scoreboard Quote Link to comment Share on other sites More sharing options...
mea1201 Posted September 21, 2012 Report Share Posted September 21, 2012 Put the array of analysis FIFOs, as well as an array of analysis exports, inside your scoreboard. In your env, connect the agents to the analysis exports. Within the scoreboard, connect the analysis exports to the analysis FIFOs. In the run phase in the scoreboard, fork off a thread for each analysis FIFO. Each thread calls get method from the associated FIFO, then does something when it receives a transaction. The rest of the scoreboard logic, including coordinating all the threads, is entirely up to you. No need to implement any write method in your scoreboard for each and every master/slave. chandan 1 Quote Link to comment Share on other sites More sharing options...
kapildholakiya Posted March 13, 2015 Report Share Posted March 13, 2015 HI I just came across this posting as I have to design the similar kind of score board where I have two master and one slave who send and receives addr/data in random order(out of order). I tried to open up this link : http://www.uvmworld....in-a-scoreboard but its not working. I really appreciate your help. 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.