Previous Section Next Section

12.3 Verification Plan

A verification plan is required to describe what is to be verified and how it will be verified. It should address the three aspects of verification: coverage measurement, stimulus generation, and response checking. The verification environment will be developed in e. Multiple components are needed in the router verification environment. Figure 12-7 shows the components in the router verification environment.

Figure 12-7. Components of the Router Verification Environment

graphics/12fig07.gif

A summary description of the objects is given below.

12.3.1 Data Object (Stimulus Generation)

The generation component of verification uses data objects for stimulus generation. These data objects are structs that represent the abstract form of input stimulus. In the router verification, the data object is in form of the struct packet. This struct is the basic form of stimulus.

12.3.2 Driver Object (Stimulus Driver)

The driver object performs the function of taking the stimulus data objects one at a time and applying them to the DUT until all stimulus has been applied. Typically, the driver object is similar to an HDL bus functional model. In case of a networking environment, it is also known as a port object. In the router environment the driver object is called sbt_driver and is modeled as a unit.

12.3.3 Receiver Object (Output Receiver)

The receiver object is responsible for collecting the data at output of the DUT. The receiver object performs the function of taking the raw output data from the DUT based on the output protocol and converting the data to an abstract object for comparison. Typically, the receiver object is similar to an HDL bus functional model. In the router environment the receiver object is called sbt_receiver and is modeled as a unit. There are three instances of the sbt_receiver, one per channel.

12.3.4 Data Checker Object (Expected Value Comparison)

The data_checker object stores expected values for each input data object injected into the DUT. When the receiver object receives one data object, it passes it to the data_checker for comparison against the expected values. In the router environment, the data_checker object will be modeled as the sbt_scoreboard unit.

12.3.5 Monitor Object (Protocol Checker)

A monitor object checks the input and output timing protocol. In the router environment, a monitor object is modeled as the sbt_checker unit. Various protocol checks are included in this unit.

12.3.6 Coverage Object (DUT and e Coverage)

A coverage object sets up coverage tracking on key items in the e code and in the DUT. Some coverage objects can also be embedded in the extension to a driver or receiver object. In the router environment, the coverage object is modeled as sbt_dut_cover unit.

12.3.7 Env Object (Environment)

All verification components in this section are instantiated under the sbt_env unit. The sbt_env unit is instantiated in sys. One can transport the sbt_env unit to any other level of hierarchy without having to transport each individual verification component.

Previous Section Next Section