<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Accelerators Generation via MLIR and Multi-dataflow Composer tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohammad Cheshfar</string-name>
          <email>mohammad.cheshfar@unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jiahong Bi</string-name>
          <email>jiahong.bi@tu-dresden.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Ratto</string-name>
          <email>francesco.ratto@unica.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CPSWS'25: CPS Summer School PhD Workshop</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dataflow</institution>
          ,
          <addr-line>MLIR, MDC, High-level synthesis, FPGA</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Electrical and Electronic Engineering, University of Cagliari</institution>
          ,
          <addr-line>09123, Cagliari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Faculty of Computer Science, Dresden University of Technology</institution>
          ,
          <addr-line>Dresden</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <abstract>
        <p>The Multi-Level Intermediate Representation (MLIR) framework is emerging as promising solution to develop extensible and reusable compiler infrastructure for heterogenous hardware. This work presents an automated compilation flow for generating synthesizable FPGA accelerators from high-level dataflow specifications using the MLIR framework and the Multi-Dataflow Composer (MDC) tool. The flow leverages the dfg-mlir dialect to model static dataflow graphs and integrates a dedicated lowering pipeline to generate ifles. Actor implementations are synthesized automatically using the emitHLS dialect which can target the Vitis HLS tool, enabling compatibility with FPGA toolchains without manual Hardware Description Language (HDL) coding. To validate the proposed automated approach, a comparison with manual HDL-based flow is carried out. FPGA accelerators are synthesized targeting the AMD Kria KV260 platform. Resource usage results confirm functional equivalence and comparable resource utilization and computation time. The integration with the MDC tool opens up the possibility of generating coarse-grained reconfigurable accelerators, which will be explored in future work.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The MYRTUS project [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] aims to address the growing complexity of designing and deploying applications
for heterogeneous computing systems across the edge–cloud continuum. One of its objective is to
provide a reference Design and Programming Environment (DPE) for continuum computing systems,
featuring interoperable support for cross-layer modelling, threat analysis, application modelling, and
code generation.
      </p>
      <p>A central component of this vision is the development of a robust compiler infrastructure capable of
supporting a wide range of input programming models and hardware targets. To achieve this, MYRTUS
adopts the MLIR framework as one of the core technologies. MLIR’s extensible and modular architecture
allows the DPE to act as a common integration layer between diverse source languages and backend
platforms, supporting both general-purpose and domain-specific compilation pipelines. This choice
ensures long-term flexibility and scalability in supporting new devices, programming abstractions, and
optimization strategies across the continuum.</p>
      <p>
        Among the tools integrated into the MYRTUS DPE is MDC [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], an open-source design tool for the
generation and management of coarse-grain reconfigurable hardware accelerators.
      </p>
      <sec id="sec-1-1">
        <title>MDC provides a</title>
        <p>high-level environment for creating dataflow-oriented hardware architectures that can be synthesized
onto reconfigurable platforms, particularly FPGAs. Its coarse-grained reconfigurable (CGR) approach
enables resource sharing among the diferent accelerators configurations.</p>
        <p>
          However, the current MDC toolchain faces several limitations. First, it relies on the ORCC [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
intermediate representation, which requires dedicated front-ends for each input format, such as QONNX2MDC
https://cfaed.tu-dresden.de/ccc-staff/jiahong-bi (J. Bi); https://web.unica.it/unica/page/it/francesco_ratto (F. Ratto)
        </p>
        <p>CEUR
Workshop</p>
        <p>
          ISSN1613-0073
[
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], limiting extensibility. In this work, we address this limitation by introducing an MLIR-based
frontend, which replaces the need for multiple format-specific frontends with a unified and extensible
IR framework. This enables MDC to leverage existing MLIR importers, reducing engineering overhead
and improving interoperability with other MLIR-based tools.
        </p>
        <p>Finally, features central to MDC—such as coarse-grained reconfigurability and dataflow merging—are
not natively supported in MLIR. Our MLIR-compatible extension exposes these capabilities, enriching
the ecosystem with CGR-style resource-sharing abstractions for reuse across MLIR-based compilers.</p>
        <p>The rest of the paper is organized as follows: Section 2 provides an overview of the dfg-mlir dialect
and the MDC toolchain, outlining the foundational concepts relevant to this work. Section 3 highlights
the key contributions and improvements introduced in this study, supported by both simulation and
synthesis of a representative example. Finally, Section 4 presents concluding remarks and discusses
future research directions aimed at enhancing the proposed methodology and extending its applicability.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>
        This section provides a brief overview of the foundational tools and models that underpin the proposed
methodology. We present an introduction to the MLIR framework and the dfg-mlir [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] dialect developed
in previous research projects [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which serve as the basis for our compilation and intermediate
representation. These tools are critical in enabling a structured and extensible transformation flow
from a high-level domain-specific language (DSL) to low-level hardware targets [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Then, we introduce
the MDC, which ofers a design suite for coarse-grained reconfigurable accelerators implementation.
      </p>
      <sec id="sec-2-1">
        <title>2.1. MLIR and the dfg-mlir Dialect</title>
        <p>
          MLIR is a flexible compiler infrastructure developed to support multiple levels of abstraction in modern
compiler toolchains. It provides mechanisms for defining custom dialects, allowing domain-specific
operations and types to seamlessly integrate into a unified compilation framework [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. This design enables
the representation and progressive lowering of high-level DSLs into hardware-specific implementations.
        </p>
        <p>
          In the context of dataflow programming, the dfg-mlir dialect was introduced as part of the EVEREST
project to model applications as dataflow graphs [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], and the MYRTUS project continues the development
efort by extending the dialect and enabling deployment across the computing continuum [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. It supports
the specification of Homogeneous Synchronous Dataflow (HSDF) actors through operations such as
dfg.operator, where each actor is annotated with explicitly defined input and output ports. These ports
are implicitly connected via First In First Out (FIFO) channels, allowing asynchronous communication
between actors. For more expressive dataflow models, such as Kahn Process Networks (KPNs), the dialect
includes a dfg.process construct that allows multiple input and output ports per actor [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. The
convertto-emitHLS pass is provided to convert multi-port operators into dfg.process operations, maintaining
the semantic flexibility of the original graph while enabling analysis and transformation within the
MLIR infrastructure.
        </p>
        <p>At the core of this representation lies the dfg.region, which serves as the top-level container for
the dataflow graph. Within a region, operators are instantiated using the dfg.operator construct
and interconnected through explicitly typed channels that encode communication and preserve the
streaming semantics of data tokens. This modular and high-level design enables early-stage analysis,
transformation, and reuse, supporting systematic mapping onto hardware. While the conceptual
foundation is introduced here, a concrete illustrative example is deferred to Section 3.2, where it
complements the step-by-step methodology and toolchain integration process. This separation allows
the example to be presented in the context of the complete compilation flow, enhancing clarity and
continuity.</p>
        <p>The dfg-mlir dialect facilitates integration with hardware backends by enabling passes that analyze
and lower dataflow graphs to lower-level representations, paving the way for hardware code generation
and deployment on reconfigurable platforms. Its modularity and compatibility with other MLIR dialects
make it a suitable foundation for custom FPGA toolchains.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Multi-Dataflow Composer</title>
        <p>
          The MDC is an open-source1 tool suite for automating the design of CGR substrates and supporting
their integration in processor-accelerator system environments [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. MDC enables the generation of
synthesizable hardware accelerators starting from dataflow specifications of individual application
kernels.
        </p>
        <p>
          As illustrated in Figure 1, Baseline MDC Core is composed of a front-end and a back-end. The
front-end, known as the Multi-dataflow Generator, performs datapath merging—a technique that
identifies and combines shared operations across multiple dataflow applications to produce a
multidataflow reconfigurable network [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The resulting architecture contains SBoxes (switch boxes)
and Configuration Table,which tracks system programmability to enable time-multiplexed reuse of
Processing Elements (PEs). The back-end, known as the Platform Composer, translates the merged
dataflow network into a complete SystemVerilog hardware description [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Each actor is mapped
to a dedicated PE, and data channels are implemented using FIFO bufers. The tool generates the
structural elements of the CGR datapath, including control signals, and memory interfaces, resulting in
a synthesizable hardware description.
        </p>
        <p>
          MDC requires the following inputs: (i) dataflow network descriptions, commonly in the XML Dataflow
Format (XDF) format; (ii) actor implementations in a pre-existing HDL library; and (iii) a communication
protocol specification. An Intermediate Representation is produced starting from the .XDF graphs,
which define the topology of the dataflow network, and associated .Caltrop Actor Language (CAL) actors,
which describe actor metadata such as port interfaces and data types [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. From IRs corresponding
to those of the input dataflow network descriptions, the tool applies datapath merging and hardware
composition algorithms to produce an eficient, time-multiplexed CGR datapath.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Work-in-Progress</title>
      <p>The proposed flow enables the generation of synthesizable hardware designs from MLIR-based dataflow
descriptions by leveraging the capabilities of the MDC toolchain. The approach bridges high-level,
operator-centric specifications in MLIR with the dataflow-oriented hardware generation process
supported by MDC.</p>
      <sec id="sec-3-1">
        <title>3.1. Flow Overview</title>
        <p>An overview of the proposed work is shown in Figure 1. The pipeline begins with an MLIR program
expressed using a combination of standard dialects such as arith, math, and scf, along with the custom</p>
        <sec id="sec-3-1-1">
          <title>1Available on GitHub at https://github.com/mdc-suite/mdc</title>
          <p>
            dfg dialect. This is extensible and linked to what is currently supported by dfg and it’s High-Level
Synthesis (HLS) target. The integration required to slighly modify MLIR interface, by passing as input.
A dedicated pass pipeline, dfg-to-mdc, integrated within the MLIR infrastructure, transforms these
intermediate representations into a dataflow specification compatible with the MDC
toolchain—specifically, generating the corresponding .XDF and .CAL, as described in the section 2.2. In addition to
this, the integration flow leverages the existing emitHLS-generate-project pass to produce synthesizable
Verilog actor modules using Vitis HLS. It relies on an intermediate dialect that maps each construct
directly (1:1) to standard C++ expressions or classes, thereby facilitating compatibility with the AMD
design toolchains such as Vivado and Vitis HLS. Although no formal publication describing this pass is
currently available, it represents a MYRTUS extension of earlier developments, and relevant citations
will be included once publicly released [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ].
          </p>
          <p>Finally, the resulting hardware was packaged into a Vivado project for simulation and synthesis,
enabling verification of functionality and hardware compatibility. The modular nature of the pipeline
allows for future enhancements, such as tighter integration with Vitis HLS dialects or user-defined
hardware mappings.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Input Example in MLIR</title>
        <p>To demonstrate the capabilities of the
proposed compilation flow, we utilize
a simple yet representative dataflow
application defined in MLIR using the
dfg-mlir dialect. As shown in Figure 2,
the example consists of two
computational operators: an incrementer and
a left shifter. These are expressed as
modular operators using dfg.operator
and connected via a dfg.region to form
a small synchronous dataflow (SDF) Figure 2: A MLIR program example
network. This structure reflects the
data-parallel and stateless semantics typical of many dataflow programs.</p>
        <p>Each operator defines a single input and output, and performs an elementary arithmetic operation
using standard arith dialect instructions. The incrementer adds a constant value to the input, while the
shifter shifts it one bit to the left. These operations are defined independently and later instantiated in
the @top2 region to form a complete graph.</p>
        <p>The conversion is performed using dfg-to-mdc pass pipeline integrated into the MLIR toolchain, as
illustrated in Figure 1. This pipeline processes programs written in the dfg-mlir dialect—such as the
example shown in Figure 2—and automatically generates the project structure required by the MDC
toolchain. Specifically, it produces a .XDF file that describes the top-level dataflow graph corresponding
to the top region, along with two .CAL files representing the inc and lshifter operators. This process is
fully automated and requires no manual intervention, allowing a seamless transition from MLIR-level
modeling to MDC-level dataflow specifications. Figure 3 illustrates a representative generated network
composed of two MLIR-defined actors: an increment operator (inc0) followed by a left shifter (lshifter1) .
As shown, the structural composition and actor granularity from MLIR are preserved in the generated
MDC view, reinforcing traceability and modularity.</p>
        <p>In the next step, the emitHLS dialect is employed for lowering the input MLIR program to evetually
synthesize Verilog actor modules from their corresponding MLIR definitions. To better support
downstream integration with the MDC flow, the pass has been extended with a configuration flag –for-MDC.
When this flag is enabled, the pass generates only the essential HLS-related artifacts—namely, the C++
source files and associated TCL scripts—for individual operators, rather than producing a complete
2MLIR guarantees identifiers never collide with keywords by prefixing identifiers with a sigil (e.g. %, #, @, ^, !).
(a) XDF file for network topology
representation.</p>
        <p>(b) CAL files for actors interfaces.
system-level design. Using this configuration, synthesizable Verilog files are generated for the inc
and lshifter operators by Vitis HLS. Once these components are generated, the complete hardware
description can be assembled by the MDC Core. This modular infrastructure promotes design reuse
and extensibility, thereby establishing a robust foundation for scalable and customizable hardware
accelerator generation.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Hardware Generation and Integration in Vivado</title>
        <p>Once the MLIR program is translated into MDC-compatible dataflow models, the MDC toolchain is
used to generate synthesizable Verilog code. Each operator, such as @inc and @lshifter , is compiled
into a dedicated hardware module, and FIFO-based bufering is automatically inserted by the Platform
Composer between operators to preserve dataflow semantics. In addition to these modules, MDC
automatically provides the top-level module, FIFO implementations, and a testbench based on the input
dataflow specification. These generated files, along with the Verilog actor modules, can be imported
directly into a Vivado project for synthesis and simulation without any manual modification, apart
from providing a basic constraints file.</p>
        <p>Figure 4a illustrates the synthesized Verilog blocks from the automated flow, which follows the
Vitis HLS communication protocol (ap_clk, ap_rst, _empty_n, _full_n, _read, _write) and employs
a FIFO architecture generated by the EmitHLS pass. For comparison, the manual implementation
(Figure 4b) adopts the default MDC protocol from the reference repository, using a similar handshake
(_wr, _rd, _full, _empty) with custom FIFOs. While the signal names and active-high/low conventions
difer, the two protocols are functionally equivalent, ensuring that both designs can be fairly compared.</p>
        <p>To quantitatively assess the two approaches, post-synthesis resource utilization results targeting the
Kria KV260 platform are summarized in Table 1. As shown, both the automated pipeline and the manually
written HDL consume nearly identical hardware resources, with only negligible diferences—likely due
to backend tool optimizations. Notably, both implementations achieve the same execution times for
64-samples inputs, while the automated version achieves a slightly higher maximum clock frequency
(190MHz vs. 165 MHz), suggesting improved timing closure. These results confirm that the MDC
toolchain reliably produces synthesizable, functionally equivalent Verilog designs in both manual and
automated modes, seamlessly integrating with Vivado for simulation and synthesis. To quantitatively
assess the two approaches, post-synthesis resource utilization results targeting the Kria KV260 platform
are summarized in Table 1. As shown, both the automated pipeline and the manually written HDL
consume nearly identical hardware resources, with only negligible diferences—likely due to backend
tool optimizations. Notably, both implementations achieve the same execution times for 64-samples
inputs, while the automated version achieves a slightly higher maximum clock frequency (190MHz vs.
165 MHz), suggesting improved timing closure. These results confirm that the MDC toolchain reliably
produces synthesizable, functionally equivalent Verilog designs in both manual and automated modes,
seamlessly integrating with Vivado for simulation and synthesis.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Discussion and Preliminary Observations</title>
        <p>The proposed flow demonstrates the feasibility of generating correct and synthesizable hardware
designs directly from MLIR-based dataflow specifications using the MDC toolchain. Both manual and
automated approaches lead to functionally equivalent hardware modules, confirming the correctness of
the transformation pipeline and the reliability of MDC’s backend infrastructure. The manual method
ofers greater control and flexibility, but requires additional efort in preparing the input files. In contrast,
the automated flow—enabled by the proposed dfg-mlir pipeline combined to MDC—substantially
improves productivity by automatically generating all required files, making it more suitable for scalable
and iterative development.</p>
        <p>Simulation and synthesis results confirm functional correctness and modularity in both approaches,
validating the viability of integrating dataflow-based compilation into MLIR for FPGA accelerator design.
Importantly, this work introduces the first integrated flow for CGR datapath/platforms within the MLIR
ecosystem. While our evaluation focuses on a simple dataflow kernel, the methodology is inherently
extensible: the abstractions in dfg-mlir and the backend flexibility of MDC are not limited to small
examples and can naturally scale to more complex applications and larger reconfigurable platforms.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion and Future Work</title>
      <p>In this work, we presented the integration of the MDC toolchain with the MLIR infrastructure, enabling
a unified and extensible compilation path for coarse-grain reconfigurable hardware accelerators. This
integration was realized by adding MDC as a target within the dfg-mlir project, allowing MDC to
be targeted from MLIR-based compiler pipelines. To validate the integration, we evaluated a simple
dataflow kernel and observed no performance degradation when comparing the automatically
generated implementation with its manually optimized counterpart. This demonstrates the feasibility and
efectiveness of the compilation flow targeting MDC, without compromising the performance benefits
typically associated with hand-crafted designs.</p>
      <p>Future work will focus on extending the evaluation to a broader and more diverse set of dataflow
applications, ranging from signal processing kernels to machine learning operators, with the aim of
generating reconfigurable accelerators that fully exploit MDC’s resource-sharing capabilities. This will
allow us to assess scalability not only in terms of synthesis feasibility but also in terms of throughput,
area eficiency, and design productivity for larger, more realistic workloads. In parallel, we plan to
embed the resource-sharing algorithm directly into dfg-mlir as a dedicated optimization pass, making it
natively accessible to other MLIR-based compilation flows. This integration will enrich the ecosystem
with coarse-grain reconfigurability as a first-class optimization option, enabling systematic exploration
of trade-ofs between performance, area, and reconfigurability. Crucially, these directions demonstrate
that scaling to large designs is technically feasible and not constrained by the underlying tools, but
rather ofers new opportunities for co-design across compiler and hardware layers.
This work was supported by MYRTUS. “MYRTUS is funded by the European Union, by grant No.
101135183. Views and opinions expressed are however those of the author(s) only and do not necessarily
reflect those of the European Union. Neither the European Union nor the granting authority can be
held responsible for them.”</p>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used ChatGPT in order to: improve grammar, spelling
and general readability. After using these tool(s)/service(s), the authors reviewed and edited the content
as needed and take full responsibility for the publication’s content.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Palumbo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ratto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rubattu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Zedda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Fanni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Rao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Driessen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Castrillon</surname>
          </string-name>
          ,
          <article-title>Multipartner project: Key enabling technologies for cognitive computing continuum-myrtus project perspective</article-title>
          , in: 2025 Design, Automation &amp; Test in Europe Conference (DATE), IEEE,
          <year>2025</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Fanni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rubattu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rafo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Palumbo</surname>
          </string-name>
          ,
          <article-title>The multi‑dataflow composer (mdc) tool suite</article-title>
          , https://mdc-suite.github.io/mdc,
          <year>2021</year>
          .
          <article-title>Open‑source framework for generating coarse‑grain reconfigurable (CGR) hardware architectures</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>O. D.</given-names>
            <surname>Team</surname>
          </string-name>
          , Orcc:
          <article-title>Open rvc‑cal compiler workshop</article-title>
          and code release, https://github.com/orcc/orcc,
          <year>2025</year>
          .
          <article-title>Open-source compiler for RVC‑CAL actor specifications and dataflow graph generation</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Manca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ratto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Palumbo</surname>
          </string-name>
          ,
          <article-title>Onnx-to-hardware design flow for adaptive neural-network inference on fpgas</article-title>
          , in: International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation, Springer,
          <year>2024</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>F.</surname>
          </string-name>
          et al.,
          <article-title>dfg‑mlir: An mlir dialect for modelling kpn‑style dataflow graphs</article-title>
          , https://github.com/ Feliix42/dfg-mlir,
          <year>2025</year>
          .
          <article-title>Open-source MLIR dialect for dataflow modelling in MYRTUS/EVERSTEP projects</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bi</surname>
          </string-name>
          , G. Korol,
          <string-name>
            <given-names>J.</given-names>
            <surname>Castrillon</surname>
          </string-name>
          ,
          <article-title>Leveraging the mlir infrastructure for the computing continuum (</article-title>
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lattner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Amini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Bondhugula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pienaar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Riddle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Shpeisman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zadok</surname>
          </string-name>
          , Mlir:
          <article-title>Scaling compiler infrastructure for domain specific computation</article-title>
          ,
          <source>2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)</source>
          (
          <year>2021</year>
          )
          <fpage>2</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Consortium</surname>
          </string-name>
          ,
          <string-name>
            <surname>EVEREST</surname>
          </string-name>
          <year>D2</year>
          .
          <article-title>3: Intermediate representations and toolchain for hardware generation</article-title>
          ,
          <source>Technical Report D2</source>
          .3,
          <string-name>
            <surname>H2020</surname>
            <given-names>EVEREST</given-names>
          </string-name>
          <string-name>
            <surname>Project</surname>
          </string-name>
          ,
          <year>2021</year>
          . Available: https://everest-h2020.eu/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Palumbo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Zedda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Fanni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bagnato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Castello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Castrillon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Ponte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Driessen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fadda</surname>
          </string-name>
          , T. H. du Fretay,
          <string-name>
            <surname>J. de Oliveira Filho</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Regazzoni</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Rodriguez</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Schranz</surname>
          </string-name>
          , G. Sedda,
          <article-title>Myrtus: Multi-layer 360° dynamic orchestration and interoperable design environment for compute-continuum systems</article-title>
          ,
          <source>in: Proceedings of the 21st ACM International Conference on Computing Frontiers: Workshops and Special Sessions</source>
          , CF '24 Companion, Association for Computing Machinery, New York, NY, USA,
          <year>2024</year>
          , p.
          <fpage>101</fpage>
          -
          <lpage>106</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Fanni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rubattu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rafo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Palumbo</surname>
          </string-name>
          ,
          <article-title>The multi-dataflow composer tool: An opensource tool suite for optimized coarse-grain reconfigurable hardware accelerators and platform design</article-title>
          ,
          <source>Microprocessors and Microsystems</source>
          <volume>80</volume>
          (
          <year>2021</year>
          )
          <fpage>103326</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>C. C.</surname>
          </string-name>
          <article-title>d</article-title>
          . Souza,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Lima</surname>
          </string-name>
          , G. Araujo,
          <string-name>
            <given-names>N. B.</given-names>
            <surname>Moreano</surname>
          </string-name>
          ,
          <article-title>The datapath merging problem in reconifgurable systems: Complexity, dual bounds and heuristic evaluation</article-title>
          ,
          <source>Journal of Experimental Algorithmics</source>
          <volume>10</volume>
          (
          <year>2005</year>
          )
          <article-title>2.2-es</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <article-title>Ieee standard for systemverilog-unified hardware design, specification, and verification language</article-title>
          , IEEE Std 1800
          <article-title>-2017 (Revision of IEEE Std 1800-</article-title>
          <year>2012</year>
          ) (
          <year>2018</year>
          )
          <fpage>1</fpage>
          -
          <lpage>1315</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>