Elhuyar Fundazioa
In general, software design can be considered simpler than hardware design. In 99% of cases, the best solution to a digital problem is the acquisition of a standard chip and the writing of a software that indicates the work to be done. However, some scientists have wanted to make the way backwards and, apparently, have achieved good results. With the success of this path would greatly reduce the time and amount of money used in chip design.
Traditional chips are made up of millions of Nimiño elements in the form of sinks and investors. Classifying and connecting all of them is a very specialized, intensive and long work. Therefore, several groups of researchers have wanted to improve and facilitate this work through software packages called hardware compilers. These packages return the list of components and connections needed to complete the chip that performs its functions, taking any application program. Then another software takes these lists known as Network Lists and converts them into concrete chip designs that can be recorded directly in silicon.
Without a doubt, all this opens a new path in chip design, since anyone who does not know how to design hardware can design a chip adapted to their needs. In addition, these network lists would increase the capacity of the new generation of programmable chips that would change internal connections at any time.
However, the advantages of these new chips are not limited to simple design. In general, the jobs that a normal PC can perform are very different: it goes from game to word processor through a design program. Software applications are commands written in a high-level language, which go through a soft compiler that makes these commands understood to the computer. Therefore, during application execution, your compiled code is taken and compared at all times with a general list containing the main PC processor. If the chip corresponding to each program is available, the processor would distribute the work and make these comparisons with smaller lists. This would mean a reduction in runtime and, consequently, an extraordinary acceleration of speed.
In addition to those mentioned above, this new design path has the additional advantage of being able to prepare hardware to process in parallel two parts of the work to be done. For example, the time needed to join a long list of numbers can be divided into two, dividing the list into two, adding each part in a circuit and adding both.
Undoubtedly, the best solution would be to have chips adapted to the needs of each user to save time and, it seems, is working on it. The main difficulty they have encountered so far has been to find a simple system to convert software into hardware, since it is very difficult to create proper connections between electronic components. Keep in mind that a reader, a normal program needs about 500,000 components to function properly.
The traditional designer uses computer-aided tools to locate and connect different components and tests results using simulation software. Hardware compilers, on the other hand, modify the usual chip manufacturing process, creating a list of components to connect from the software to obtain the hardware equivalent.
A simulation package used by current chip designers (VHDL) can be part of this work, but it generates time gaps (gap) that are difficult to solve. Large companies that hitherto used VHDL and associated software (such as Hewlett Packard) have been interested in hardware compilers. And the reason for this behavior is clear: compilers will greatly reduce chip production.
Researchers have tried to build compilers to be used. For example, a University of Toronto team has managed to build a hardware compiler called Transmogrifier that combines applications made in C programming language. It is predictable that millions of users in the world know the C language — and that its capacity is very high — is very advantageous.
Several researchers have already used this technique to develop custom chips, such as modem control. Another computer detects the image movement of the video camera and develops the chip that follows this movement. Speed is a determining factor for these obligations: the camera provides 25 images per second, so to present each image individually requires very fast data processing.
As we have explained, the advantages are many and varied, but hardware compilers also have some drawbacks. In general, chips made with this system are less effective than those made in manual processes. When you have to find a solution to a problem, man knows how to choose the most suitable way, but the machine does not. Compilers apply general principles and the solutions offered are not always the most suitable in all situations. However, this problem is soon to be resolved.
Of course, in our homes there has not yet arrived any mechanism of this type, but in a very short time we will not be so strange the new combination of hardware and software.