Skip to content

Latest commit

 

History

History

rtl

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Demo designs

Demo AXI-stream designs

  • AXIS Broadcast: Accepts one stream input, duplicates that stream to an arbitrary number of output streams
  • AXISPACKER: Removes NULL bytes from an AXI Stream
  • AXISRANDOM: Generates a pseudorandom AXI-Stream output
  • AXISSWITCH: Switches a stream from among many input streams, with an AXI-lite control input for switching between them.

Crossbars

See this post for a discussion of these crossbars.

These cores rely not only on the skidbuffer listed above, but also upon a separate address decoder that is common to all of them.

All three cores are supported by the (dev branch of) AutoFPGA.

Data movers/DMA engines

  • AXIMM2S. Supports unaligned transfers, but only fully aligned stream words.

  • AXIS2MM. Doesn't yet support unaligned transfers. It may eventually, but it will also only ever support full word transfers through the stream.

  • AXIDMA. Supports unaligned transfers.

  • AXISGDMA. A scatter-gather DMA implementation. Performs DMA operations based upon an external, bus-fetched, table containing the details of multiple DMA operations to be done. -- AXILFETCH--A ZipCPU instruction fetch module required by the Scatter-Gather engine to fetch tables from memory. -- AXISGFSM--The FSM that reads instructions (i.e. table entries) from the fetch routine, and issues instructions to the AXIDMA.

  • AXIVFIFO. A virtual FIFO, using an external AXI device for memory backing--perhaps even an SDRAM. It doesn't really matter--it just needs to be AXI.

  • AXIVCAMERA. Writes a video stream to a memory frame buffer.

  • AXIVDISPLAY. Reads a frame buffer from memory to generate a continuous AXI-stream video source output.

  • Synchronous FIFO

  • Synchronous FIFO with threshold

Bus Bridges

AXI Simplifiers

These follow from the discussion in this article about how to simplify a bus interconnect into something allowing easier integration of multiple slaves into a design. They work by aggregating the signaling logic across many slaves together. See the headers for each of the cores for the specifics of the standard subsets they support.

  • AXI Single, the companion to the AXI Double core has not yet been written. The design for it should be nearly identical. The big difference between single and double AXI slaves is that single slaves can have only one address, and that address must always be available for reading.

  • AXI Double.

  • AXI-Lite Single

  • AXI-Lite Double

Firewalls

The goal of these firewall(s) is to create a core that, when placed between the bus master and slave, will guarantee that the slave responds appropriately to the bus master---even in the presence of a broken slave. If the slave is broken, the firewall will raise a flag that can then be used to trigger a logic analyzer of some type so you can dig deeper into what's going on.

As a bonus, the firewall may also have the capability of resetting the downstream core upon any error, so that it might be reintegrated later into the rest of the design for additional testing.

Performance Measurement

  • AXIPERF -- Useful for measuring Latency and Throughput in an AXI bus. Has an AXI-lite interface, and an AXI4 monitor interface. Monitors the AXI4 bus, and measures key performance statistics. Statistics may be read and cleared via the AXI-lite interface.

Empty slaves

These are used to simplify interconnect generation. When there are no slaves connected to an interconnect, the interconnect generator can automatically connect one of these slaves (depending on the protocol) and be guaranteed that the protocol will still be followed. All requests, however, will return bus errors.

Clock domain crossing bridges