Skip to content

Errare-humanum-est/HieraGen

Repository files navigation

HieraGen

HieraGen is still under development. Future releases and bug fixes are likely so please check out repository regularly.

Update: HeteroGen has been released. While HeteroGen and HieraGen are currently orthogonal in functionality they will soon be merged into a new release.

A detailed descritpion of the HieraGen (ISCA'20) algorithm is provided here: HieraGen ISCA'20

A detailed descritpion of the ProtoGen (ISCA'18) algorithm is provided here: ProtoGen ISCA'18

If you have questions, you want to contribute or simply report any bugs, please contact: hiera.gen at ed.ac.uk

Setup

Please edit Murphi path in: /Murphi/MurphiTemp/tmpmakefile

Requirements:
Python 3.5 or higher

  • antlr-python3-runtime 3.4
  • colorama 0.3.9
  • tabulate 0.8.2

To run the HieraGen (hierachical protocols) testbench encompassing a set of different protocol combinations execute:

python3 HieraGenTestBench.py

To run the ProtoGen (flat protocols) testbench encompassing a set of different protocols execute:

python3 ProtoGen.py

About

We present HieraGen, a new tool for automatically generating hierarchical cache coherence protocols. HieraGen's inputs are the simple, atomic, stable state protocols for each level of the hierarchy. HieraGen's output is a highly concurrent hierarchical protocol, in the form of the finite state machines for all of the cache and directory controll…

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors