Skip to content

suoto/fpga_cores

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c25d894 · Apr 30, 2023
Mar 28, 2021
May 6, 2022
May 6, 2022
Apr 30, 2023
Apr 2, 2023
May 6, 2022
Nov 13, 2022
Mar 16, 2020
Mar 15, 2020
Oct 19, 2021
Apr 19, 2021
Mar 16, 2020
May 6, 2022
Jun 12, 2016

Repository files navigation

FPGA Cores

Unit tests

FPGA Cores is a repository of common RTL code mainly targeting FPGAs.

Code is divided in synthesizable, simulation helpers and testbenches.

Synthesizable code

  • FIFOs
    • async_fifo.vhd: dual clock FIFO
    • axi_stream_fifo.vhd: single clock AXI stream FIFO
    • sync_fifo.vhd: single clock FIFO
  • AXI Stream infrastructure
    • AXI Stream delay: insert FF delays on an AXI stream data path
    • AXI Stream master adapter: allows arbitrary number of cycles between a full signal (aka tready) and the write enable (aka tvalid). The idea is to isolate AXI's back pressure from the processing pipeline, making it easier to stop.
    • AXI stream width converter: width converter that supports non multiple ratios and non power of 2 data widths
    • AXI stream skid buffer (VHDL version of ZipCPU's original)
  • Basic stuff (no explanation needed)
    • Edge detector
    • Pulse synchronizer
    • Shift register delay
    • Synchronizer
  • Memories
    • RAM inference (single and dual port)
    • ROM inference
    • Pipeline context RAM: wraps a RAM inference with a small cache that eliminates data hazards, allowing reads before data makes in and out of the actual memory element
  • Misc
    • Exponential Golomb encoder

Simulation helpers

  • AXI file reader: reads a binary file into an AXI stream interface. Configuration interface allows reading different files and controlling the probability of tvalid being asserted.
  • AXI file compare: uses AXI file reader to generate the expected data and compares with data input on the AXI stream slave interface
  • AXI stream bus functional model: makes it easy to write data to an AXI stream master via procedures
  • Linked list: implements a generic type double linked list

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages