Consists of Interfaces, Rules and Method implementation.
method Action get_data(Address addr);
method Action write_data(Address addr,Value v);
method Action sync();
method Action flush();
Summary: Bluespec All state (e.g., Registers, FIFOs, RAMs, ...) is explicit. Behavior is expressed in terms of guarded atomic actions on the state: Rule: condition action Rules can manipulate state in other modules only via their interfaces. interface module
Generates a static schedule by looking at guard conditions on rules and methods.
Runs non-conflicting rules concurrently.
Rules are scheduled locally.
Methods are scheduled globally.
Compiler model Compiler generates a scheduler to pick a non-conflicting subset of “ready” rules Muxing for each state element 1 n Modules (Current state) Modules (Next state) Rules n n guard action Scheduler 1 n 1 n “ CAN_FIRE” “ WILL_FIRE”