Stage Name Tests Description
V1 xbar_smoke xbar_smoke

Sequentially test each host to access any device

V2 xbar_base_random_sequence xbar_random

Enable all hosts to randomly send transactions to any device

V2 xbar_random_delay xbar_smoke_zero_delays

Control delays through plusargs to create tests for below types of delay

  • Zero delay for sending a/d_valid and a/d_ready
  • Large delay from 0 ~ 1000 cycles
  • Small delay (0-10 cycles) for a_channel, large delay (0-1000 cycles) for d_channel
V2 xbar_unmapped_address xbar_unmapped_addr
  • Host randomly drives transactions with mapped and unmapped address
  • Ensure DUT returns d_error=1 if address is unmapped and transaction isn't passed down to any device
V2 xbar_error_cases xbar_error_random
  • Drive any random value on size, mask, opcode in both channels
  • Ensure everything just pass through host to device or device to host
V2 xbar_all_access_same_device xbar_access_same_device
  • Randomly pick a device, make all hosts to access this device
  • If the device isn't accessible for the host, let the host randomly access the other devices
V2 xbar_all_hosts_use_same_source_idxbar_same_source

Test all hosts use same ID at the same same

V2 xbar_stress_all xbar_stress_all
  • Combine all sequences and run in parallel
  • Add random reset between each iteration
V2 xbar_stress_with_reset xbar_stress_all_with_rand_reset
  • Inject reset while stress_all is running, after reset is completed, kill the stress seq and then start a new stress seq
  • Run a few iteration to ensure reset doesn't break the design