The PLUG module is a silicon-proven AXI-to-AXI bridge designed to provide data encryption and inline ECC for reliable and secure communication. It supports AXI4 protocol with bursts and integrates seamlessly into systems handling DMA, CPU, or cache streams. For write transactions, it encrypts data and appends ECC, while for reads, it decrypts and validates/corrects ECC. The module is configurable via an APB slave interface and supports both 64-bit and byte-based operations with flexible memory management for ECC storage. It ensures robust error handling, low latency, and compatibility with external memories like Hyper-RAM.
AXI2AXI encryption bridge
Overview
Key Features
- Encryption: Implements 64-bit XTEA with dual keys and full 64-round pipelining for security.
- Inline ECC: Embeds ECC into the data stream .
- Dual Operation Modes: Supports both 64-bit whole word and byte-based encryption/ECC.
- Configurable Regions: Allows up to eight address ranges with customizable ECC, encryption, and operational modes.
- Memory Management: Offers separate ECC storage or 8-9 mode for embedding ECC directly into memory.
- AXI Protocol Support: Fully supports AXI4 protocol with burst transactions ( 64bit data bus ).
- Internal configuration registers: accessed through APB slave
- Error Correction: Provides single error correction and double error detection (SEC-DED ECC).
- Interrupts and Safety: Tracks violations and errors with lock-protected safety registers and interrupt mechanisms.
- Split/Merge Mechanism: Handles 4K boundary crossings for seamless burst transfers.
Block Diagram
