APB Environment

Wrapping all dynamic components together

Congratulations on making it this far! The environment class is the final class based component for the testbench before we implement the top module. The environment class is responsible for building the agent and the scoreboard and then calling the respective run() tasks.

Testbench_Architecture_Scoreboard

Given the environment class is responsible for building and running the agent and the scoreboard, it would also be responsible for creating the mailboxes. This would include the mailbox between the generator and the driver and as well as the one between the monitor and the scoreboard. The environment class would help instantiate and connect all of the sub-components together to help build the testbench hierarchy.

Coding Exercise

For this coding exercise, we would have the following goals:

  • Implement the apb_slave_environment class which creates the agent, scoreboard and the mailboxes
    • The new() method should create the agent, scoreboard and the two mailboxes
    • The run() task in the environment class should start the agent and the scoreboard as separate processes
  • Update the apb_slave_pkg.sv file to include our environment class

Loading the interactive workspace...