Languages for HW and SW Development Ondrej Cevan Content HW vs. SW development purpose HDL vs. SW programming language merging HDL and SW prog. language conclusion 04.06.2007 Languages for HW and SW development 2 What we Need to Develop? (The Origin of Differences) HW code translatable into electronic logic components (gate arrays, complex control circuits) 04.06.2007 finally -> layout for mask -> transfer to silicon SW code translatable into machine language finally -> instructions in machine language loaded into the memory of the machine (computer) Languages for HW and SW development 4 How To Achieve It HW hardware description languages (HDL) 04.06.2007 SW VHDL, Verilog, Abel, ... components mapped to the target technology in the compilation step thus HDL code can be technology independent after PPR -> mask building or download to (re)configurable HW programming languages high-level (C++, Java, ...) low-level (C, Assembler, ...) compiler translates the source language into specific machine language thus source code can be machine independent Languages for HW and SW development 5 HDL Format and Syntax Boolean Description Using VHDL The keyword ENTITY defines the interface of the circuit block, in this case: and_gate The keyword PORT defines the inputs and outputs. The keyword ARCHITECTURE describes the operation inside the block. 04.06.2007 The BEGIN and END contain a description of the operation The keyword CONFIGURATION maps architecture with entity operation processed whenever a signal change occurs on “a” or “b” input pin Languages for HW and SW development 7 Prog.L. Format and Syntax function definition in C 04.06.2007 C: function contains declarations and statements char and(char a, char b){ input and output (return) variables defined in the function declaration } operation defined in the body of the function char c; c = a & b; return c; function processed whenever called Languages for HW and SW development 8 HDL vs. Prog.L. HDL Programming Language example VHDL, Verilog, AHDL C, C++, Java, C#, Python purpose formal description of electronic circuits provide instructions to a computer concurrency support strong limited (but growing) support for simulation strong (on all levels) limited timing support yes no synchronization yes no exception handling not supported supported syntax text-based, schematic text-based technology independent yes yes high-level of abstraction yes (compared to circuit level) yes (compared to machine language) needed knowledge high (knowledge of logic elements) rather small, but growing -> of computer architecture strict rules to follow (synthesizable code)advent of multicores OOP support no support (yet) high future trends OOP support no fundamental changes needed in (to deal with the growing complexity), order to handle concurrency, support for hybrid electronic circuits objects in 3D environment? VHDL-AMS Analog and Mixed Signal Extensions 04.06.2007 Languages for HW and SW development 9 System Level Design language for System Level Design must be able to describe the whole system, consisting of SW and HW support for concurrency, synchronization, exception handling, concept of time, complex functionality support for simulation and verification at every design level, support for ordinary Prog.L. syntax (C++) HDL & Prog.L. merge into System Description Language => SystemC, SystemVerilog SLD enables to develop SW for specific HW not produced yet 04.06.2007 Languages for HW and SW development 10 Conclusion basic differences in concurrency support and the purpose (el. circuit vs. machine code) HW developers should have deeper understanding of how the code can be translated into HW with growing complexity of the computation systems the demand for high-level languages for SW and HW development grows too modern tools are very effective in translating high-level abstractions into low-levels (levels closer to silicon) trend: merging HW and SW development process => SystemC (more in the following presentation) 04.06.2007 Languages for HW and SW development 11 Thank You! 04.06.2007 Languages for HW and SW development 12 List of Used Sources http://www.embedded.com/story/OEG20011009S0072 Einführung in die Technische Informatik; Gerhard H. Schildt, Alexander Redlein, Daniela Kahn Hardware Modeling VO; Martin Delvai www.wikipedia.org 04.06.2007 Languages for HW and SW development 13