Packages

class Backend extends AnyRef

This konata backend symplify the way a konata file can be generated, by handeling a buffer of in progress instructions.

For each hardware thread, the user need to have invoked the newThread function once. Each Thread returned contains a cycleLock timestamp which specifies until which time the pendings instruction for the given thread are full completed can could be flushed out.

The user can push instructions into its pendings hashmap, using the instruction creation timestamp as a key. Instructions need to be have their "elements" lists of Command already populated, Commands having a timestamp and being able to write themself as a konata string.

The user can periodicaly call the flush function, this will flush all the instructions until the minimal threads.cycleLock

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Backend
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Backend(f: File)

Value Members

  1. val bf: BufferedWriter
  2. def close(): Unit
  3. var cycle: Long
  4. def flush(): Unit
  5. var idAlloc: Long
  6. def insert(i: Instruction): Any
  7. def newThread(): Thread
  8. val pendings: HashMap[Long, ArrayBuffer[Instruction]]
  9. def refresh(): Unit
  10. def spinalSimFlusher(period: Long): Backend.this.type
  11. val threads: ArrayBuffer[Thread]