Budapest University of Technology and Economics Department of Control Engineering and Information Technology

DIRECT HARDWARE GENERATION FROM HIGH-LEVEL

Ph.D. thesis Csák, Bence

Consultant: Prof. Dr. Arató, Péter Full member of Hungarian Academy of Sciences

Budapest 2009

Tezisfuzet_EN.doc 1/12

1. INTRODUCTION The ever increasing speed and complexity demand of control applications is driving developers to work out newer and newer solutions for ages. In the course of this arrived mankind to the point where after purely mechanical components, electromechanical, electrical and later electronic components are used in the more and more complex control and machines. For the sake of flexibility of control systems even in the times of purely mechanical systems, program control has been created, which then spread over to electromechanical and later electronic systems. Development of programming has accelerated truly in the times of electronic computers. Today programs are written at an abstraction level from which no single step is enough to get to the level, where the first programs were written. This high level ensures that extremely big software systems can operate even safety critical systems without malfunction. The unquenchable desire for even higher computation power - despite of the development of software engineering - forces that certain tasks are solved by purpose built hardware. In case of a given task the desired performance is assured on a cost-effective way by composing the system of application specific hardware and CPU based software. Optimal partition of software and hardware parts is aided by the methodology of hardware-software co-design. Here, system specification is given on a standard symbolic language, from which a given partitioning procedure derives hardware and software components. This symbolic language is usually , as the sphere of users is rather extensive, it is applicable to describe digital systems and it provides an “executable specification”, so the specification itself is testable. This thesis introduces a methodology, which provides components and building rules for the hardware-software mapping of digital systems. The Department of Control Engineering and Information Technology of the Budapest University of Technology and Economics is researching for years in the field of hardware- software co-design and hardware mapping of computation-intensive tasks. This thesis belongs to this environment, however emphasis is put onto hardware mapping of high- level language defined, general (calculation and control-intensive) tasks and provides a novel, extremely scalable microprocessor architecture for software mapping. Based on the course of the thesis, literature in connection with C-based design and sub- RISC processors have to be regarded. 2. RESEARCH GOALS The main goals of the research were: 1) Workout of a direct C-HW mapping methodology, which – compared to existing methodologies – supports more general applications and is less restrictive. Enables the systematic translation of a C coded algorithm into RTL described hardware so that the developer does not need to posess complex hardware knowledge and still he can optimise on the speed-economy scale the resulting hardware. 2) Enhancement of the methodology by 1) so that parallel function is supported even with the permission of competition cases and with the resolution of those.

Tezisfuzet_EN.doc 2/12

3) Enhancement of the methodology by 1) and 2) so that pipelining is enabled. Construction and sectioning of the pipeline is solved on a way that it does not need complex apparatus and enables extremes in sectioning and extremes in timely behaviour. 4) Enhancement of the methodology by 1), 2) and 3) – as hardware mapping methodology – by a microprocessor architecture so that system components to be mapped into software can have a widely scalable, application oriented microprocessor, which can also be programmed on high-level languages.

By reaching the research goals an electronic system – consisting of hardware and software components - can be created, which provides a high degree of freedom – especially in the system-on-chip category – to partitioning procedures.

The methodology of this thesis fits very well the demand today to realise greater and greater processing performance on a chip.

3. NEW RESULTS Thesis 1: I have worked out a new model and direct systematic design procedure, which maps a high-level language (C) program to a hardware structure.

This methodology is able to map C codes with slight limitations, using a parser being not part of this thesis, into hardware structures. The output of the procedure is a block scheme, or VHDL code supporting a wider range of FPGA or ASIC technologies. The resulting synchronous hardware uses one single-phase clock signal. The C-HW mapping is systematic, no expert database is needed. An expression or statement can be of any complexity. Execution of those need one or more clock signals, which amount is known in compile time. Variables are multi assignment variables. Simple variables and non-array variables can be accessed concurrently at any depth. Use of pointers is allowed, as well as even dynamic datatypes. Function type variables are applicable. Hardware modules, representing functions can be “called” from multiple points with no theoretical limit, but these can be used also as hardware macros. Parameter of a function can also be another function. Recursive function call – with some limitation – is enabled. The methodology could use stack memories, but such has not been worked out yet. At the current workout brake statement can only be used in conjunction with the switch- case statement, while continue statement is not supported yet, however the basis methodology is able to embed these features as well. This thesis has been published in [SP1, SP5, SP6, SP7, SP8, SP10, SP11]

Thesis 2: I have worked out a new methodology, which enables parallel operation admitting competition cases with a run-time resolution so that the paralleled sections have a very fine – even memory access level - granularity and their deadlock and stagnation free function is granted.

This methodology distinguishes itself from today’s similar solutions that it enables paralleling at a very high granularity and it allows and then resolves competitions for

Tezisfuzet_EN.doc 3/12

resources. Competition resolution is done by prioritisation, but this – thank to a “competition closing” solution – does not lead to stagnation or deadlock even if a high priority section would initiate consecutive accesses. This methodology is evenly applicable to allow reading an array – in competition - for multiple clients, or to mutually exclude any number of blocks in parallel functioning clients (like block, process, task, application). Communication among parallel functioning parts can be solved by commonly accessible variables. This thesis has been published in [SP2, SP9]

Thesis 3: I have worked out a new methodology that enables pipelining in C language defined hardware.

The methodology distinguishes itself from known procedures that the architecture of the pipeline is scalable at a high granularity (number of stages, their size, their boundaries), unbalanced pipeline structure is allowed, data dependent or stage-wise different execution time is allowed and following a pipeline jam of any duration the pipeline resumes without error. Further advantage is that any variable (by type or scope) can be used (for read and write) within the pipeline. This thesis has been published in [SP2]

Thesis 4: I have worked out such an IP, which like RISC processors, but their principles taken ad absurdum, realises stored program function having one single kind of instruction on a way that it can be programmed on high-level language and it is extremly scalable.

The IP worked out (intellectual property – parametrisable, scalable, integrative, reusable functional unit defined by its description) can be used as the microprocessor of the software-realised partition of the functions of a hardware-software co-design, even in multi- processor environment. The IP can even be programmed on a high-level language, as it can use a stack memory (for data storage and subroutine administration), which memory is freely placed and sized within the main memory, serving code and data storage. Thank to its basis principle it can be scaled extremely, so it is applicable from substituting combinatorial networks upto running high-level programs (e.g. C/C++). Its simple, low area structure qualifies it for mass usage on one single chip, which supports well multiprocessor and multiprocessor plus purpose built hardware applications. The solution proposed by this thesis is a microprocessor architecture having one single instruction. This is the final end of the development path marked by CISC and – later – RISC processors, a SISC (single instruction set computer). The single instruction is the move instruction, which – with the help of functional registers provided by the architecture – enables the operational diversity usual at known microprocessors. In this architecture not operations achieve data movements, but data movements achieve operations. This thesis has been published in [SP3, SP4]

Tezisfuzet_EN.doc 4/12

4. REFERENCES Literature used during the workout of the dissertation

[1] R. Dömer, A. Gerstlauer, D. Gajski, "SpecC Language Reference Manual V2.0", 2002.12.12 [2] Andreas Gerstlauer, "The SpecC Methodology", University of California, Irvine, 2001 [3] Rainer Dömer, "The SpecC System-Level Design Language and Methodology, Part 1", Embedded Systems Conference, San Francisco, 2002 [4] Rainer Dömer, "The SpecC System-Level Design Language and Methodology, Part 2", Embedded Systems Conference, San Francisco, 2002 [5] Rainer Dömer, "The SpecC Language", University of California, Irvine, 2001 [6] Rainer Dömer, "System-level Modeling and Design with the SpecC Language - Dissertation", Universitaet Dortmund, 2000 [7] M. Fujita, H. Nakamura, "The Standard SpecC Language", ISSS’01, Montréal, Québec, Canada, 2001.10.01 [8] W. Mueller, R. Dömer, A. Gerstlauer, "The Formal Execution Semantics of SpecC", Technical Report CECS 02-04, University of California, Irvine, 2002.01.11 [9] R. Dömer, A. Gerstlauer, D. Gajski, "SpecC Methodology for High-Level Modeling", EDP 2002, Monterey, CA, USA, 2002.04.21 [10] S. B. Saoud, A. Gerstlauer, D. Gajski, "Codesign Methodology of Real-time Embedded Controllers for Electromechanical Systems", American Journal of Applied Sciences 2 (9): 1331-1336, 2005 [11] A. Nukala, "Modeling a Real Time Using SpecC - Master Thesis", Auckland University of Technology, 2007 [12] Andreas Gerstlauer, "SpecC Modeling Guidelines", Technical Report ICS-00-48, University of California, Irvine, 2001.08.06 [13] A. Gupta, R. Dömer, "System Design of Digital Camera Using SpecC", Technical Report CECS-04-32, University of California, Irvine, 2004.12.10

[14] Open SystemC Initiative, "SystemC 2.0.1 Language Reference Manual", San Jose, CA, USA, 2003 [15] Open SystemC Initiative, "SystemC Tutorial", San Jose, CA, USA, 2006 [16] B. Niemann, "An Introduction to SystemC 1.0.X", Fraunhofer Institut für Integrierte Schaltungen, 2001 [17] Preeti Ranjan Panda, "SystemC A modeling platform supporting multiple design abstractions", ISSS’01, Montreal, Quebec, Canada, 2001 [18] P. Dziurzanski, V. Beletskyy, "Transformation of a synthesizable subset of ANSI C code into behavioral SystemC code", ACS'03, Prague, Czech Republic, 2003.09.01 [19] Synthesis Working Group of Open SystemC Initiative, "SystemC Synthesizable Subset", San Jose, CA, USA, 2004.12.23 [20] M. Steinert, S. Buch, D. Slogsnat, "Using SystemC for Hardware Design Comparison of results with VHDL, Cossap and CoCentric", SNUG Europe 2002, 2002 [21] Alan Ma, Allan Zacharda, "Utilizing SystemC for Design and Verification (Mentorpaper #18780)", Mentor Graphics, [22] Synopsys, "Describing Synthesizable RTL in SystemC", Synopsys, 2002.11.01 [23] E.P.M. van Diggele, "Translation of SystemC to Synthesizable VHDL - MSc Thesis", TU Delft, 2006

[24] http://www.mentor.com/products/esl/high_level_synthesis/catapult_synthesis/catapult_c_demo.cfm, www [25] https://admin.acrobat.com/_a700655680/mentor080131, www [26] Kevin Morris, "Catapult C Mentor Announces Architectural Synthesis", FPGA and Programmable Logic Journal, 2004.06.01 [27] Business Wire, "Mentor Graphics Catapult C Synthesis Proven to Create Optimized ASIC/FPGA Hardware from Untimed C++ Up to 20 Times Faster", Business Wire, 2004.05.31 [28] Mentor Graphics, "Catapult Synthesis", Mentor Graphics Datasheet, 2007 [29] Corporation, "Designing High-Performance DSP Hardware Using Catapult C Synthesis and the Altera Accelerated Libraries", Altera Corporation White Paper, 2007 [30] Anil Khanna, "FPGA Synthesis: The Vendor-Independent Approach (Mentorpaper #17558)", Mentor Graphics, 2005 [31] Mentor Graphics, "New Catapult C-Based Design Flow is an Unqualified Success", Mentor Graphics, 2003 [32] Shawn McCloud, "Catapult C Synthesis-based Design Flow: Speeding Implementation and Increasing Flexibility", Mentor Graphics, 2003 [33] Mentor Graphics, "Alcatel Conquers the Next Frontier of Design Space Exploration using Catapult C Synthesis", Mentor Graphics, 2004 [34] Mentor Graphics, "Catapult C Synthesis Addresses RTL Bottleneck in Ericsson’s ASIC Design Flow", Mentor Graphics, 2005

Tezisfuzet_EN.doc 5/12

[35] Ron Plyler, "The Streamlined Design Flow from Catapult C to Precision RTL Synthesis", Mentor Graphics, 2007.07.01 [36] M. Fingeroff, T. Gopalsamy, "DESIGNING HIGH PERFORMANCE DSP HARDWARE USING CATAPULT C SYNTHESIS AND THE ALTERA ACCELERATED LIBRARIES", Mentor Graphics, 2007.10.01

[37] M. Aubury, I. Page, G. Randall, J. Saul, R. Watts, "Handel-C Language Reference Guide", Oxford University, 1996.08.28 [38] Embedded Solutions Limited, "Handel-C Language Reference Manual V2.1", Embedded Solutions Limited, 2000 [39] Celoxica, "Handel-C Language Reference Manual For DK version 4", Celoxica, 2005 [40] Agility, "HANDEL-C LANGUAGE REFERENCE MANUAL", Agility, 2007 [41] Celoxica, "The Technology Behind DK1", Celoxica, 2002.08.01 [42] Brian J. Corcoran, "Testing Formal Semantics: Handel-C - MSc Thesis", University of Dublin, 2005.09.01 [43] R. P. Self, M. Fleury, A. C. Downton, "A Design Methodology for Construction of Asynchronous Pipelines with Handel-C", IEE PROCEEDINGS SOFTWARE, VOL 150; PART 1, pages 39-47, 2003 [44] Celoxica, "Optimisation - Efficient Loops (application note)", Celoxica, 2001 [45] Celoxica, "Celoxica Co-Design Methodology For Nios Embedded Processor Based Systems (FAQ)", Celoxica, 2002.09.01 [46] Celoxica, "Computing In Reconfigurable Logic (White Paper)", Celoxica, 2002.08.01 [47] Celoxica, "Introducing Software Paradigms To Hardware Design (White Paper)", Celoxica, 2002.08.01 [48] M. Vasilko, L. Machacek, M. Matej, P. Stepien, S. Holloway, "A Rapid Prototyping Methodology and Platform for Seamless Communication Systems", RSP'01, Monterey, CA, USA, 2001.06.25 [49] Celoxica, "Advanced RAM Access from Handel-C", Celoxica, 2003

[50] J. G. F. Coutinho, W. Luk, "Source-Directed Transformations for Hardware Compilation", FPT 2003, Tokyo, Japan, 2003.12.15 [51] M. P. T. Juvonen et al, "Custom Hardware Architectures for Posture Analysis", FPT2005, Singapore, 2005.12.11

[52] M. Ohnishi, N. Tenri-shi (SHARP), "EP 1 267 287 A2 EUROPEAN PATENT APPLICATION", European Patent Office, 2002.06.06 [53] R. Klein, R. Moona, "Migrating Software to Hardware on FPGAs", ICFPT'04, Brisbane, Australia, 2004.12.06 [54] Shinichi Maeta et al, "C-BASED HARDWARE DESIGN OF IMDCT ACCELERATOR FOR OGG VORBIS DECODER", EUSIPCO'04, Vienna, Austria, 2004.09.06

[55] Maya Gokhale et al, "NAPA C: Compiling for a Hybrid RISC/FPGA Architecture", IEEE Symposium on FPGAs for Custom Computing Machines, Issue 15-17, pp:126 - 135, 1998.04.15 [56] Justin Quek, ": Compilation 2", ECE497NC - Unconventional Computer Architecture / Lecture 11, Center for Reliable and High-Performance Computing, Urbana, IL, USA, 2004.03.01

[57] Maya Gokhale, "sc2 Reference Manual", Los Alamos National Laboratory, Los Alamos, NM, USA, date [58] J. Frigo, M. Gokhale, D. Lavenier, "Evaluation of the Streams-C C-to-FPGA : An Applications Perspective", FPGA20001, Monterey, CA, USA, 2001.02.11 [59] Jan Frigo, "sc2 Hardware Library Reference Manual", Los Alamos National Laboratory, Los Alamos, NM, USA, date [60] Rakhee Keswani, "Computational Model for Re-entrant Multiple Hardware Threads", Osmania University, Hyderabad, INDIA, 2002 [61] M. Gokhale et al, "Sc2 C-to-FPGA Compiler (PPT)", Los Alamos National Laboratory, Los Alamos, NM, USA, 2000.09.11 [62] M. Gokhale et al, "sc2 C-to-FPGA Compiler", Los Alamos National Laboratory, Los Alamos, NM, USA, 2000.09.11 [63] Los Alamos National Laboratory, "sc2 Simulation and Runtime Implementation", Los Alamos National Laboratory, Los Alamos, NM, USA, date

[64] Impulse, "Accelerating HPC and HPEC Applications Using (PPT)", RSSI 2007, Kirkland, WA, USA, 2007 [65] G. Edvenson, D. Pellerin, "Accelerating C Software Applications Using a CompactFlash FPGA Accelerator Card", FPGA and Programmable Logic Journal, 2005 [66] XtremeData, "FPGA Acceleration in HPC: A Case Study in Financial Analytics (Whitepaper)", XtremeData, 2006.11.01 [67] Marco Frailis et al, "A THIRD LEVEL TRIGGER PROGRAMMABLE ON FPGA FOR THE GAMMA/HADRON SEPARATION IN A CHERENKOV TELESCOPE USING PSEUDO-ZERNIKE MOMENTS AND THE SVM CLASSIFIER", event, place, 2006.02.24 [68] Impulse Accelerated Technologies Inc., "Accelerating PowerPC Software Applications", Embedded Magazine, 2005.09.15

[69] Stefan Möhl, "The Mitrion-C Programming Language", Mitrionics AB, Lund, Sweden, 2005 [70] Mitrionics, "Accelerate Your Applications – unleash the massive performance of FPGAs", Mitrionics AB, Lund, Sweden, 2005

Tezisfuzet_EN.doc 6/12

[71] Jace A. Mogill, "Programming FPGAs: A Hardware/Software Culture Clash", Mitrionics, Huntsville, AL, USA, 2007.02.23 [72] Stefan Möhl, "The Mitrion Virtual Processor", Mitrionics AB, Lund, Sweden, 2007 [73] Mitrionics, "Running the Mitrion Virtual Processor on SGI RASC", Mitrionics, Lund, Sweden, 2005 [74] Song Jun Park, Dale Shires, and Brian Henz, "Reconfigurable Computing: Experiences and Methodologies", Tech Report ARL-TR- 4358, U.S. Army Research Laboratory, 2008.01.15

[75] Malachy Devlin, "A Streaming FFT on 3GSPS ADC Data using Core Libraries and DIME-C", Nallatech, Nallatech, USA, 2007 [76] Application Note NT303-0107, "Single Precision Floating Point FFT implemented using DIME_C", Nallatech, USA, 2007.08.01 [77] Allan Cantle, "Leveraging FPGAs for Performance", Nallatech, Nallatech, USA, 2006 [78] R. Bruce, M. Devlin, S. Marshall, "An Elementary Transcendental Function Core Library for Reconfigurable Computing", RSSI'07, Urbana, IL, USA, 2007.07.17 [79] Nallatech, "DIMEtalk V3.0", Nallatech, Nallatech, USA, 2007

[80] D. Ku, G. De Micheli, "HardwareC - A Language for Hardware Design V2.0", Stanford University, Stanford, CA, USA, 1990.04.01 [81] R. K. Gupta, G. De Micheli, "Hardware-software Co-synthesis for Digital Systems", ICCAD'93, Santa Clara, CA, USA, 1993.11.07 [82] S. A. Edwards, "The Challenges of Hardware Synthesis from C-like Languages", IEEE Design & Test of Computers, Sept-Oct 2006, pp375-386, 2006.10.15

[83] W. Böhm et al, "Mapping a Single Assignment Programming Language to Reconfigurable Systems", Kluwer Academic Publishers, The Netherlands, 2001.07.19

[84] W. Najjar et al, "Optimized Generation of Data-path from C Codes for FPGAs", DATE'05, München, Germany, 2005.05.01

[85] www.srccomp.com

[86] Dave Galloway, "Transmogrifier C", University of Toronto, 1997.09.01 [87] D. M. Lewis et al, "The Transmogrifier-2: A 1 Million Gate Rapid Prototyping System", IEEE Transactions on VLSI Systems, Volume 6, Issue 2, Page(s):188 - 198, 1998.06.01 [88] D. Galloway et al, "The Transmogrifier C Hardware Description Language and Compiler for FPGAs", IEEE Symposium on FPGAs for Custom Computing Machines, 1995. Proceedings., pp136-144, 1995.04.19 [89] D. M. Lewis et al, "The Transmogrifier-2: A 1 Million Gate Rapid Prototyping System", FPGA'97, Monterey, CA, USA, 1997.02.09

[90] www.sourceforge.net [91] www.fpgac.sourceforge.net

[92] Kevin Morris, "C to FPGA - Altera Accelerates Nios II", FPGA and Structured ASIC Journal, 2006.04.04 [93] Altera, "Nios II C2H Compiler Press FAQ", Altera, San Jose, CA, USA, [94] Altera, "Automated Generation of Hardware Accelerators With Direct Memory Access From ANSI/ISO Standard C Functions", Altera, San Jose, CA, USA, 2006.05.01

[95] K. Bondalapati, P. Diniz, P. Duncan, J. Granacki, M. Hall, R. Jain, H. Ziegler, "DEFACTO: A Design Environment for Adaptive Computing Technology", RAW'99, San Juan, Puerto Rico, 1999.04.12

[96] J. R. Hauser, "The Garp Architecture", University of California at Berkeley, Berkeley, CA, USA, 1997.10.01 [97] J. R. Hauser, J. Wawrzynek, "Garp: A MIPS Processor with a Reconfigurable Coprocessor", FPGAs for Custom Computing Machines, 1997. Proceedings., The 5th Annual IEEE Symposium, Napa Valley, CA, USA, 1997.04.16 [98] T. J. Callahan, J. Wawrzynck, "Instruction-Level Parallelism for Reconfigurable Computing", FPL'98, Tallinn, Estonia, 1998.08.31 [99] Yana Yankova et al, "HLL-to-HDL Generation: Results and Challenges", ProRISC 2006, Veldhoven, The Netherlands, 2006.11.24

[100] Sumit Gupta, "User Manual for the SPARK Parallelizing High-Level Synthesis Framework V1.1", University of California, San Diego, CA, USA, 2004.04.14 [101] Sumit Gupta, "Tutorial for the SPARK Parallelizing High-Level Synthesis Framework V1.1", University of California, San Diego, CA, USA, 2004.04.14

Tezisfuzet_EN.doc 7/12

[102] Sumit Gupta et al, "SPARK : A High-Level Synthesis Framework For Applying Parallelizing Compiler Transformations", VLSI'03, New Delhi, India, 2003.01.04

[103] M. Budiu, S. C. Goldstein, "Compiling Application-Specific Hardware", FPL2002, Montpellier, France, 2002.09.02 [104] M. Budiu, "Compiling Application-Specific Hardware (PPT)", FPL2002, Montpellier, France, 2002.09.02 [105] G. Venkataramani et al, "C to Asynchronous Dataflow Circuits: An End-to-End Toolflow", IWLS'04, Temecula, CA, USA, 2004.06.04

[106] Rahul Bhatt (Intel), Giovanni De Micheli (Stanford Univ.), Daniel D. Gajski (Univ. of California, Irvine), Christopher K. Lennard (Cadence), Stan Liao (Synopsys), John Sanguinetti (CynApps), and Patrick Schaumont (IMEC), Rajesh K. Gupta (Univ. of California, Irvine), Kaushik Roy (Purdue Univ.), "System-on-Chip Specification and Modeling Using C++: Challenges and Opportunities", ICCAD 2000 Roundtable, IEEE Design & Test of Computers, May–June 2001 [107] R. Wain et al, "An overview of FPGAs and FPGA programming; Initial experiences at Daresbury", Computational Science and Engineering Department, CCLRC Daresbury Laboratory, Daresbury, Warrington, Cheshire, WA4 4AD, UK, 2006.11.01

[108] English Electric, "Deuce Logical Design Manual Part I", NS-y-37/11-57, English Electric, date [109] D.G. Burnett-Hall, P.A. Samet, "A PROGRAMMING HANDBOOK FOR THE COMPUTER DEUCE", Royal Aircraft Establishment, 1959.04.15 [110] English Electric, "Deuce Programming Manual", NS-y-16/5-56, http://users.tpg.com.au/eedeuce/pm.htm

[111] GRI Computer Corporation, "GRI-99 Reference Card", GRI Computer Corporation, USA, 1970 [112] GRI Computer Corporation, "GRI-909 FAST manual", GRI Computer Corp. Massachusetts, USA, 1970.11.01 [113] GRI Computer Corporation, "GRI-909 system reference manual", GRI Computer Corp. Massachusetts, USA, 1970.04.10 [114] Charle R. Rupp, "United States Patent 4177514", US Patent Office, 1977.11.22 [115] GRI Computer Corporation, "GRI-909 basic assembler", GRI Computer Corp. Massachusetts, USA, 1971

[116] Burroughs Corporation, "Burroughs B1700 Systems Reference Manual", Burroughs Corporation Detroit, MI, USA, 1972 [117] Burroughs Corporation, "Burroughs B1700 Central System Technical Manual", Burroughs Corporation Detroit, MI, USA, 1972 [118] Burroughs Corporation, "Burroughs Micro-Programming Manual", Burroughs Corporation Detroit, MI, USA, 1971.01.08

[119] http://www.theworld.com/~alexc/fable/fable.html [120] W. F. Gilreath, P. A. Laplante, "Computer Architecture: A Minimalist Perspective", ISBN 1402074166, Ch 7.2.4, pp53, 2003

[121] D. Tabak, G. J. Lipovski, "MOVE Architecture in Digital Controllers", IEEE Transactions on Computers, Vol C-29, No 2., 1980.02.02 [122] G. J. Lipovski, "US005623423, Apparatus and Method for Video Decoding", US Patent Office, 1997.04.22

[123] A. Kader, M. Paksoy, "E25 Computer Architecture: Lab 5, One Instruction Set Computer (OISC)", Swarthore College Computer Society, Swarthore, PA, USA, 2005.05.16 [124] Clive Gifford, "The Mark II OISC Self-Interpreter", eigenratios.blogspot.com/2006/09/mark-ii-oisc-self-interpreter.html, 2006.09.11 [125] F. Mavaddat, B. Parham, "URISC: The UltimateReduced Instruction Set Computer", International Journal of Electronic Engineering, Vol. 25. pp327-334, 1988

[126] Douglas W. Jones, "The Ultimate RISC", ACM Computer Architecture News, 16, 3, pages 48-55., 1988.06.15 [127] Elisha K. Kane, "An Ultimate Minimal RISC Processor for Space Applications", CSGC Research Symposium, University of Colorado at Boulder, USA, 2006.04.04

[128] Henk Corporaal, "MOVE32INT Architecture and Programmer’s Reference Manual", Delft University of Technology, Delft, The Netherlands, 1994.04.20 [129] Henk Corporaal, "Transport Triggered Architectures Principles and Consequences", Seminar on TTAs, Tampere, Finnland, 2002.11.25 [130] Dick Pountain, "Transport-Triggered Architectures", BYTE, 1995.02.15 [131] James Srinivasan, "Transport Triggered Architectures ", Hardware Discussion Group, Cambridge University, UK, 2003.05.15

Tezisfuzet_EN.doc 8/12

[132] Martti J. Forsell, "Analysis of Transport Triggered Architectures in General Purpose Computing", NorCHIP 2003, Riga, Latvia, 2003.11.15 [133] Martti J. Forsell, "Evaluating TTA and some other novel ILP processor architectures", TTA Workshop, Nokia Research Center, Tampere, Finnland, 2002.11.25 [134] Teemu Pitkaenen, "Experiments of TTA on ASIC Technology - MSc Thesis", Tampere University of Technology, 2004.05.12 [135] J. Heikkinen, J. Takala, J. Sertamo, "Code Compression on Transport Triggered Architectures", Banff, Canada, 2002.07.06 [136] G. Tempesti, P. Mudry, R. Hoffmann, "A Move Processor for Bio-Inspired Systems", Conference on Evolvable Hardware, Washington DC, USA, 2005.06.29 [137] Risto Maekinen, "Fast Fourier Transform on Transport Triggered Architectures - MSc Thesis", Tampere University of Technology, 2005.08.17 [138] Jari Heikkinen, "DSP Applications on Transport Triggered Architectures - MSc Thesis", Tampere University of Technology, 2001.03.21

[139] MAXIM, "Industry's highest MIPS/mA, 16-bit Flash Microcontroller", Maxim Integrated Products, Inc, 2004.12.01 [140] MAXIM, "MaxQ2000 Low-Power LCD Microcontroller", Maxim Integrated Products, Inc, 2006.12.01 [141] MAXIM, "Application Note 3222", Maxim Integrated Products, Inc, 2004.04.30 [142] MAXIM, "Dallas Semiconductor Unveils Industry's Highest MIPS/mA, 16-Bit, RISC Microcontroller", Maxim Integrated Products, Inc, 2004.11.02 [143] MAXIM, "New MAXQ Microcontroller Architecture Provides Ultra-Quiet Environment for Integration with High-Accuracy Analog Circurity", Maxim Integrated Products, Inc, 2004.11.15

[144] RTCA, "Do-178B: Software Considerations in airborne systems and equipment certification", RTCA, 1992.12.01 [145] MISRA, "MISRA-C:2004 - Guidelines for the use of the C language in critical systems", MISRA, ISBN 0 9524156 2 3, 2004.10.01 [146] D. F. Bacon, S. L. Graham, O. J. Sharp., "Compiler transformations for high-performance computing Report No. UCB/CSD 93/781", University of California, Berkeley, 1993.11.15 [147] M. Gardner, "Mathematical Games: The fantastic combinations of John Conway's new solitaire game Life", Scientific American 223, pp120-123, 1970.10.15 [148] B.W. Kernighan, D. M. Ritchie, "The C Programming Language: ANSI C Version", ISBN 0131103628, 1978 [149] C. A. R. Hoare, "Communicating sequential processes", Communications of the ACM 21 (8): 666–677, 1978 [150] B. Csák, “HU 224 576, Mikroprocesszor Architektúra”, Magyar Szabadalmi Közlöny, 2005.11.28 [151] J. M. Weber, M. J. Chin, “Using FPGAs with Embedded Processors for Complete Hardware and Software Systems”, AIP Conference Proceedings, Volume 868, pp. 187-192, 2006.11 [152] J. Detrey, O. Diessel, “A Constructive Proof of the Turing Completeness of Circal”, Technical Report (UNSW-CSE-TR-0214), University of New South Wales, Australia [153] E.G.Coffman et al, “System Deadlocks”, ACM Computing Surveys, Vol 3, No 2, pp67-78, 1971.06, ISSN 0360-0300

[154] A. Church, "An unsolvable problem of elementary number theory", American Journal of Mathematics v. 58, pp. 345–363., 1936.06.30 [155] A. Church, "A note on the Entscheidungsproblem", Journal of Symbolic Logic v. 1, n. 1, & v. 3, n. 3., 1936.06.30 [156] S. Kleene, "Introduction to Metamathematics", North-Holland, ISBN-0-7204-2103-9, 1952.06.30

[157] P. Arató, T. Kandár, B. Csák, "Optimizing Algorithms for System Level Synthesis", INES2002 IEEE, Selected Publications of INES 2002 Conference, pp. 373-384. ISBN 3-935798-25-3, 2003.11.15 [158] P. Arató, B. Csák, "Pipeline Mode in C-based Direct Hardware Implementation", Periodica Polytechnica, elfogadva, megjelenésre vár, 2009.07.15 [159] B. Csák, "Egyutasítású Mikroprocesszor Architektúra", Szabadalmi Közlöny, P00 03913, 2002.05.15 [160] B. Csák, "HU 224 576, Mikroprocesszor Architektúra", Magyar Szabadalmi Közlöny, 2005.11.28 [161] P. Arató, B. Csák, T. Kandár, Z. Mohr, "Some Components Of A New Methodology Of System-Level Synthesis", INES2002 IEEE, The 6th IEEE INES2002, Hotel Adriatic, Opatija, Croatia, 2002.05.26 [162] P. Arató, B. Csák, "Hardware Software Co-Design Based On Standard C-Language Source Code", ICCC03 IEEE, Siófok, Hungary, 2003.08.29 [163] P. Arató, B. Csák, "Programming Language Based Definition of Application Oriented Hardware", WISP03 IEEE, Budapest, Hungary, 2003.09.04

Tezisfuzet_EN.doc 9/12

[164] P. Arató, B. Csák, "Hardware Definition Based on Standard C-language Source Code", FDL03 ECSI, Frankfurt, Germany, 2003.09.23 [165] P. Arató, B. Csák, "Solutions for Competition Cases in C-Language Defined Application Specific Hardware", ICCC04 IEEE, Vienna, Austria, 2004.08.30 [166] B. Csák, T. Kandár, Z. Mohr, "Új Módszerek A Rendszerszintű Szintézisben", microCAD 2002, Miskolc, Hungary, 2002.03.07 [167] P. Arató, B. Csák, "Programming Language Based Definition of Application Oriented Hardware", Proceedings of IEEE WISP03 (ISBN: 0-7803-7864-4), Budapest, Hungary, 2003.09.04 5. OWN PUBLICATIONS Article in edited book [SP1] Péter Arató, Tibor Kandár, Bence Csák, „Optimizing Algorithms for System Level Synthesis”, Intelligent Systems at the Service of Mankind, Selected Publications of INES 2002 Conference, Editors: Wilfried Elmenreich, J. Tenreiro Machado, Imre J. Rudas, UBooks Volume I, November, 2003. pp. 373-384. ISBN 3-935798-25-3

Journal article in foreign-language issued in Hungary [SP2] Péter Arató, Bence Csák, „PIPELINE MODE IN C-BASED DIRECT HARDWARE IMPLEMENTATION”, Periodica Polytechnica, elfogadva, megjelenés 2009 folyamán

Patent application issued in Hungary [SP3] Csák Bence, „Egyutasítású Mikroprocesszor Architektúra”, Szabadalmi Közlöny, P00 03913, 2002 Május

Patent granted in Hungary [SP4] Csák Bence, „Mikroprocesszor Architektúra”, Szabadalmi Közlöny, HU224 576, 2005.11.28

Conference presentation in foreign-language published in the conference’s proceedings [SP5] Dr. Péter Arató, Bence Csák, Tibor Kandár, Zoltán Mohr, „Some Components Of A New Methodology Of System-Level Synthesis”, INES2002, The 6th IEEE International Conference On Intelligent Engineering Systems, Hotel Adriatic, Opatija, Croatia, May 26-28, 2002.

[SP6] Dr. Péter Arató, Bence Csák, „Hardware Software Co-Design Based On Standard C- Language Source Code”, ICCC03, IEEE International Conference on Computational Cybernetics, Siófok, Hungary, August 29-31, 2003.

[SP7] Dr. Péter Arató, Bence Csák, „Programming Language Based Definition of Application Oriented Hardware”, WISP03, 2003 IEEE International Symposium on Intelligent Signal Processing, Hotel Gellért, Budapest, Hungary, September 4-6, 2003., ISBN: 0-7803-7864-4

[SP8] Dr. Péter Arató, Bence Csák, „Hardware Definition Based on Standard C-language Source Code”, FDL03, 2003 ECSI Forum on Specification & Design Languages, University of Frankfurt, Germany, September 23-26, 2003.

[SP9] Dr. Péter Arató, Bence Csák, „Solutions for Competition Cases in C-Language Defined Application Specific Hardware”, ICCC04, 2004 IEEE International Conference on Computational Cybernetics, Vienna University of Technology, Austria, 30 August - 1 September, 2004

[SP11] Péter Arató, Bence Csák: Programming Language Based Definition of Application Oriented Hardware, Hardware-Software Partitioning in Embedded System Design, Proceedings of IEEE International Symposium on Intelligent Signal Processing (ISBN: 0-7803-7864-4), Budapest, Hungary, 4-6. Sep. 2003

Conference presentation in hungarian [SP10] Csák Bence, Kandár Tibor, Mohr Zoltán, Új Módszerek A Rendszerszintű Szintézisben, microCAD’ 2002 Nemzetközi Tudományos Konferencia, Miskolc, 2002. március 7-8.

Tezisfuzet_EN.doc 10/12

6. PUBLICATIONS ON OTHER FIELDS International patents or patent applications

[IP1] DISK BRAKE COMPRISING ELECTRIC MOTOR-DRIVEN ADJUSTING DEVICES AND METHOD FOR BRAKING USING THE PARKING BRAKE Inventor: BAUMGARTNER JOHANN (DE); GERUM EDUARD (DE); (+9) Applicant: KNORR BREMSE SYSTEME (DE) EC: F16D65/14P8F; F16D65/14B6B2; (+2) IPC: F16D65/18; F16D65/18 Publication info: EP1893882 - 2008-03-05

[IP2] Clamp device Inventor: CSAK BENCE (HU); HERGES MICHAEL (DE); (+1) Applicant: KNORR BREMSE SYSTEME (DE) EC: F16D65/14B6B; F16D65/14C; (+5) IPC: F16D63/00; F16D63/00 Publication info: US2007251773 - 2007-11-01

[IP3] Parking brake Inventor: KIENER WOLFGANG (DE); LANGE STEPHAN (DE); (+9) Applicant: KNORR BREMSE SYSTEME (DE) EC: F16D49/00; B60T1/00B; (+3) IPC: F16D55/00; F16D55/00 Publication info: US2007246309 - 2007-10-25

[IP4] Braking system for vehicles, in particular utility vehicles, comprising at least two separate electronic braking control circuits Inventor: GERUM EDUARD (DE); BROCH WALTER (DE); (+2) Applicant: KNORR BREMSE SYSTEME (DE) EC: B60T13/66 IPC: B60T13/00; B60T13/66; B60T13/00 (+1) Publication info: US2007170774 - 2007-07-26

[IP5] Function or wear monitoring device for components of utility vehicle, has sensors on spring- mounted axle for measuring oscillations in one or more directions Inventor: CSAK BENCE (HU) Applicant: KNORR BREMSE SYSTEME (DE) EC: G01M13/02M; G01M17/04 IPC: B60R16/02; G01M13/02; G01M17/04 (+5) Publication info: DE102004025154 - 2005-12-15

[IP6] Temperature sensing device for rotating vehicle components. Inventor: CSAK BENCE (HU) Applicant: KNORR BREMSE SYSTEME (DE) EC: F16D66/02B2B2 IPC: F16D66/02; F16D66/00; F16D66/00 (+2) Publication info: EP1564431 - 2005-08-17

[IP7] Trailer and semi-trailer braking system Inventor: CSAK BENCE (HU); HEILMANN HARRO (DE); (+3) Applicant: KNORR BREMSE SYSTEME (DE) EC: B60T13/68B; B60T17/02 IPC: B60T13/00; B60T13/68; B60T17/02 (+6) Publication info: US2005179314 - 2005-08-18

[IP8] Trailer and semitrailer brake valve with integrated control for the air spring Inventor: CSAK BENCE (HU); HEILMANN HARRO (DE); (+3) Applicant: DAIMLERCHRYSLER (DE) EC: B60G7/00A; B60G9/00; (+5) IPC: B60G7/00; B60G9/00; B60G11/30 (+10) Publication info: US2005162004 - 2005-07-28

Tezisfuzet_EN.doc 11/12

[IP9] TRANSPORT TRIGGERED MICROPROCESSOR ARCHITECTURE Inventor: CSAK BENCE (HU) Applicant: CSAK BENCE (HU) EC: G06F9/38T IPC: G06F9/38; G06F9/38; (IPC1-7): G06F9/38 Publication info: WO03083648 - 2003-10-09

[IP10] ONE COMMAND MICROPROCESSOR ARCHITECTURE Inventor: CSAK BENCE (HU) Applicant: CSAK BENCE (HU) EC: IPC: G06F9/30; G06F9/30; (IPC1-7): G06F9/30 Publication info: HU0003913 - 2002-05-29

[IP11] METHOD OF DETERMINATION WORKING CAPACITY OF A WORKING PERSON Inventor: PALOTAS LASZLO (HU); KOVACS MIHALY (HU); (+13) Applicant: HONVEDELMI MINISZTERIUM HADITE (HU) EC: IPC: A61B5/00; A61B5/16; A61B5/22 (+5)

Tezisfuzet_EN.doc 12/12