Altera® AXI4 Bus Functional Model User Guides

ID 838773
Date 3/19/2025
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.5.1.2.17. Data Members in Class Axi4StreamBytesNullError

The Axi4StreamBytesNullError class includes the following data members:

Data Member: error_mask_value {type: protected byte_t}

Errors in the Position bytes are done by providing a non-zero error_mask_value that is EXOR’ed with the data_value to create bit errors. An error_mask_value of all zeros does not create bit errors in the data_value. Unlike the normal Null byte that is covered with class Axi4StreamBytesNull, the data_value can take any value, including the value 8’h00. A byte_t value can be passed to the constructor and the set_data() method to change data_value to any value. This value has get and set methods for easy user management.

Data Member: null_error_value {type: protected byte_t}

The value of the byte read using the standard get method get_data() does not retrieve data_value, as in the prior classes. In this error class, the value fetched is null_error_value, which is the data_value EXOR’ed with the error_mask_value.

The null_error_value updates whenever the data_value or error_mask_value is modified.

Data Member: data_value_has_errors {type: protected bit}

This status bit provides a summary indication of whether the byte provided in an object of class Axi4StreamBytesNullError has a bit or format error. This bit is managed by the class and may be checked with the data_has_errors() method. The data_has_errors() method returns data_value_has_errors as its return value.

Data Member: signal_null_as_data_byte {type: protected bit}

This control bit, when set, causes a formatting error. Instead of signaling the byte using TKEEP and TSTRB as a null byte with {TKEEP, TSTRB} = 2’b00, the byte is signaled as a Data byte with {TKEEP, TSTRB} = 2’b11. You can use this to test the application to confirm correct data stream decoding and for fault tolerance and error recovery.

This setting, when set to a 1’b1, also ensures that the other error bits, signal_null_as_position_byte and signal_null_as_reserved_byte, are cleared. Only one formatting error is valid at a time.

Data Member: signal_null_as_position_byte {type: protected bit}

This control bit, when set, causes a formatting error. Instead of signaling the byte using TKEEP and TSTRB as a Null byte with {TKEEP, TSTRB} = 2’b10, the byte is signaled as a Position byte with {TKEEP,TSTRB} = 2’b10. You can use this to test the application to confirm correct data stream decoding and for fault tolerance and error recovery.

This setting, when set to a 1’b1, also ensures that the other error bits, signal_null_as_data_byte and signal_null_as_reserved_byte, are cleared. Only one formatting error is valid at a time.

Data Member: signal_null_as_reserved_byte {type: protected bit}

This control bit, when set, causes a formatting error. Instead of signaling the byte using TKEEP and TSTRB as a Null byte with {TKEEP, TSTRB} = 2’b00, the byte is signaled as a reserved byte with {TKEEP,TSTRB} = 2’b01. You can use this to test the application to confirm correct data stream decoding and for fault tolerance and error recovery.

This setting, when set to a 1’b1, also ensures that the other error bits, signal_null_as_data_byte and signal_null_as_position_byte, are cleared. Only one formatting error is valid at a time.