Skip to content

amaranth-farm/amlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amlib

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

Releases

No releases published

Packages

No packages published