@article{30907,
  author       = {{Rodriguez, Alfonso and Otero, Andres and Platzner, Marco and De la Torre, Eduardo}},
  issn         = {{0018-9340}},
  journal      = {{IEEE Transactions on Computers}},
  keywords     = {{Computational Theory and Mathematics, Hardware and Architecture, Theoretical Computer Science, Software}},
  pages        = {{1--1}},
  publisher    = {{Institute of Electrical and Electronics Engineers (IEEE)}},
  title        = {{{Exploiting Hardware-Based Data-Parallel and Multithreading Models for Smart Edge Computing in Reconfigurable FPGAs}}},
  doi          = {{10.1109/tc.2021.3107196}},
  year         = {{2021}},
}

@inproceedings{29137,
  author       = {{Hansmeier, Tim}},
  booktitle    = {{HEART '21: Proceedings of the 11th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies}},
  location     = {{Online}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  title        = {{{Self-aware Operation of Heterogeneous Compute Nodes using the Learning Classifier System XCS}}},
  doi          = {{10.1145/3468044.3468055}},
  year         = {{2021}},
}

@misc{29540,
  abstract     = {{Autonomous mobile robots are becoming increasingly more capable and widespread. Reliable Obstacle avoidance is an integral part of autonomous navigation. This involves real time interpretation and processing of a complex environment. Strict time and energy constraints of a mobile autonomous system make efficient computation extremely desirable. The benefits of employing Hardware/Software co-designed applications are obvious and significant. Hardware accelerators are used for efficient processing of the algorithms by exploiting parallelism. FPGAs are a class of hardware accelerators, which
can contain hundreds of small execution units, and can be used for Hardware/Software co-designed application. However, there is a reluctance when it comes to adoption of these devices in well established application domains, such as Robotics, due to a steep learning curve needed for FPGA application design. ReconROS has successfully bridged the gap between robotic and FPGA application development, by providing an intuitive, common development platform for robotic application development for FPGA. It does so by integrating Robotics Operating System(ROS) which is an industry and academia standard for robotics application development, with ReconOS, an operating system for re-configurable hardware. In this thesis an obstacle avoidance system is designed and implemented for an autonomous vehicle using ReconROS. The objectives of the thesis is to demonstrate and explore ReconROS integration within the ROS ecosystem and explore the design process within ReconROS framework, and to demonstrate the effectiveness of Hardware Acceleration in Robotics, by analysing the resulting architectures for Latency and Power Consumption.}},
  author       = {{Sheikh, Muhammad Aamir}},
  publisher    = {{Paderborn University}},
  title        = {{{Design and Implementation of a ReconROS-based Obstacle Avoidance System}}},
  year         = {{2021}},
}

@unpublished{22764,
  abstract     = {{Robotics applications process large amounts of data in real-time and require compute platforms that provide high performance and energy-efficiency. FPGAs are well-suited for many of these applications, but there is a reluctance in the robotics community to use hardware acceleration due to increased design complexity and a lack of consistent programming models across the software/hardware boundary. In this paper we present ReconROS, a framework that integrates the widely-used robot operating system (ROS) with ReconOS, which features multithreaded programming of hardware and software threads for reconfigurable computers. This unique combination gives ROS2 developers the flexibility to transparently accelerate parts of their robotics applications in hardware. We elaborate on the architecture and the design flow for ReconROS and report on a set of experiments that underline the feasibility and flexibility of our approach.}},
  author       = {{Lienen, Christian and Platzner, Marco}},
  booktitle    = {{arXiv:2107.07208}},
  pages        = {{19}},
  title        = {{{Design of Distributed Reconfigurable Robotics Systems with ReconROS}}},
  year         = {{2021}},
}

@inproceedings{21813,
  author       = {{Hansmeier, Tim and Platzner, Marco}},
  booktitle    = {{GECCO '21: Proceedings of the Genetic and Evolutionary Computation Conference Companion}},
  isbn         = {{978-1-4503-8351-6}},
  location     = {{Lille, France}},
  pages        = {{1639–1647}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  title        = {{{An Experimental Comparison of Explore/Exploit Strategies for the Learning Classifier System XCS}}},
  doi          = {{10.1145/3449726.3463159}},
  year         = {{2021}},
}

@article{27841,
  abstract     = {{Verification of software and processor hardware usually proceeds separately, software analysis relying on the correctness of processors executing machine instructions. This assumption is valid as long as the software runs on standard CPUs that have been extensively validated and are in wide use. However, for processors exploiting custom instruction set extensions to meet performance and energy constraints the validation might be less extensive, challenging the correctness assumption. In this paper we present a novel formal approach for hardware/software co-verification targeting processors with custom instruction set extensions. We detail two different approaches for checking whether the hardware fulfills the requirements expected by the software analysis. The approaches are designed to explore a trade-off between generality of the verification and computational effort. Then, we describe the integration of software and hardware analyses for both techniques and describe a fully automated tool chain implementing the approaches. Finally, we demonstrate and compare the two approaches on example source code with custom instructions, using state-of-the-art software analysis and hardware verification techniques.}},
  author       = {{Jakobs, Marie-Christine and Pauck, Felix and Platzner, Marco and Wehrheim, Heike and Wiersema, Tobias}},
  journal      = {{IEEE Access}},
  keywords     = {{Software Analysis, Abstract Interpretation, Custom Instruction, Hardware Verification}},
  publisher    = {{IEEE}},
  title        = {{{Software/Hardware Co-Verification for Custom Instruction Set Processors}}},
  doi          = {{10.1109/ACCESS.2021.3131213}},
  year         = {{2021}},
}

@inproceedings{29138,
  author       = {{Ahmed, Qazi Arbab}},
  booktitle    = {{2021 IFIP/IEEE 29th International Conference on Very Large Scale Integration (VLSI-SoC)}},
  title        = {{{Hardware Trojans in Reconfigurable Computing}}},
  doi          = {{10.1109/vlsi-soc53125.2021.9606974}},
  year         = {{2021}},
}

@inproceedings{20681,
  abstract     = {{The battle of developing hardware Trojans and corresponding countermeasures has taken adversaries towards ingenious ways of compromising hardware designs by circumventing even advanced testing and verification methods. Besides conventional methods of inserting Trojans into a design by a malicious entity, the design flow for field-programmable gate arrays (FPGAs) can also be surreptitiously compromised to assist the attacker to perform a successful malfunctioning or information leakage attack. The advanced stealthy malicious look-up-table (LUT) attack activates a Trojan only when generating the FPGA bitstream and can thus not be detected by register transfer and gate level testing and verification. However, also this attack was recently revealed by a bitstream-level proof-carrying hardware (PCH) approach. In this paper, we present a novel attack that leverages malicious routing of the inserted Trojan circuit to acquire a dormant state even in the generated and transmitted bitstream. The Trojan's payload is connected to primary inputs/outputs of the FPGA via a programmable interconnect point (PIP). The Trojan is detached from inputs/outputs during place-and-route and re-connected only when the FPGA is being programmed, thus activating the Trojan circuit without any need for a trigger logic. Since the Trojan is injected in a post-synthesis step and remains unconnected in the bitstream, the presented attack can currently neither be prevented by conventional testing and verification methods nor by recent bitstream-level verification techniques.}},
  author       = {{Ahmed, Qazi Arbab and Wiersema, Tobias and Platzner, Marco}},
  booktitle    = {{2021 Design, Automation & Test in Europe Conference & Exhibition (DATE)}},
  location     = {{Alpexpo | Grenoble, France}},
  publisher    = {{2021 Design, Automation and Test in Europe Conference (DATE)}},
  title        = {{{Malicious Routing: Circumventing Bitstream-level Verification for FPGAs}}},
  doi          = {{10.23919/DATE51398.2021.9474026}},
  year         = {{2021}},
}

@inproceedings{30909,
  author       = {{Clausing, Lennart}},
  booktitle    = {{Proceedings of the 11th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies}},
  publisher    = {{ACM}},
  title        = {{{ReconOS64: High-Performance Embedded Computing for Industrial Analytics on a Reconfigurable System-on-Chip}}},
  doi          = {{10.1145/3468044.3468056}},
  year         = {{2021}},
}

@inproceedings{30908,
  author       = {{Ghasemzadeh Mohammadi, Hassan and Jentzsch, Felix and Kuschel, Maurice and Arshad, Rahil  and Rautmare, Sneha and Manjunatha, Suraj and Platzner, Marco and Boschmann, Alexander and Schollbach, Dirk }},
  booktitle    = {{ Machine Learning and Principles and Practice of Knowledge Discovery in Databases}},
  publisher    = {{Springer}},
  title        = {{{FLight: FPGA Acceleration of Lightweight DNN Model Inference in Industrial Analytics}}},
  doi          = {{https://doi.org/10.1007/978-3-030-93736-2_27}},
  year         = {{2021}},
}

@inproceedings{3583,
  author       = {{ Guetttatfi, Zakarya and Kaufmann, Paul and Platzner, Marco}},
  booktitle    = {{Proceedings of the International Workshop on Applied Reconfigurable Computing (ARC)}},
  title        = {{{Optimal and Greedy Heuristic Approaches for Scheduling and Mapping of Hardware Tasks to Reconfigurable Computing Devices}}},
  year         = {{2020}},
}

@misc{21324,
  author       = {{Chandrakar, Khushboo}},
  title        = {{{Comparison of Feature Selection Techniques to Improve Approximate Circuit Synthesis}}},
  year         = {{2020}},
}

@misc{21432,
  abstract     = {{Robots are becoming increasingly autonomous and more capable. Because of a limited portable energy budget by e.g. batteries, and more demanding algorithms, an efficient computation is of interest. Field Programmable Gate Arrays (FPGAs) for example can provide fast and efficient processing and the Robot Operating System (ROS) is a popular
middleware used for robotic applications. The novel ReconROS combines version 2 of the Robot Operating System with ReconOS, a framework for integrating reconfigurable hardware. It provides a unified interface between software and hardware. ReconROS is evaluated in this thesis by implementing a Sobel filter as the video processing application, running on a Zynq-7000 series System on Chip. Timing measurements were taken of execution and transfer times and were compared to theoretical values. Designing the hardware implementation is done by C code using High Level Synthesis and with the interface and functionality provided by ReconROS. An important aspect is the publish/subscribe mechanism of ROS. The Operating System interface functions for publishing and subscribing are reasonably fast at below 10 ms for a 1 MB color VGA image. The main memory interface performs well at higher data sizes, crossing 100 MB/s at 20 kB and increasing to a maximum of around 150 MB/s. Furthermore, the hardware implementation introduces consistency to the execution times and performs twice as fast as the software implementation.}},
  author       = {{Henke, Luca-Sebastian}},
  title        = {{{Evaluation of a ReconOS-ROS Combination based on a Video Processing Application}}},
  year         = {{2020}},
}

@inproceedings{21584,
  author       = {{Gatica, Carlos Paiz and Platzner, Marco}},
  booktitle    = {{Machine Learning for Cyber Physical Systems (ML4CPS 2017)}},
  isbn         = {{9783662590836}},
  issn         = {{2522-8579}},
  title        = {{{Adaptable Realization of Industrial Analytics Functions on Edge-Devices using Reconfigurable Architectures}}},
  doi          = {{10.1007/978-3-662-59084-3_9}},
  year         = {{2020}},
}

@article{17358,
  abstract     = {{Approximate circuits trade-off computational accuracy against improvements in hardware area, delay, or energy consumption. IP core vendors who wish to create such circuits need to convince consumers of the resulting approximation quality. As a solution we propose proof-carrying approximate circuits: The vendor creates an approximate IP core together with a certificate that proves the approximation quality. The proof certificate is bundled with the approximate IP core and sent off to the consumer. The consumer can formally verify the approximation quality of the IP core at a fraction of the typical computational cost for formal verification. In this paper, we first make the case for proof-carrying approximate circuits and then demonstrate the feasibility of the approach by a set of synthesis experiments using an exemplary approximation framework.}},
  author       = {{Witschen, Linus Matthias and Wiersema, Tobias and Platzner, Marco}},
  issn         = {{1557-9999}},
  journal      = {{IEEE Transactions On Very Large Scale Integration Systems}},
  keywords     = {{Approximate circuit synthesis, approximate computing, error metrics, formal verification, proof-carrying hardware}},
  number       = {{9}},
  pages        = {{2084 -- 2088}},
  publisher    = {{IEEE}},
  title        = {{{Proof-carrying Approximate Circuits}}},
  doi          = {{10.1109/TVLSI.2020.3008061}},
  volume       = {{28}},
  year         = {{2020}},
}

@article{17369,
  author       = {{Ho, Nam and Kaufmann, Paul and Platzner, Marco}},
  journal      = {{International Journal of Hybrid intelligent Systems}},
  publisher    = {{IOS Press}},
  title        = {{{Evolution of Application-Specific Cache Mappings}}},
  year         = {{2020}},
}

@unpublished{20748,
  abstract     = {{On the circuit level, the design paradigm Approximate Computing seeks to trade off computational accuracy against a target metric, e.g., energy consumption. This trade-off is possible for many applications due to their inherent resiliency against inaccuracies.
In the past, several automated approximation frameworks have been presented, which either utilize designated approximation techniques or libraries to replace approximable circuit parts with inaccurate versions. The frameworks invoke a search algorithm to iteratively explore the search space of performance degraded circuits, and validate their quality individually. 
In this paper, we propose to reverse this procedure. Rather than exploring the search space, we delineate the approximate parts of the search space which are guaranteed to lead to valid approximate circuits. Our methodology is supported by formal verification and independent of approximation techniques. Eventually, the user is provided with quality bounds of the individual approximable circuit parts. Consequently, our approach guarantees that any approximate circuit which implements these parts within the determined quality constraints satisfies the global quality constraints, superseding a subsequent quality verification.
In our experimental results, we present the runtimes of our approach.}},
  author       = {{Witschen, Linus Matthias and Wiersema, Tobias and Platzner, Marco}},
  booktitle    = {{Fifth Workshop on Approximate Computing (AxC 2020)}},
  pages        = {{2}},
  title        = {{{Search Space Characterization for AxC Synthesis}}},
  year         = {{2020}},
}

@inproceedings{20750,
  author       = {{Lienen, Christian and Platzner, Marco and Rinner, Bernhard}},
  booktitle    = {{Proceedings of the 2020 International Conference on Field-Programmable Technology (FPT)}},
  title        = {{{ReconROS: Flexible Hardware Acceleration for ROS2 Applications}}},
  year         = {{2020}},
}

@misc{20820,
  author       = {{Thiele, Simon}},
  title        = {{{Implementing Machine Learning Functions as PYNQ FPGA Overlays}}},
  year         = {{2020}},
}

@misc{20821,
  author       = {{Jaganath, Vivek}},
  title        = {{{Extension and Evaluation of Python-based High-Level Synthesis Tool Flows}}},
  year         = {{2020}},
}

