Skip to content

other_components

Component representing miscellaneous hardware parts with fixed FIT rates (LPDDR5).

OtherComponents

Bases: Base

Component representing miscellaneous hardware parts that contribute a fixed FIT rate.

This module encapsulates all non-DRAM components (e.g., peripheral logic) into a single source injection block to simplify the top-level model.

Source code in src/ecc_analyzer/models/lpddr5/other_components.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class OtherComponents(Base):
    """Component representing miscellaneous hardware parts that contribute a fixed FIT rate.

    This module encapsulates all non-DRAM components (e.g., peripheral logic) into a
    single source injection block to simplify the top-level model.
    """

    def __init__(self, name: str):
        """Initializes the component and sets the constant source FIT rate.

        Args:
            name (str): The descriptive name of the component.
        """
        self.other_rf_source = 9.5

        super().__init__(name)

    def configure_blocks(self):
        """Configures the root block to inject the FIT rate.

        Uses a SumBlock as the base container for the fault source (BasicEvent).
        The fault is injected into the residual path (is_spfm=True).
        """
        self.root_block = SumBlock(
            self.name,
            [
                BasicEvent(FaultType.OTH, self.other_rf_source, is_spfm=True),
            ],
        )

__init__(name)

Initializes the component and sets the constant source FIT rate.

Parameters:

Name Type Description Default
name str

The descriptive name of the component.

required
Source code in src/ecc_analyzer/models/lpddr5/other_components.py
16
17
18
19
20
21
22
23
24
def __init__(self, name: str):
    """Initializes the component and sets the constant source FIT rate.

    Args:
        name (str): The descriptive name of the component.
    """
    self.other_rf_source = 9.5

    super().__init__(name)

configure_blocks()

Configures the root block to inject the FIT rate.

Uses a SumBlock as the base container for the fault source (BasicEvent). The fault is injected into the residual path (is_spfm=True).

Source code in src/ecc_analyzer/models/lpddr5/other_components.py
26
27
28
29
30
31
32
33
34
35
36
37
def configure_blocks(self):
    """Configures the root block to inject the FIT rate.

    Uses a SumBlock as the base container for the fault source (BasicEvent).
    The fault is injected into the residual path (is_spfm=True).
    """
    self.root_block = SumBlock(
        self.name,
        [
            BasicEvent(FaultType.OTH, self.other_rf_source, is_spfm=True),
        ],
    )