Assorted library of utility cores for amaranth HDL.
This library is in active development, therefore beware that things may break!
This library contains:
amlib.io : Basic communication cores:
- UART
 - I2C
 - I2S (currently transmit only)
 - SPI
 - MAX7219 SPI LED array driver core
 - seven segment driver, value to bitbar driver
 - neopixel (WS2812) RGB led strip driver core
 - Debouncer for debouncing button inputs
 
amlib.dsp : Building blocks for digital signal processing:
- fixed point FIR filter
 - fixed point IIR filter
 - fixed point CIC filter
 - fixed point halfband filter
 - fixed point FFT
 - filterbank
 - fractional resampler
 
amlib.dsp.convolution : Convolution cores:
- mac: A convolution core which uses parallel multiply-accumulate (MAC) calculation. This introduces a latency of only one sample. For longer impulse responses it will consume several hardware multipliers for calculations.
 
amlib.soc : Building blocks for SOC creation:
- CPU
 - interrupts
 - memory
 - wishbone
 - CSRs
 - SimpleSOC
 - peripherals
 
amlib.stream
- LiteX like streams
 - stream generators from ROM
 - stream to I2C
 - stream to/from FIFO
 - stream arbiter
 - stream to UART
 
amlib.debug : Internal logic analyzer (ILA)
amlib.test : Convenience tools for automated testing of simulations, CRC
amlib.utils : basic utility modules:
- bit manipulation functions
 - one-hot-multiplexer
 - synchronizer
 - strobe stretcher
 - dividing counter
 - edge to pulse
 - edge detectors
 - linear feedback shift register (LFSR)
 - NRZI encoder
 - shift register