Skip to main content

Safety analysis and visualization tool according to ISO 26262.

Project description

ECC Analyzer (Beachlore Safety)

Python Version License Standard

ECC Analyzer is a modular safety analysis framework designed to calculate failure rates (FIT), diagnostic coverage, and architectural metrics (SPFM, LFM) for semiconductor memory systems (e.g., LPDDR4/5).

It combines strict mathematical modeling with automated architectural visualization using Graphviz.

Features

  • ISO 26262 Metrics: Automated calculation of Single-Point Fault Metric (SPFM) and Latent Fault Metric (LFM).
  • Modular Architecture: Build complex hardware models using reusable blocks (SumBlock, PipelineBlock, SplitBlock).
  • Visual Observer: Automatically generates architectural diagrams (PDF) reflecting the exact logic of the safety model.
  • Traceability: Faults are tracked from the source (Basic Events) through ECC/logic layers to the final output.

Installation

Prerequisites:

  • Python 3.9 or higher
  • Graphviz installed on your system (required for visualization).

For Users

Install the package directly from the source:

pip install .

For Developers

Install in editable mode with development tools (linting, testing):

pip install -e .[dev]

Usage

Running the LPDDR4 Analysis

The project includes a pre-configured model for an LPDDR4 system. You can run the analysis script directly:

python main.py

Creating a Custom Model

You can define your own safety architecture by subclassing SystemBase:

from ecc_analyzer.core import PipelineBlock, SumBlock, BasicEvent
from ecc_analyzer.system_base import SystemBase

class MySafetySystem(SystemBase):
    def configure_system(self):
        # Define your logic chain
        self.system_layout = PipelineBlock("MyPath", [
            BasicEvent("Source_SBE", rate=100.0),
            # Add more blocks here...
        ])

# Run analysis
system = MySafetySystem("MyChip", total_fit=1000.0)
metrics = system.run_analysis()
print(metrics)

Architecture

The project follows the Observer Pattern to decouple calculation from visualization:

  • core/: Contains the logic blocks (SumBlock, SplitBlock) that handle FIT rate math.

  • models/: Contains specific hardware implementations (e.g., LPDDR4).

  • visualization/: The SafetyVisualizer observes the logic blocks and draws the Graphviz diagram.

Contributing

  1. Install dependencies: pip install -e .[dev]

  2. Format code: ruff format .

  3. Run checks: ruff check .

License

Copyright (c) 2025 Linus Held. Licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iso26262_ecc_analyzer-0.1.0.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iso26262_ecc_analyzer-0.1.0-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file iso26262_ecc_analyzer-0.1.0.tar.gz.

File metadata

  • Download URL: iso26262_ecc_analyzer-0.1.0.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for iso26262_ecc_analyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dd314a1b7b8bda07d9bc3f46d6e76cd2b0fe1e86d2c554cd6c569c69c27d61b9
MD5 c5ec65d40126bdad421b963088ee37dc
BLAKE2b-256 94c2dbc934b5264ad0bf3450883f2f0bb3d68bc212afdc5e1bf41fbb63263268

See more details on using hashes here.

File details

Details for the file iso26262_ecc_analyzer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iso26262_ecc_analyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25e681d22c6ec3b18cd614d2f19fa05276c2fb231fdae10df96cf181378ec54a
MD5 f534c2d948af7913252f6ebcf68dbd25
BLAKE2b-256 f2a45ea23b03220b2e739fbebc2f7ede02fc51d687030ff3163a227d70d66aa4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page