The spinal.lib package goals are :

  • Provide things that are commonly used in hardware design (FIFO, clock crossing bridges, useful functions)
  • Provide simple peripherals (UART, JTAG, VGA, ..)
  • Provide some bus definition (Avalon, AMBA, ..)
  • Provide some methodology (Stream, Flow, Fragment)
  • Provide some example to get the spirit of spinal
  • Provide some tools and facilities (latency analyser, QSys converter, …)

To use features introduced in followings chapter you need, in most of cases, to import spinal.lib._ in your sources.