The ESLab (hardware lab) is where practical sessions are conducted following the lecture on digital technology and computer systems in the new Bachelor’s/Master’s programmes as well as various courses in the advanced course on embedded systems.
Students have access to a modern laboratory environment with twelve well-equipped workstations and two specially fitted measuring stations. Each workstation and each measuring station has a high-performance computer system with internet access.
Computer applications are a combination of hardware and software. High performance is only achieved if both components are well aligned. Information is displayed in binary code and processed electronically. Today’s computer systems make increasingly extensive use of the architecture of the “von Neumann computer”. Modern developments, however, reveal a structural shift that has been triggered by the new possibilities in the realisation of hardware and software. Various avenues of development can be discerned:
Computer systems are increasingly becoming an integral part of the applications themselves. People then talk about “embedded systems”, in which the actual computer system remains hidden from the user. The functional core of every mobile phone, for example, is a computer system that processes the information “language” as well as all communication functions needed. Even the process of sending and receiving via the mobile phone’s high frequency component is carried out digitally (keyword: software defined radio).
There has been a fundamental change in hardware development methods. Nowadays, the development of an electronic circuit tends to be a programming task (using hardware description languages such as VHDL or Verilog) rather than an engineering process. The computer is thus an indispensable development tool. That opens up a large number of new possibilities.
New technologies are being developed to attempt to overcome the various disadvantages of the computer systems used to date. The conventional concept of “hardware first”, in which much of the computer system is rigidly specified and the various functions are realised using software, is being increasingly abandoned. Modern concepts allow for the future use of an extensively variable hardware platform that can be optimally adjusted to the requirement of individual applications (keyword: (re)configurable logic). In the future applications will therefore tend to be developed as a holistic system (hardware and software) so that high performance can be achieved with the smallest possible dimensions and the lowest possible energy consumption (keyword: hardware-software codesign, although this is still difficult to achieve). Hardware-software codesign already makes use programming languages such as SystemC. Hardware aspects are thus increasingly moving into the foreground of computer science.
In the future, many functions that are now realised on the basis of software will be increasingly realised through hardware. That will, for example, bring about a considerable improvement in the handling of parallel processes, which will be achievable as a result of the improved possibilities for developing high performance hardware components. Examples are the developments in “Java in silicon”. The objective of this development is to realise the virtual Java machine not as software but as hardware. Pure Java processors that use Java as the “machine language” already exist.
System-on-chip development is now playing an increasingly important role in hardware production.
Modern applications are realised as distributed – and even highly distributed – systems. Apart from having many advantages for the production of applications, such systems have communication as their distinguishing feature. That enables the implementation of a wide range of wired and wireless technologies. Ethernet technology is increasingly dominating the area of wired technologies. With regard to the communication protocols in use, an increasing trend right across the board towards TCP/IP-based communication. Various technologies are used to provide wireless communication, regardless of whether the communication takes place over short distances (e.g. with Bluetooth or Zigbee), over medium distances (e.g. WLAN) or over great distances (e.g UMTS).
The laboratory has a wide range of tools for conducting foundational experiments in the fields of digital technology and computer systems. To develop and test simple digital electronic circuits, each workstation is equipped with a “digital trainer”. In addition, each workstation has the Digital Workbench simulation software that can be used for computer-aided design and to test electronic circuits.
Students can train in computer systems by using test computers to practise developing computer systems and the basics of assembler programming. Although assembler programming has declined in importance, it is nonetheless needed to comprehend the basic ways in which computer systems operate and is still of practical significance, particularly in systems with 8-bit processors. Assembler programming can also be practised using a series of simulators available in the lab.
Modern aspects of computer development and programming are discussed in the advanced course on embedded systems. Students can gain practical experience by using a series of different 8-bit (based on a 8051 core), 16-bit (68HC12) and 32-bit (ARM7-Core) systems, which can be programmed using C/C++ or Java. These systems also allow Ethernet communication. A (minimal) TCP/IP protocol stack enables the realisation of various internet-working opportunities in the field of embedded systems. Bluetooth and WLAN test systems can be used for practical wireless communication exercises.
Students can take advantage of an FPGA development system to find out about the possibilities afforded by programmable logic.
The equipment also allows Bachelor’s/Master’s theses to be written on embedded systems.