Skip to content

Latest commit

 

History

History
140 lines (111 loc) · 5.26 KB

Nodes.md

File metadata and controls

140 lines (111 loc) · 5.26 KB

TileLink nodes.


TileLink Nodes


Synchronous TileLink Nodes

object TLImp

General TileLink module generator.

object TLImp
    extends NodeImp[
        TLClientPortParameters,  // D
        TLManagerPortParameters, // U
        TLEdgeOut,               // EO
        TLEdgeIn,                // EI
        TLBundle                 // B
        ]

Implementation of abstract methods defined in NodeImp

  • edgeO (TLClientPortParameters, TLManagerPortParameters) => TLEdgeOut
    Function to get the downwards packet generator (channel A/C/E).
  • edgeI (TLClientPortParameters, TLManagerPortParameters) => TLEdgeIn
    Function to get the upwards packet generator (channel B/D).
  • bundleO (TLEdgeOut) => TLBundle Function to get the downwrads channel bundle (channel A/C/E).
  • bundleI (TLEdgeIn) => TLBundle Function to get the upwards channel bundle (channel B/D).
  • colour _ => "#000000" black
  • connect (bindings:() => Seq[(TLEdgeIn, TLBundle, TLBundle)]) => (monitor:Option[LazyModule], bind:() => Unit)
    bindings: (packet generator for monitor, input TileLink port, output TileLink port) get the TileLink channel pairs that needs to be connected.
    monitor: The monitor to be connected. Depending on parameter TLMonitorBuilder bind: The actual port binding procedure to be processed later.

TileLink extension of basic Nodes

  • case class TLIdentityNode extends IdentityNode
  • case class TLClientNode extends SourceNode
  • object TLClientNode
  • case class TLManagerNode extends SinkNode
  • object TLManagerNode
  • case class TLAdapterNode extends AdapterNode
  • case class TLNexusNode extends NexusNode
  • case class TLOutputNode extends OutputNode
  • case class TLInputNode extends InputNode
  • case class TLBlindOutputNode extends BlindOutputNode
  • case class TLBlindInputNode extends BlindInputNode
  • case class TLInternalOutputNode extends InternalOutputNode
  • case class TLInternalInputNode extends InternalOutputNode

Asynchronous TileLink Nodes

object TLAsyncImp

Asynch TileLink module generator.

object TLAsyncImp
    extends NodeImp[
        TLAsyncClientPortParameters,  // D
        TLAsyncManagerPortParameters, // U
        TLAsyncEdgeParameters,        // EO
        TLAsyncEdgeParameters,        // EI
        TLAsyncBundle                 // B
        ]

Implementation of abstract methods defined in NodeImp

  • edgeO (TLAsyncClientPortParameters, TLAsyncManagerPortParameters) => TLAsyncEdgeParameters
  • edgeI (TLAsyncClientPortParameters, TLAsyncManagerPortParameters) => TLAsyncEdgeParameters
  • bundleO (TLAsyncEdgeParameters) => TLAsyncBundle
  • bundleI (TLAsyncEdgeParameters) => TLAsyncBundle
  • colour _ => "#ff0000" red

Asynchronous TileLink Extension of basic Nodes

  • case class TLAsyncIdentityNode extends IdentityNode
  • case class TLAsyncOutputNode extends OutputNode
  • case class TLAsyncInputNode extends InputNode
  • case class TLAsyncSourceNode extends MixedAdapterNode
  • case class TLAsyncSinkNode extends MixedAdapterNode

Rational TileLink Nodes

object TLRationalImp

Rational TileLink module generator

object TLRationalImp
    extends NodeImp[
        TLRationalClientPortParameters,  // D
        TLRationalManagerPortParameters, // U
        TLRationalEdgeParameters,        // EO
        TLRationalEdgeParameters,        // EI
        TLRationalBundle                 // B
        ]

Implementation of abstract methods defined in NodeImp

  • edgeO (TLRationalClientPortParameters, TLRationalManagerPortParameters) => TLRationalEdgeParameters
  • edgeI (TLRationalClientPortParameters, TLRationalManagerPortParameters) => TLRationalEdgeParameters
  • bundleO (TLRationalEdgeParameters) => TLRationalBundle
  • bundleI (TLRationalEdgeParameters) => TLRationalBundle
  • colour _ => "#00ff00" green

Rational TileLink Extension of basic Nodes

  • case class TLRationalIdentityNode extends IdentityNode
  • case class TLRationalOutputNode extends OutputNode
  • case class TLRationalInputNode extends InputNode
  • case class TLRationalSourceNode extends MixedAdapterNode
  • case class TLRationalSinkNode extends MixedAdapterNode




Last updated: 21/07/2017
CC BY-NC-SA 4.0, © (2017) Wei Song
Apache 2.0, © (2016-2017) SiFive, Inc
BSD, © (2012-2014, 2016) The Regents of the University of California (Regents)