Clash utils
A random collection of reusable Clash designs/examples.
Includes:
- Binary to BCD conversion, BCD arithmetic that efficiently utilises the carry chain.
- CORDIC for calculating trigonometric functions
- CRC calculation
- A FIFO
- FIR, IIR and CIC filters
- A bitonic sorting network
- Divider
- FFTs
- Gray code conversion
- Hamming code encoding/decoding
- LFSRs
- Scrambler
- Pseudo LRU trees
- A Cuckoo hash table
- Utilities for streaming data
- Prefix sums, Carry lookahead adders, Carry select adders and Carry save adders
- SHA3 and AES
- Multipliers
- Multi port block rams
- Regular expression matching
Each design has a Hspec testsuite/specification in the /tests subdirectory. A handful of designs have formal properties in the /formal directory.
Status
FPGA proven designs are indicated in the module documentation.