Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Out-of-order scoreboard for tagged pixel jobs

Hardware interview practice

Out-of-order scoreboard for tagged pixel jobs

HardSystemVerilog & UVMSystemVerilog

Up to eight pixel-vector jobs may complete out of order. A tag cannot be reused until its result completes. Write UVM scoreboard methods for requests and multi-beat results.

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Starting point

Question code

function void write_req(job_req r); // tag,n,offset,pixel[]
function void write_rsp(job_rsp p); // tag,index,value,last
// expected value=min(pixel[index]+offset,255)
// legal tag 0..7, n 1..16
Reviewed example

Work through one case

Input
Request tag2 has pixels {10,250}, offset10; tag5 has pixel {3}, offset1. Results arrive tag5:{4,last}, then tag2:{20,not-last},{255,last}.
Expected output
All comparisons pass and both tags retire with error_count unchanged.

Tags may complete out of order, while indices remain ordered within each tag and saturation converts 250+10 to 255.

What to cover

Requirements

  1. On a legal request, store the full expected vector by tag; reject a duplicate tag or illegal length without changing existing state.
  2. An unknown response tag reports an error and changes no state. For a known tag, a wrong index, early last, or missing last on the final beat reports an error and immediately deletes that tag.
  3. For a known beat with the expected index and correct last placement, compare the saturated value. A value mismatch still consumes the beat; advance after a nonfinal beat and retire after the legal final beat.
  4. In check_phase report every remaining tag as incomplete; cleanup for one tag must not disturb another tag.
Continue practicing

Related questions

UVMMatch out-of-order responses by ID→UVMOut-of-order scoreboard for a 2-by-4 router→UVM ComponentsVerify pipeline reachability→
asic.fyi · Learn silicon end to end.info@asic.fyi