As a step towards speculative circuits generation, the tool export-dot is adapted to include speculative operations. The final goal is that the tool export-vhdl will also support speculative circuits.
The design includes:
Addition of the SpeculationOpInterface interface in the handshake dialect.
Addition of the pass --spec-annotate-paths that will add the boolean attribute speculative=true to all operations within the speculative region. This is needed to indicate the operations that need to carry an extra bit for the speculative tag.
Add support for speculative operations in DotPrinter.h/cpp.
A test has been added to complement the pass.
As a next step, export-vhdl will need to be updated to parse the dot files and add the necessary channels and arrays for the speculative tag bits.
As a step towards speculative circuits generation, the tool
export-dot
is adapted to include speculative operations. The final goal is that the toolexport-vhdl
will also support speculative circuits.The design includes:
SpeculationOpInterface
interface in thehandshake
dialect.--spec-annotate-paths
that will add the boolean attributespeculative=true
to all operations within the speculative region. This is needed to indicate the operations that need to carry an extra bit for the speculative tag.DotPrinter.h/cpp
.A test has been added to complement the pass.
As a next step,
export-vhdl
will need to be updated to parse the dot files and add the necessary channels and arrays for the speculative tag bits.