• Compiler transformations in hardware synthesis of Mpeg2 codes 

      Chatzianastasiou G., Tsakyridis A., Dimitriou G., Stamoulis G., Dossis M. (2016)
      High-level synthesis is the technique that translates high-level programming language programs into equivalent hardware descriptions. The use of conventional programming languages as input to high-level synthesis is ...
    • Global and Pointer Variables in High-Level Synthesis 

      Dimitriou G., Dossis M., Stamoulis G. (2020)
      High-level synthesis (HLS) has been an important tool in digital circuit design for more than two decades, especially for processor components like accelerators or coprocessors. However, many high-level language characteristics ...
    • Hardware synthesis of high-level C constructs 

      Dossis M., Dimitriou G. (2015)
      In this paper, experiments with a useable C frontend for the CCC behavioural synthesis tools are presented and analysed. This tool combination is able to rapidly deliver provably-correct hardware implementations at the RTL ...
    • Implementation of expressions using Python in stimulated luminescence analysis 

      Prevezanou K., Kioselaki G., Tsoutsoumanos E., Konstantinidis P.G., Polymeris G.S., Pagonis V., Kitis G. (2022)
      In Thermoluminescence (TL) and Optically Stimulated Luminescence (OSL), the study of complex experimental TL glow curves and OSL signal processing, also known as deconvolution, was revolutionized by using a single, analytic ...
    • The implementation of the flipped classroom model in the teaching of educational robotics: A study in secondary school students 

      Varsos D.A., Dimitriou G., Zygouris N.C. (2022)
      The typical way to learn programming is using different high-level programming languages and a simple text editor, in order to compose and compile programs, usually to solve simple computational problems. Nowadays, an ...
    • Logic Design as an Enabler to Python Programming Language Teaching 

      Velaora C., Kakarountas A. (2019)
      In this article the contribution of experiential learning, gamification and emerging technologies to Python programming language teaching is attempted to be sketched. Four scenarios were designed in order to constitute a ...
    • Loop pipelining in high-level synthesis with CCC 

      Dimitriou G., Dossis M., Stamoulis G. (2017)
      High-level synthesis allows the use of high-level programming languages for hardware design. Traditional programming with the C and ADA languages can lead to efficient hardware description through recently developed ...
    • Massively parallel programming models used as hardware description languages: The OpenCL case 

      Owaida, M.; Bellas, N.; Antonopoulos, C. D.; Daloukas, K.; Antoniadis, C. (2011)
      The problem of automatically generating hardware modules from high level application representations has been at the forefront of EDA research during the last few years. In this paper, we introduce a methodology to ...
    • Minimal-area loop pipelining for high-level synthesis with CCC 

      Dimitriou G., Dossis M., Stamoulis G. (2017)
      Increased complexity of computer hardware makes close to impossible to rely on hand-coding at the-level of HDLs for digital hardware design. High-level synthesis can be employed instead, in order to automatically obtain ...
    • Operation Dependencies in Loop Pipelining for High-Level Synthesis 

      Dimitriou G., Dossis M., Stamoulis G. (2018)
      Research and industry interest in high-level synthesis has been renewed in the last few years, proven by the introduction of new tools or improved versions of existing tools. Academic tools like Gaut or CCC have recently ...
    • Performance and power simulation of a functional-unit-network processor with Simplescalar and Wattch 

      Kalaitzidis K., Dimitriou G., Stamoulis G., Dossis M. (2015)
      Loop acceleration is a means to enhance performance of a singleor multiple-issue microprocessor core. A new edge-like processor architecture incorporates a loop accelerator directly in the out-oforder back end of the ...
    • PyPUT: Python-based Placement Utilities Toolset 

      Kranas G., Tsalamagkakis G.-C., Oikonomou P., Dadaliaris A.N. (2018)
      In the placement stage of a standard-cell design flow, a set of cells must be placed within a specified rectangular region, that may contain obstacles, in such a way that overlaps and overflows are non-existent and a target ...
    • Source-level compiler optimizations for high-level synthesis 

      Dimitriou G., Chatzianastasiou G., Tsakyridis A., Stamoulis G., Dossis M. (2016)
      With high-level synthesis becoming the preferred method for hardware design, tools that operate on high-level programming languages and optimize hardware output are crucial for successful synthesis. In high-level synthesis, ...