...

Package arbitrate

import "axi/arbitrate"
Overview
Index

Overview ▾

Package arbitrate provides reusable arbitrators for AXI transations.

Index ▾

func ReadArbitrateX2(clientAddr chan<- protocol.Addr, clientData <-chan protocol.ReadData, serverAddr0 <-chan protocol.Addr, serverData0 chan<- protocol.ReadData, serverAddr1 <-chan protocol.Addr, serverData1 chan<- protocol.ReadData)
func ReadArbitrateX3(clientAddr chan<- protocol.Addr, clientData <-chan protocol.ReadData, serverAddr0 <-chan protocol.Addr, serverData0 chan<- protocol.ReadData, serverAddr1 <-chan protocol.Addr, serverData1 chan<- protocol.ReadData, serverAddr2 <-chan protocol.Addr, serverData2 chan<- protocol.ReadData)
func ReadArbitrateX4(clientAddr chan<- protocol.Addr, clientData <-chan protocol.ReadData, serverAddr0 <-chan protocol.Addr, serverData0 chan<- protocol.ReadData, serverAddr1 <-chan protocol.Addr, serverData1 chan<- protocol.ReadData, serverAddr2 <-chan protocol.Addr, serverData2 chan<- protocol.ReadData, serverAddr3 <-chan protocol.Addr, serverData3 chan<- protocol.ReadData)
func WriteArbitrateX2(clientAddr chan<- protocol.Addr, clientData chan<- protocol.WriteData, clientResp <-chan protocol.WriteResp, serverAddr0 <-chan protocol.Addr, serverData0 <-chan protocol.WriteData, serverResp0 chan<- protocol.WriteResp, serverAddr1 <-chan protocol.Addr, serverData1 <-chan protocol.WriteData, serverResp1 chan<- protocol.WriteResp)
func WriteArbitrateX3(clientAddr chan<- protocol.Addr, clientData chan<- protocol.WriteData, clientResp <-chan protocol.WriteResp, serverAddr0 <-chan protocol.Addr, serverData0 <-chan protocol.WriteData, serverResp0 chan<- protocol.WriteResp, serverAddr1 <-chan protocol.Addr, serverData1 <-chan protocol.WriteData, serverResp1 chan<- protocol.WriteResp, serverAddr2 <-chan protocol.Addr, serverData2 <-chan protocol.WriteData, serverResp2 chan<- protocol.WriteResp)
func WriteArbitrateX4(clientAddr chan<- protocol.Addr, clientData chan<- protocol.WriteData, clientResp <-chan protocol.WriteResp, serverAddr0 <-chan protocol.Addr, serverData0 <-chan protocol.WriteData, serverResp0 chan<- protocol.WriteResp, serverAddr1 <-chan protocol.Addr, serverData1 <-chan protocol.WriteData, serverResp1 chan<- protocol.WriteResp, serverAddr2 <-chan protocol.Addr, serverData2 <-chan protocol.WriteData, serverResp2 chan<- protocol.WriteResp, serverAddr3 <-chan protocol.Addr, serverData3 <-chan protocol.WriteData, serverResp3 chan<- protocol.WriteResp)

Package files

axiarbitrate.go

func ReadArbitrateX2

func ReadArbitrateX2(
    clientAddr chan<- protocol.Addr,
    clientData <-chan protocol.ReadData,
    serverAddr0 <-chan protocol.Addr,
    serverData0 chan<- protocol.ReadData,
    serverAddr1 <-chan protocol.Addr,
    serverData1 chan<- protocol.ReadData)

Goroutine which implements AXI arbitration between two AXI read interfaces.

func ReadArbitrateX3

func ReadArbitrateX3(
    clientAddr chan<- protocol.Addr,
    clientData <-chan protocol.ReadData,
    serverAddr0 <-chan protocol.Addr,
    serverData0 chan<- protocol.ReadData,
    serverAddr1 <-chan protocol.Addr,
    serverData1 chan<- protocol.ReadData,
    serverAddr2 <-chan protocol.Addr,
    serverData2 chan<- protocol.ReadData)

Goroutine which implements AXI arbitration between three AXI read interfaces.

func ReadArbitrateX4

func ReadArbitrateX4(
    clientAddr chan<- protocol.Addr,
    clientData <-chan protocol.ReadData,
    serverAddr0 <-chan protocol.Addr,
    serverData0 chan<- protocol.ReadData,
    serverAddr1 <-chan protocol.Addr,
    serverData1 chan<- protocol.ReadData,
    serverAddr2 <-chan protocol.Addr,
    serverData2 chan<- protocol.ReadData,
    serverAddr3 <-chan protocol.Addr,
    serverData3 chan<- protocol.ReadData)

Goroutine which implements AXI arbitration between four AXI read interfaces.

func WriteArbitrateX2

func WriteArbitrateX2(
    clientAddr chan<- protocol.Addr,
    clientData chan<- protocol.WriteData,
    clientResp <-chan protocol.WriteResp,
    serverAddr0 <-chan protocol.Addr,
    serverData0 <-chan protocol.WriteData,
    serverResp0 chan<- protocol.WriteResp,
    serverAddr1 <-chan protocol.Addr,
    serverData1 <-chan protocol.WriteData,
    serverResp1 chan<- protocol.WriteResp)

Goroutine which implements AXI arbitration between two AXI write interfaces.

func WriteArbitrateX3

func WriteArbitrateX3(
    clientAddr chan<- protocol.Addr,
    clientData chan<- protocol.WriteData,
    clientResp <-chan protocol.WriteResp,
    serverAddr0 <-chan protocol.Addr,
    serverData0 <-chan protocol.WriteData,
    serverResp0 chan<- protocol.WriteResp,
    serverAddr1 <-chan protocol.Addr,
    serverData1 <-chan protocol.WriteData,
    serverResp1 chan<- protocol.WriteResp,
    serverAddr2 <-chan protocol.Addr,
    serverData2 <-chan protocol.WriteData,
    serverResp2 chan<- protocol.WriteResp)

Goroutine which implements AXI arbitration between three AXI write interfaces.

func WriteArbitrateX4

func WriteArbitrateX4(
    clientAddr chan<- protocol.Addr,
    clientData chan<- protocol.WriteData,
    clientResp <-chan protocol.WriteResp,
    serverAddr0 <-chan protocol.Addr,
    serverData0 <-chan protocol.WriteData,
    serverResp0 chan<- protocol.WriteResp,
    serverAddr1 <-chan protocol.Addr,
    serverData1 <-chan protocol.WriteData,
    serverResp1 chan<- protocol.WriteResp,
    serverAddr2 <-chan protocol.Addr,
    serverData2 <-chan protocol.WriteData,
    serverResp2 chan<- protocol.WriteResp,
    serverAddr3 <-chan protocol.Addr,
    serverData3 <-chan protocol.WriteData,
    serverResp3 chan<- protocol.WriteResp)

Goroutine which implements AXI arbitration between four AXI write interfaces.