Understanding Coverage in Verification
Which type of coverage measures how much of the code has been executed by tests in a verification environment?
- Functional coverage
- Code coverage
- Toggle coverage
- Data coverage
- Module coverage
Phases in UVM
In the Universal Verification Methodology (UVM), which phase is responsible for constructing all child components from their parent component in a top-down approach?
- Build phase
- Run phase
- Extract phase
- Check phase
- Connect phase
AXI Protocol Channels
Why does a write transaction in the AXI protocol require three channels while a read transaction uses only two?
- Write needs extra control data
- Read has no address channel
- Write response channel is needed to confirm write success or failure
- Read data arrives in two parts
- Read transactions require a response delay
Response Types in AXI
What does an 'OKAY' response in the AXI protocol indicate about a data transfer?
- The transfer is delayed
- The transfer failed
- The transfer was successful
- Partial data was sent
- Data width mismatch occurred
UVM Handshaking Methods
Which pair of methods are typically used in UVM sequences to begin and complete a data transaction with a driver?
- start_test and end_test
- build_item and run_item
- start_item and finish_item
- get_item and put_item
- start_phase and end_phase
Method Blocking Behavior
In UVM, is the get_next_item() method that the driver uses to fetch sequence items from the sequencer blocking or non-blocking?
- Blocking
- Non-blocking
- Asynchronous
- Parallel phase
- Static
Location to Start UVM Sequence
In which phase of a UVM test class is a sequence typically started to begin the verification process?
- build_phase
- end_of_elaboration_phase
- run_phase
- check_phase
- extract_phase
UVM Communication Flow
Why is a sequencer used as an intermediate component between the driver and the sequence in UVM?
- To directly transfer signals to hardware
- To sort sequence items alphabetically
- To control data flow and synchronize stimulus generation
- To increase testbench latency
- To generate testbench reports
Purpose of uvm_config_db
What is the main purpose of the uvm_config_db in a UVM-based verification testbench?
- To store simulation waveforms
- To store and retrieve configuration information among components
- To generate random numbers
- To synthesize test designs
- To check test coverage
Role of Virtual Interface
What is a virtual interface in SystemVerilog and UVM?
- A physical wire on a chip
- A variable pointing to an actual interface
- A hardware design diagram
- A database of testbenches
- A function to start sequences