Below is a list of components grouped by category. Ones with links are documented and completed, while others are still in planning or development stages.
Some in-development items will have opened issues, as well. Feel free to create a pull request or file issues to add more ideas to this list. If you plan to develop and contribute a component, please be sure to open an issue so that there are not multiple people working on the same thing. Make sure to check if someone else has an open issue for a certain component before starting.
- Encoders & Decoders
- Arbiters
- FIFOs & Queues
- Synchronous FIFO
- Asynchronous / clock-crossing FIFO
- Shift register
- Find
- Find N'th bit (0 or 1) from the start/end
- Extrema
- Find N'th pattern from the start/end
- Count
- Count bit occurrence
- Count pattern occurrence
- Detection
- Sort
- Arithmetic
- Prefix Trees Several efficient components that leverage a variety of parallel prefix trees such as Ripple, Kogge-Stone, Sklansky, and Brent-Kung tree types.
- Adders
- Subtractors
- Multipliers
- Dividers
- Log
- Square root
- Inverse square root
- Floating point
- Floating-Point Value Types
- Double (64-bit)
- Float (32-bit)
- BFloat16 (16-bit)
- TensorFloat32 (19-bit)
- 8-bit E4/M3 and E5/M2
- Simple Floating-Point Adder
- Rounding Floating-Point Adder
- Simple Floating-Point Multiplier
- Floating-Point Converter
- Floating-Point Value Types
- Fixed point
- Binary-Coded Decimal (BCD)
- Rotate
- SignedShifter
- Counters
- Summation
- Binary counter
- Gated counter
- Gray counter
- Pseudorandom
- LFSR
- Error checking & correction
- Gating
- Data flow
- Ready/Valid
- Connect/Disconnect
- Widening
- Narrowing
- Crediting
- NoC's
- Coherent
- Non-Coherent
- Reduction Tree
- Memory
- Register File
- Masking
- Replacement Policies
- LRU
- Memory Model
- Standard interfaces
- AXI
- APB
- AHB
- SFI
- PCIe
- UCIe
- JTAG
- SPI
- UART
- DDR
- HBM
- Models
- APB
- Ready/Valid
- SPI
- CXL
Copyright (C) 2023-2024 Intel Corporation
SPDX-License-Identifier: BSD-3-Clause