# avt_analysis_channel

The avt_analysis_channel is used to connect any OVM component with an analysis port or export to any VMM component via a vmm_channel.

The adapter operates in two different modes.

OVM analysis port to VMM channel | Connect any OVM component with an analysis port to this adapter’s analysis_export. The adapter will convert all incoming OVM transactions to a VMM transaction and put it to the vmm_channel.
VMM channel to OVM analysis export | Connect the adapter’s analysis_port to one or more OVM components with an analysis export. The adapter will get any transaction put into the vmm_channel, convert them to an OVM transaction, and broadcast it out the analysis port.

Users should connect either the analysis_export or analysis_port, not both.

See also the avt_analysis_channel example.

Summary

avt_analysis_channel
The avt_analysis_channel is used to connect any OVM component with an analysis port or export to any VMM component via a vmm_channel.
Class Hierarchy
ovm_component
avt_analysis_channel
Class Declaration
> class avt_analysis_channel #(
> | type | OVM | = | int,
> |  | VMM | = | int,
> |  | OVM2VMM | = | avt_converter #(OVM,VMM),
> |  | VMM2OVM | = | avt_converter #(VMM,OVM)
> ) extends ovm_component
Ports |
analysis_export | The adapter may receive OVM transactions via this analysis export.
analysis_port | VMM transactions received from the channel are converted to OVM transactions and broadcast out this analysis port.
Methods |
new | Creates a new avt_analysis_channel with the given name and optional parent; the optional chan argument provides the handle to the vmm_channel being adapted.
run | If the analysis_port is connected, the run task will continually get VMM transactions from the vmm_channel and end the converted transactions out the analysis_port.
write | The write method, called via the analysis_export, converts an incoming OVM transaction to its VMM counterpart, then sneaks the converted transaction to the vmm_channel.
Variables |
chan | The vmm_channel instance being adapted; if not supplied in its new constructor, the adapter will create one.

### Ports

### analysis_export

The adapter may receive OVM transactions via this analysis export. The

### analysis_port

VMM transactions received from the channel are converted to OVM transactions and broadcast out this analysis port.

### Methods

### new

> function new ( |  | string | name, |  |
> |  | ovm_component | parent | = | null,
> | vmm_channel_typed | #(VMM) | chan | = | null | )

Creates a new avt_analysis_channel with the given name and optional parent; the optional chan argument provides the handle to the vmm_channel being adapted. If no channel is given, the adapter will create one.

### run

> virtual task run()

If the analysis_port is connected, the run task will continually get VMM transactions from the vmm_channel and end the converted transactions out the analysis_port.

### write

> function void write( | OVM | ovm_t | )

The write method, called via the analysis_export, converts an incoming OVM transaction to its VMM counterpart, then sneaks the converted transaction to the vmm_channel.

### Variables

### chan

> vmm_channel_typed #( | VMM | ) chan

The vmm_channel instance being adapted; if not supplied in its new constructor, the adapter will create one.

Incoming transactions from the analysis_export will be converted to VMM and put to this channel.

If the analysis_port is connected, transaction injected into the channel are fetched, converted, and sent out the analysis_port.

> class avt_analysis_channel #( | type | OVM | = | int,
> |  | VMM | = | int,
> |  | OVM2VMM | = | avt_converter #(OVM,VMM),
> |  | VMM2OVM | = | avt_converter #(VMM,OVM) | ) extends ovm_component

The avt_analysis_channel is used to connect any OVM component with an analysis port or export to any VMM component via a vmm_channel.

> function new ( |  | string | name, |  |
> |  | ovm_component | parent | = | null,
> | vmm_channel_typed | #(VMM) | chan | = | null | )

Creates a new avt_analysis_channel with the given name and optional parent; the optional chan argument provides the handle to the vmm_channel being adapted.

> virtual task run()

If the analysis_port is connected, the run task will continually get VMM transactions from the vmm_channel and end the converted transactions out the analysis_port.
VMM transactions received from the channel are converted to OVM transactions and broadcast out this analysis port.

> function void write( | OVM | ovm_t | )

The write method, called via the analysis_export, converts an incoming OVM transaction to its VMM counterpart, then sneaks the converted transaction to the vmm_channel.
The adapter may receive OVM transactions via this analysis export.

> vmm_channel_typed #( | VMM | ) chan

The vmm_channel instance being adapted; if not supplied in its new constructor, the adapter will create one.
This example shows how to use the vmm_analysis_adapter to connect VMM xactors to OVM components with analysis ports and exports.