Academia.eduAcademia.edu

Advances in FPGA tools and techniques

2005, Microprocessors and Microsystems

Microprocessors and Microsystems 29 (2005) 47–49 www.elsevier.com/locate/micpro Editorial Advances in FPGA tools and techniques This Special Issue on FPGA Tools and Techniques collects high-quality state-of-the-art papers to provide a more comprehensive perspective of the FPGA tools that, nowadays, are being developed by the research community, along with the new FPGA techniques that are arising. FPGAs (Field-Programmable Gate Arrays) have experienced a radical change throughout the last few years, being, at present, very popular devices in many different areas. As a result, chip programmability has now reached a high level of sophistication. This increasing sophistication in FPGA devices is quickly forcing a change in the techniques and tools landscape. On the one hand, high-end FPGAs are requiring high-quality tools that optimize the internal functionality of the FPGA, facilitate their programmability using higher-level languages, and also provide a greater visibility into how the device will work in the final system. Many research groups from around the world are working on this kind of tools. On the other hand, as the reconfigurable computing is becoming an increasingly important computing paradigm, more and more FPGA techniques are appearing. FPGA devices are making it possible for thousands of computer engineers to have access to digital design technology in an easier way, obtaining a better performance with a similar flexibility to software. In addition, ASIC engineers are now ‘reconfiguring’ themselves as FPGA engineers for economic reasons and adding to the growing legions of FPGA designers. In conclusion, these new FPGA techniques are being enriched by both points of view, hardware and software, blurring the traditional frontiers between both. It is impossible to cover all the technical issues about FPGAs in only one Special Issue. Due to this fact and the high popularity of our call for papers (with more than 65 high-quality submissions from many different countries), we have prepared a series with three Special Issues on FPGAs. The first one (‘Special Issue on FPGAs: Applications and Designs’, Microprocessors and Microsystems, vol. 28, nos. 5–6, August 2004) introduces some of the most important aspects about FPGAs and shows the current impact of these devices, which are already accelerating a vast range of applications. In fact, the papers in this first Special Issue prove that FPGAs are a good alternative for many real applications in image and signal processing, 0141-9331/$ - see front matter q 2004 Elsevier B.V. All rights reserved. doi:10.1016/j.micpro.2004.06.003 multimedia, robotics, telecommunications, cryptography, networking and computation in general. On the other hand, this second Special Issue is focused on FPGA tools and techniques. Therefore, this issue does not pay attention to the many applications of FPGAs to other fields, but to the existing utilities for the FPGA engineers. As we are going to see, many research groups are working on the development of new tools in order to make easier the programming, optimisation, debugging and evaluation of FPGA-based systems; while other groups are interested in the design of new techniques for fabricating FPGAs, improving the CLB (Configurable Logic Block) structure, testing components of FPGAs, etc. Finally, the third Special Issue, which will appear later this year, will be devoted to a deeper analysis of some case studies. More exactly, case studies in the area of computer vision and image processing, a very important area of application for FPGAs. In conclusion, for this current Special Issue we have selected six papers that cover a spectrum of significant FPGA tools and techniques. The topics covered in the papers are timely and important, and the authors have done an excellent job of presenting the material. We are sure this issue will be very useful for all the readers who are engaged in the many issues surrounding FPGAs. The title of our first paper is ‘Automatic Mapping of C Computations to FPGAs with the DEFACTO Compilation and Synthesis System’, by P. Diniz, M. Hall, J. Park, B. So, and H. Ziegler. This paper clearly shows the importance and need of high-quality tools that facilitate the FPGA programming by means of higher-level languages. To make programming of FPGA-based systems more accessible, the authors have developed the DEFACTO system. This system offers a high-level imperative programming paradigm, such as C, coupled with new parallelizing compiler technology oriented towards FPGA designs. In this way, FPGA designers retain the advantages of a simple computational model via a high-level language but rely on powerful compiler analyses to automate most of the tedious and error-prone tasks. Using DEFACTO, key computational components of the algorithm are executed in custom hardware designs on FPGAs, while the remaining computation and coordination with FPGAs are performed in software on an external host. The authors illustrate 48 M.A. Vega-Rodrı́guez et al. / Microprocessors and Microsystems 29 (2005) 47–49 the efficiency of their approach with the automatic mapping of a set of five image-processing and multimedia applications. With the growing number of available transistors in future FPGA devices and the increasing time-to-market pressures, the need to quickly generate a correct design with good performance will make high-level design tools such as DEFACTO extremely attractive. The second paper, ‘System-Level Performance Evaluation of Reconfigurable Processors’ by R. Enzler, C. Plessl, and M. Platzner, treats the development of high-quality tools for optimizing the internal functionality of the FPGAbased systems. More concretely, the authors present a framework for the cycle-accurate performance evaluation of hybrid reconfigurable processors on the system level. A hybrid reconfigurable processor is a platform that combines a field-programmable device (mainly, an FPGA) with a general-purpose CPU. These platforms have received increasing attention in the last years. However, the design of a hybrid reconfigurable processor involves a multitude of design decisions related to finding an optimal architecture of the reconfigurable unit (RU) and a suitable system integration of the CPU and the RU. And, therefore, determining the impact of these design decisions on the overall system performance is an important and challenging task. The authors show the effectiveness of their framework discussing, as an example, a hybrid processor for datastreaming applications that attaches a coarse-grained reconfigurable unit to the coprocessor interface of a CPU core. Furthermore, using FIR filters as a case study, the authors evaluate the system-level impact of certain design features for the reconfigurable unit, such as multiple contexts, register replication, and hardware context scheduling. In summary, we can state that a system-level evaluation framework is of paramount importance for studying the architectural trade-offs and optimizing design parameters for reconfigurable processors. Our third paper ‘Microprocessor and FPGA Interfaces for in-System co-Debugging in Field Programmable Hybrid Systems’ authored by M.A. Aguirre, J.N. Tombs, V. BaenaLecuyer, J.L. Mora, J.M. Carrasco, A. Torralba, and L.G. Franquelo, presents issues related to the design of tools that provide greater visibility into how the device will work in the final system. The authors explain how a hardware debugger can be made for a general-purpose hybrid system. These systems consist of a software part running on a microprocessor or DSP, and a hardware part represented by an FPGA. The co-debugging of the hybrid hardware– software system consists in the resolution of two key problems, the observability and the controllability, during execution time. As result, the authors describe their experience acquired with the platform UNSHADES-2, which has been designed with special-purpose hardware resources to support the debugging task. UNSHADES-2 is a powerful platform that can produce sufficient information about the execution system even without stopping the system. In this way, a system can be monitored while working a full system speed, thus allowing optimisations of certain design characteristics in real world situations. As conclusion, this paper shows that it is possible to make meaningful debugging measurements from a hybrid system. This can lead to a deeper understanding of the system being debugged, and opens the possibility to perform intensive post-failure studies of the system when an unexpected result is produced. Wire routing is a key problem in Electronic Design Automation (EDA) for VLSI integrated circuits. An FPGA technique to design an effective hardware accelerator for maze routing is addressed in the fourth paper, ‘L3: An FPGA-Based Multilayer Maze Routing Accelerator’ by J.A. Nestor. The algorithms followed for the maze routing are computationally expensive, and the use of an FPGA accelerator can speed up the routing process by taking advantage of potential parallelism in the algorithms, using an array of processing elements (PEs). Even when the connection distance is small, the proposed technique still provides significant acceleration over software since the algorithm in software requires multiple memory accesses, which can consume thousands of processor clock cycles. Additional features of this technique include support for rapid removal of obstacles and connections as required by routers that use a ‘rip up and reroute’ strategy, and support for preferential routing on a layer-by-layer basis. In conclusion, an interesting technique that can be efficiently implemented using an FPGA. The fifth paper (‘Pseudo Online Testing Methodologies for Various Components of Field Programmable Gate Arrays’ by L.K. Kumar, A.S. Ramani, A.J. Mupid, and V. Kamakoti) describes novel pseudo online Built-In Self-Test (BIST) based techniques for detecting and locating multiple faults in Look-Up Tables (LUTs), interconnections and dedicated clock lines of FPGAs. These techniques use the partial reconfiguration capabilities of modern FPGAs, and find extensive applications in safety critical systems like space probes, which comprise several subcircuits mapped onto the FPGA and employ online checkers to report misbehaviour of any of these subcircuits. When an online checker reports misbehaviour of one such subcircuit, the techniques proposed in this paper attempt to detect and locate the faults, if any, within the faulty subcircuit without shutting down the other subcircuits. In addition, the techniques presented by the authors preserve the routing structure of the configured application in-place. This is crucial for the non-faulty parts of the system to continue working while the faulty portion is being tested, so that either the system can be made fail-safe or made to continue working with a lesser performance. The last but not the least important paper in this Special Issue, ‘A 5-10 GHz SiGe BiCMOS FPGA with New Configurable Logic Block’ by C. You, J.-R. Guo, R.P. Kraft, M. Chu, P. Curran, K. Zhou, B. Goda, and J.F. McDonald, presents a new multiplexer-based FPGA, which can operate at a clock frequency of 5–10 GHz. M.A. Vega-Rodrı́guez et al. / Microprocessors and Microsystems 29 (2005) 47–49 Redundant switches on the original signal paths are removed improving the performance. The configurable logic block’s (CLB’s) power is greatly reduced by using a revised multiplexer structure and turning off unused cells dynamically. Furthermore, a new CLB structure is presented greatly increasing the routing capability, and including more inputs/outputs in each direction. In order to prove this approach, a chip consisting of four FPGA ring oscillators has been fabricated, and the Spice simulation results and chip measurements are presented. In conclusion, this paper brightens the future of multiplexer-based FPGAs by converting conventional CMOS multiplexers to BiCMOS multiplexers, and adding new structures and capabilities. We sincerely hope that you enjoy this Special Issue. We also have hope that the paper collection as a whole can pleasantly introduce the readers to the composite and challenging arena of FPGA tools and techniques, and can help in giving a fresh perspective of several state-of-the-art solutions in the field. We extend our sincere thanks to all the authors who submitted papers for this Special Issue and the many reviewers, whose dedicated efforts made this Special Issue possible. Miguel A. Vega-Rodrı́guez*, Juan M. Sánchez-Pérez, Juan A. Gómez-Pulido Departamento de Informática, Universidad de Extremadura Escuela Politécnica, Campus Universitario, s/n, 10071 Cáceres, Spain E-mail addresses: [email protected], [email protected], [email protected] Received 15 June 2004 Available online 21 July 2004 *Correspondingauthor.Tel.: C34-927-257-263; fax: C34-927-257-202. 49 Miguel A. Vega-Rodrı́guez is Professor of Computer Architecture in the Department of Computer Science, University of Extremadura, Spain. He received a PhD degree in Computer Science from the University of Extremadura. Dr Vega-Rodriguez’s main research interests are FPGAs in customcomputing applications, applications of reconfigurable hardware to image processing and cryptography, and cache memory systems on multiprocessors. Juan M. Sánchez-Pérez is Professor of Computer Architecture in the Department of Computer Science, University of Extremadura, Spain. He received a PhD degree in Physics from the University Complutense of Madrid in 1976. His research interests are applications of reconfigurable hardware, logic design and modern computer architectures. Juan A. Gómez-Pulido is Professor of Computer Architecture in the Department of Computer Science, University of Extremadura, Spain. He received a PhD degree in Computer Science from the University Complutense of Madrid in 1993. His main research interests are applications of reconfigurable hardware to different fields of signal processing.