├── .github └── workflows │ └── scala-ci.yml ├── .gitignore ├── LICENSE ├── README.md ├── project ├── build.properties └── plugins.sbt ├── src ├── main │ ├── resources │ │ └── comm_wrapper.h │ └── scala │ │ ├── ActivityTracker.scala │ │ ├── AcyclicPart.scala │ │ ├── ArgsParser.scala │ │ ├── Compiler.scala │ │ ├── Driver.scala │ │ ├── Emitter.scala │ │ ├── Extract.scala │ │ ├── Graph.scala │ │ ├── Harness.scala │ │ ├── IR.scala │ │ ├── MFFC.scala │ │ ├── MergeGraph.scala │ │ ├── OptElideRegUpdates.scala │ │ ├── OptMakeCondMux.scala │ │ ├── OptMakeCondPart.scala │ │ ├── Renamer.scala │ │ ├── StatementGraph.scala │ │ ├── TopologicalSort.scala │ │ ├── Util.scala │ │ ├── Vcd.scala │ │ ├── disabled │ │ ├── disabledFixSubType.scala │ │ ├── disabledGraph.scala │ │ ├── disabledInferAddw.scala │ │ ├── disabledMacroGraph.scala │ │ ├── disabledRandInitInvalids.scala │ │ ├── disabledStatementGraph.scala │ │ ├── disabledWireConstProp.scala │ │ └── disabledZeroFromBits.scala │ │ └── passes │ │ ├── DistinctTypeInstNames.scala │ │ ├── FactorMemReads.scala │ │ ├── FactorMemWrites.scala │ │ ├── FixMulResultWidth.scala │ │ ├── LegacyInvalidNodesForConds.scala │ │ ├── NoClockConnects.scala │ │ ├── RegFromMem1.scala │ │ ├── RemoveAsyncConnects.scala │ │ ├── RemoveFormalNCover.scala │ │ ├── ReplaceAsyncRegs.scala │ │ ├── ReplaceRsvdKeywords.scala │ │ └── SplitRegUpdates.scala └── test │ ├── resources │ ├── ReplacedRsvdKey.fir │ └── ReplacedRsvdKey_correct.fir │ └── scala │ ├── AcyclicPartTest.scala │ ├── GraphTest.scala │ ├── MFFCTest.scala │ ├── MergeGraphTest.scala │ ├── ReplaceRsvdKeyTest.scala │ ├── StatementGraphTest.scala │ └── TopologicalSortTest.scala └── utils └── bin └── essent /.github/workflows/scala-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/.github/workflows/scala-ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/README.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.9.6 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /src/main/resources/comm_wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/resources/comm_wrapper.h -------------------------------------------------------------------------------- /src/main/scala/ActivityTracker.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/ActivityTracker.scala -------------------------------------------------------------------------------- /src/main/scala/AcyclicPart.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/AcyclicPart.scala -------------------------------------------------------------------------------- /src/main/scala/ArgsParser.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/ArgsParser.scala -------------------------------------------------------------------------------- /src/main/scala/Compiler.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Compiler.scala -------------------------------------------------------------------------------- /src/main/scala/Driver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Driver.scala -------------------------------------------------------------------------------- /src/main/scala/Emitter.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Emitter.scala -------------------------------------------------------------------------------- /src/main/scala/Extract.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Extract.scala -------------------------------------------------------------------------------- /src/main/scala/Graph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Graph.scala -------------------------------------------------------------------------------- /src/main/scala/Harness.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Harness.scala -------------------------------------------------------------------------------- /src/main/scala/IR.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/IR.scala -------------------------------------------------------------------------------- /src/main/scala/MFFC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/MFFC.scala -------------------------------------------------------------------------------- /src/main/scala/MergeGraph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/MergeGraph.scala -------------------------------------------------------------------------------- /src/main/scala/OptElideRegUpdates.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/OptElideRegUpdates.scala -------------------------------------------------------------------------------- /src/main/scala/OptMakeCondMux.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/OptMakeCondMux.scala -------------------------------------------------------------------------------- /src/main/scala/OptMakeCondPart.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/OptMakeCondPart.scala -------------------------------------------------------------------------------- /src/main/scala/Renamer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Renamer.scala -------------------------------------------------------------------------------- /src/main/scala/StatementGraph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/StatementGraph.scala -------------------------------------------------------------------------------- /src/main/scala/TopologicalSort.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/TopologicalSort.scala -------------------------------------------------------------------------------- /src/main/scala/Util.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Util.scala -------------------------------------------------------------------------------- /src/main/scala/Vcd.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/Vcd.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledFixSubType.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledFixSubType.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledGraph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledGraph.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledInferAddw.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledInferAddw.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledMacroGraph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledMacroGraph.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledRandInitInvalids.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledRandInitInvalids.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledStatementGraph.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledStatementGraph.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledWireConstProp.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledWireConstProp.scala -------------------------------------------------------------------------------- /src/main/scala/disabled/disabledZeroFromBits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/disabled/disabledZeroFromBits.scala -------------------------------------------------------------------------------- /src/main/scala/passes/DistinctTypeInstNames.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/DistinctTypeInstNames.scala -------------------------------------------------------------------------------- /src/main/scala/passes/FactorMemReads.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/FactorMemReads.scala -------------------------------------------------------------------------------- /src/main/scala/passes/FactorMemWrites.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/FactorMemWrites.scala -------------------------------------------------------------------------------- /src/main/scala/passes/FixMulResultWidth.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/FixMulResultWidth.scala -------------------------------------------------------------------------------- /src/main/scala/passes/LegacyInvalidNodesForConds.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/LegacyInvalidNodesForConds.scala -------------------------------------------------------------------------------- /src/main/scala/passes/NoClockConnects.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/NoClockConnects.scala -------------------------------------------------------------------------------- /src/main/scala/passes/RegFromMem1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/RegFromMem1.scala -------------------------------------------------------------------------------- /src/main/scala/passes/RemoveAsyncConnects.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/RemoveAsyncConnects.scala -------------------------------------------------------------------------------- /src/main/scala/passes/RemoveFormalNCover.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/RemoveFormalNCover.scala -------------------------------------------------------------------------------- /src/main/scala/passes/ReplaceAsyncRegs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/ReplaceAsyncRegs.scala -------------------------------------------------------------------------------- /src/main/scala/passes/ReplaceRsvdKeywords.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/ReplaceRsvdKeywords.scala -------------------------------------------------------------------------------- /src/main/scala/passes/SplitRegUpdates.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/main/scala/passes/SplitRegUpdates.scala -------------------------------------------------------------------------------- /src/test/resources/ReplacedRsvdKey.fir: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/resources/ReplacedRsvdKey.fir -------------------------------------------------------------------------------- /src/test/resources/ReplacedRsvdKey_correct.fir: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/resources/ReplacedRsvdKey_correct.fir -------------------------------------------------------------------------------- /src/test/scala/AcyclicPartTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/AcyclicPartTest.scala -------------------------------------------------------------------------------- /src/test/scala/GraphTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/GraphTest.scala -------------------------------------------------------------------------------- /src/test/scala/MFFCTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/MFFCTest.scala -------------------------------------------------------------------------------- /src/test/scala/MergeGraphTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/MergeGraphTest.scala -------------------------------------------------------------------------------- /src/test/scala/ReplaceRsvdKeyTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/ReplaceRsvdKeyTest.scala -------------------------------------------------------------------------------- /src/test/scala/StatementGraphTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/StatementGraphTest.scala -------------------------------------------------------------------------------- /src/test/scala/TopologicalSortTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/src/test/scala/TopologicalSortTest.scala -------------------------------------------------------------------------------- /utils/bin/essent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ucsc-vama/essent/HEAD/utils/bin/essent --------------------------------------------------------------------------------