Altera® AXI4 Bus Functional Model User Guides

ID 838773
Date 5/19/2025
Public
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.