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
- 1-hot to Binary
- Binary to 1-hot
- Binary to Gray
- Gray to Binary
- Priority
- PLAs
- 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)
- BFloat8 (8-bit)
- BFloat4 (4-bit)
- Simple Floating-Point Adder
- Fixed point
- Binary-Coded Decimal (BCD)
- Rotate
- Counters
- Summation
- Binary counter
- Gray counter
- Pseudorandom
- LFSR
- Error checking & correction
- Clocking
- Data flow
- Ready/Valid
- Connect/Disconnect
- Widening
- Narrowing
- Crediting
- NoC's
- Coherent
- Non-Coherent
- 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