English subtitles

← Packet UVC cs348 unit7

Get Embed Code
1 Language

Showing Revision 1 created 04/13/2013 by Cogi-Admin.

  1. Now, we are ready to finish our packet UVC. I've defined the top level
  2. container, and I called it pktenvu. It inherits of any_env, which has some
  3. more methodology infrastructure code. I'm using the same concept as we've done
  4. with the agents. So, I'm naming the UVC, I'm giving it a name which is some
  5. enumerator type, and we will use this name down in the components as well. So,
  6. I'm pushing it down here, and from the agent it's pushed on further into the
  7. subcomponents of the agents. Also, in the top level, we have our sync unit,
  8. which contains the clock port and the clock event, as shown here. Then, we have
  9. our list of agents, which we can configure, so we can say how many agents we
  10. want. By default, we have none. This now enables us to define and instantiate a
  11. packet UVC. So, we have two enumerated types, the environment name and the
  12. agent name. So we can add as many values as we want to those, and then,
  13. configure our UVC accordingly. So here, I've defined a UVC1, packet
  14. environment. It should have one agent and the agent should be named IN_1. And
  15. it should be an active ingress agent. So here, I've instantiated the UVC. I've
  16. configured the agent and we all know what this agent will do. Further, we need
  17. to set the hdl_path of the UVC, so I set it to top. And then, also, I need to
  18. set the hdl_path of the signals in the signal map. So here, you can see how I'm
  19. using subtyping to specify that the IN_1 agent of the UVC1 should have these
  20. signal names. This shows you how you can group verification codes related to
  21. one interface into a reusable verification component. Now anybody could reuse
  22. this UVC, configure it to their needs, and start producing traffic right away
  23. without having to start from scratch. This is what reuse is all about.