Академический Документы
Профессиональный Документы
Культура Документы
1 0BGeneral ................................................................................................................................................. 3
1.1 How do I access the VIP documentation and example? ................................................................ 4
1.2 How do I write a basic sequence?.................................................................................................. 5
1.3 How do I write an error sequence? ................................................................................................ 6
1.4 How do I write a sequence for Interleaved data? ........................................................................... 7
1.5 How do I write a sequence for user-defined data?......................................................................... 8
1.6 How do I use callbacks for writing a sequence? ............................................................................ 9
1.7 What is variable burst size and how do I enable this feature of the BFM? .................................. 10
1.8 How do I enable the Big endian feature of the BFM? .................................................................. 11
1.9 How do I configure Burst Max? .................................................................................................... 12
1.10 How do I configure Burst Min? ..................................................................................................... 13
1.11 How do I configure Burst Short? .................................................................................................. 14
1.12 How do I configure the number of channels? ............................................................................... 15
1.13 How do I configure the number of channels to be interleaved in case of Interleaved data? ....... 16
1.14 How do I configure the number of lanes? .................................................................................... 17
1.15 How do I configure Gear-Box size?.............................................................................................. 18
2 Flow Control ...................................................................................................................................... 19
2.1 How do I change Channel status from XON to XOFF and vice versa? ....................................... 20
2.2 How do I enable OOB flow control? ............................................................................................. 21
2.3 What is the use of the Enable Ignore Update flow and how do I enable or disable this feature of
the BFM? ...................................................................................................................................... 22
3 Framing Layer ................................................................................................................................... 23
3.1 How do I corrupt Block type of a framing layer control word? ...................................................... 24
3.2 How do I corrupt the content of a framing layer word? ................................................................ 25
3.3 How do I corrupt the Framing or Inversion bit of a diagnostic word? ........................................... 26
3.4 How do I drop a framing layer skip word? .................................................................................... 27
3.5 How do I corrupt the Link status and the Lane status of a diagnostic control word? ................... 28
3.6 How do I corrupt CRC32 of a diagnostic control Word? .............................................................. 29
3.7 How do I change a protocol layer word to a framing layer word and vice versa? ........................ 30
3.8 How do I configure the length of a Metaframe? ........................................................................... 31
3.9 How do I configure the number of skip words in a Metaframe? ................................................... 32
3.10 How do I enable or disable scrambling? ...................................................................................... 33
3.11 How do I insert a skew between lanes of a link? ......................................................................... 34
3.12 How do I break a 64/67b word boundary lock? ............................................................................ 35
3.13 How do I break a scrambler state synchronization lock? ............................................................. 36
4 Protocol Layer ................................................................................................................................... 37
4.1 How do I configure the BFM to support more than 256 channels? .............................................. 38
4.2 How do I drop a protocol layer word?........................................................................................... 39
4.3 How do I configure the SOP bit of a protocol layer control word? ............................................... 40
4.4 How do I configure the EOP bit of a protocol layer control word? ............................................... 41
This section provides the following list of frequently asked general questions for VC VIP
Interlaken:
How do I access the VIP documentation and example?
How do I write a basic sequence?
How do I write a sequence for Interleaved data?
How do I write a sequence for user-defined data?
How do I use callbacks for writing a sequence?
How do I enable the Big endian feature of the BFM?
How do I configure Burst Max?
How do I configure Burst Min?
How do I configure Burst Short?
How do I configure the number of channels?
How do I configure the number of channels to be interleaved in case of Interleaved data?
How do I configure the number of lanes?
How do I configure Gear-Box size?
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_config config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
6. Use the specific callback for a desired error. The following example shows that FL
payload word is configured with value as 67'h3_0011_0011_0011_0011:
err_config.set_fl_payload_word(67'h3_0011_0011_0011_0011);
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from ovm_sequence, and
pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_config config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and the handle for the class to use in a sequence as follows:
nvs_intlkn_config config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and the handle for the class to use in a sequence. For
example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To enable variable-sized bursts from the BFM, use any of the following way:
Enable or disable from the set_enable_variable_burst_size testbench
(1:enable or 0: disable)
Specify +INTLKN_ENABLE_VARIABLE_BURST_SIZE = 1 or 0 at runtime (Default
value: +INTLKN_ENABLE_VARIABLE_BURST_SIZE = 0)
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To change channel status from XON to XOFF and vice versa, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and the handle for the class to use in a sequence. For
example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To corrupt Block type of a framing layer control word, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To corrupt the content of a framing layer word, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To corrupt the Framing or Inversion bit of a diagnostic word, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To corrupt the Link status and the Lane status of a diagnostic control word, perform the following
steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To change a protocol layer word to a framing layer word, and vice versa, perform the following
steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as shown here:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as shown here:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and the handle for the class to use in a sequence. For
example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To configure the EOP bit of a Protocol Layer Control word, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To change a protocol layer control word to a data word, perform the following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence class,
and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
To corrupt the Protocol Type bit of a Burst Control word in the Look-aside mode, perform the
following steps:
1. Declare a class for the corresponding sequence, extend it from the ovm_sequence
class, and pass the transaction class as a parameter as follows:
class sequence_name extend ovm_sequence (#intlkn_trans)
2. Declare all local variables and handle for the class to use in a sequence. For example:
nvs_intlkn_err_config err_config;
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
Note: To write a sequence, see FAQ: How do I access the VIP documentation and example?
All PDF documents are available on SolvNet (click here).
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
[Back to top] [Go to General] [Go to Flow Control] [Go to Framing Layer]
[Go to Protocol Layer] [Go to Look-Aside Mode] [Go to Retransmission Mode]
Synopsys, Inc.
690 E. Middlefield Road
Mountain View, CA 94043
www.synopsys.com