New development within the FPGA area with focus on soft processors

Size: px
Start display at page:

Download "New development within the FPGA area with focus on soft processors"

Transcription

1 New development within the FPGA area with focus on soft processors Jonathan Blom The University of Mälardalen Langenbergsgatan 6 d SE Västerås jbm05005@student.mdh.se Peter Nilsson The University of Mälardalen Brahegatan 4 b SE Västerås pnn05001@student.mdh.se ABSTRACT This paper will compare field programmable gate array (FPGA) with other systems like PC and microprocessor, and look at the advantaged and disadvantages. It will also talk about the different applications of FPGA. Another central topic is a new area in FPGA and that is to create a processor in the FPGA chip to make a system on a chip (SoC). This means a complete system within one chip that can be programmed with a high level programming language like C. Our paper ends with summarizing some new experimental research on FPGAs and soft processor development. Keywords FPGA, Soft CPU, Altera, Nios II. 1. INTRODUCTION Not long ago we could only develop software system on a PC or develop hardware system on a chip. Today the boundary between software and hardware is getting more and more diffuse. On a hardware system, like FPGA, we can synthesis a soft processor and combine it with system specific hardware. A soft processor means that we create a processor within the FPGA chip. We can then program this processor with complex design in high level language like C and combine that with the fast speed of hardware components. This report starts by writing background information about FPGA and the advantages and disadvantages it has towards other systems. We then move over the explain concepts like hardware and software solution and technical terms such as system on a chip (SoC). Embedded system and soft processors are then explained. And finally we write about the applications for FPGA and areas where FPGA is developing today. 2. BACKGROUND 2.1 FPGA compared to other technologies Microprocessors Microprocessors can be used to solve a wide range of tasks. This is due to its property of execute an arbitrary code that follows a specified template, known as software. The price for this flexibility is that the code is executed sequentially, demanding high clock frequencies in order to perform complex, computational heavy tasks within specified time. A higher clock frequency comes with higher price and consumes more power ASIC Application Specified Integrated Circuits (ASIC) is an alternative to the microprocessor; this circuit is designed to solve a specific task. This has no programmable processor instead in does a specific task very fast. This is due to that the task can be divided into smaller tasks that can be run in parallel. This will dramatically decrease the execution time compared to the microprocessor even if the ASIC is working in a lower clock frequency. The drawback with ASIC is the way they are manufactured. First a design is created in a hardware description language (HDL). This description file is then sent to an ASIC manufacturer. The process of manufacturing the circuit from the description file can take several weeks or even months. Due to the complex manufacturing methods small production volumes results in an unacceptable price per unit. If a bug is discovered in the ready circuits, a new circuit has to be produced and the old circuits have to be obsolete. This will cause a severe delay for the end product to be introduced on the market FPGA In the 1980s Ross Freeman came up with a new business concept, to make the market of ASIC more flexible; manufacture a blank computer chip that the costumer can program to solve a specific task, without involving the manufacturer Ross Freeman and Bernard Vonderschmitt founded Xilinx and released their first field programmable gate array (FPGA) in November 1985 [2]. The FPGA allows the costumer to use an ASIC like component for low volume products, to a reasonable cost, with short time to market. 2.2 Technical description An FPGA consist of configurable logic blocks (CLBs) and an matrix of wires to connect the CLBs to each other and to inputs/outputs. A CLB can in turn be programmed to imitate a variety of logical function, from simple AND, OR, NAND to more complex arithmetic functions, depending on the specific construction. Most CLBs consist of a lookup table; which is a small memory cell with one output and n inputs, the inputs decide which memory bit that is read out on the output. The size of the memory cell is 2 n 1 bit; these bits can be programmed to make the lookup table implement any n bit logical function [3]. As an alternative to the lookup table a mux together with additional logic can be used instead. Besides the lookup table or mux most CLBs also contain one or more flip flops and some supporting logic. It s not uncommon that the CLBs in an FPGA are different from each other, e.g. only 50% of the CLBs contain the flip flop

2 that for example enables sequential functions, and thus is seldom needed in all CLBs. Between the CLBs there is a matrix of wires that are used to connect one CLB to another and make connections to input/outputs. When not programmed none of the CLBs are connected to the wires. The desired connections are enabled by static random access memory (SRAM) connected to a switch, this combination makes a programmable switch. These features together then allow the user to program simple or complex logical functions in the CLBs and then connect them, via the programmable switches, to create even more complex functions. Table 1 show that software is not run much in parallel while hardware solution is in very high degree parallel. What this means in that as long parallelism is possible hardware is much faster. The implementation of the software in solved in machine code in the system s memory while hardware system is created with gates, flip-flops and memories. The software platform requires a processor in the system that executes the software. It also requires a bus and memory for the system to communicate with the different part of the system. The hardware solution is on a FPGA for example, which is built up of flip-flops and gates. As we will show later in this report it is today possible to combine the best from both software and hardware on the same chip. 3.1 Moving parts from software to hardware In a FPGA system it is easy to move functionality between hardware and software depending on the requirement for cost and performance [6]. In this area, called co-design, there is intensive research and development. Develop new hardware today can be compared to writing new software in machine code. It s gets to hard when it gets complex. It is much easier to develop in a high level language like C when the complexity gets higher. But today we can develop the application in C and then automatically get parts of it converted to be synthesized in hardware for increased performance. This is a new area and is developed quickly today. Function converted into hardware takes up more logical elements in the FPGA, because of this many functions that don t require much performance should be kept in software running on the soft CPU. Software can handle complex function in matters of microseconds while hardware can handle less complex function with much higher performance. Figure 1. [3]. FPGA structure. 3. HARDWARE VERSUS SOFTWARE Software has traditionally been seen as flexible while hardware is more static [1]. Earlier scientist and engineers have seen hardware and software as distinct entities and that they do not have much in common during their design process. But today this is no longer true. Today there is much tighter connection between hardware and software. Today we can write a program in software, then translate it into a hardware description language and synthesize it to target architecture on for example a FPGA. Table 1. Compare between software and hardware Software Hardware Parallel Little Massive parallel Implementation Machine code in a memory Gates, flip flops, memory Platform CPU, bus and memory Gates and flip flops (e.g. FPGA) 4. SYSTEM ON A CHIP If you combine everything you need for an electronic system into one chip it is referred to as a system on a chip (SoC)[1]. Such system can for example be a cell phone or digital camera. So instead of combining one CPU with external peripherals you combine it all into one chip. All these SoC:s are optimized for it purpose and they include only the peripheral that is needed for that specific system. A system design to handle sound might include an audio receiver, analogue-to-digital converter, microprocessor, memory and the input and output logic for the user, all this on the same chip. The input and output logic can be connected to for example a keyboard and a display. These small chips can be and have the processing power and memory size as a 10-year old desktop computer. With an FPGA it is easy to develop a SoC because you can create all the needed hardware directly in your FPGA chip. This system is called a SOPC, system on a programmable chip. 5. EMBEDDED COMPUTER SYSTEM On an embedded computer system you have an application running on a platform [1]. The platform is the system s hardware and operating system. Smaller systems might not need an operating system. The application can be seen as the software that controls what the hardware is suppose to do. 5.1 Embedded FPGA systems On the FPGA you can today easily synthesis exactly which parts you need for your system. For example if your system needs a lot of memory you can access external memory, for example SRAM

3 memory, by synthesis a SRAM controller on your FPGA chip. This SRAM controller is then connected to the external memory pins using a standard interface. If we need to connect the system to a network we can synthesis a TCP/IP controller and so on. Inside the FPGA a CPU and a system specific bus will be synthesised. This enables all the different peripherals, like the memory controller, to communicate with each other. This way you can design your own system in a matter of minutes where just a few years ago you might needed years. 5.2 Development of a FPGA systems Today the development software for FPGA is much easier to use, it is drag and drop. You select which components you need in your FPGA system and then it will synthesis the chip. If for example we need to connect a monitor, we add a VGA controller. This can be solved through several ways; the following are the three mayor ones Reuse component The first way is reuse a controller you have used before. So if you already have a developed VGA controller you can easily reuse it in this new system. And because you used it before you can be sure that it is working and how to use it Buy component Today a new way to add components has seen the day light. And that is to buy finished component from other companies or developers. We are not talking about buying a physical chip instead we just buy the hardware description code for synthesis this component in our FPGA system. The hardware description code can be sent through or downloaded from the developer s homepage. This is a simple and fast way to get hold of new hardware for our FPGA system. And once again, because this component has been used before it is well tested and documented. One important aspect of development is to get the product out fast on the market, before another company have released a similar product. And today it is easy to buy knowledge from other companies by buying component instead of develop them within the company. This could even be cheaper than hiring a consultant for the development Develop component yourself The third way is to develop the component yourself. This can be done by writing the component in a hardware description language like VHDL. Today it has become much easier to connect this new component to the rest of the system. Today the development software can automatically build a wrapper around this new component so it can be connected to a standard bus. A wrapper is a way to create a standard interface from different components. With this standard interface all the different components can be connected to the bus and all integrated inside our FPGA chip. 6. SOFT PROCESSOR A soft processor is a processor implemented in the FPGA[6]. They are synthesised in the FPGA just like other hardware would be in FPGA. This soft processor won t take up the entire FPGA chip so there is still place for other hardware. So we can easily combine our software program with our specific hardware. This way we can get the best from both worlds, the easiness of programming a standard CPU with the speed of pure hardware. 6.1 Normal CPU solution Today it is simple to develop new software for a computer system with a standard CPU. Code can be written, reused and altered, it can be copied from different systems as long there is a compiler that can produce the binary code for that specific hardware. The programming languages can easily be learned by developers. 6.2 Hardware solution As we just mention writing code for a CPU is often easy. To write VHDL for FPGA gets quick complex when the systems gets bigger. Even with new development tools it can be hard to write a whole system. The main advantage with a FPGA is the speed. FPGA can be many times faster than any CPU that exists today. 6.3 Combine hardware and soft processor The latest today is that we build a soft processor in the FPGA and run software written in C on that processor. This software does not run as fast as pure hardware solution but about the same speed as a normal CPU. The main advantage here is that it is much easier to develop C code than solve it entirely in hardware. So why not only use a hardware CPU? First of all we can optimize our soft CPU for our task. Another big advance is that we can combine this soft CPU with component build with VHDL, these components is of course very fast for they are entirely in hardware. This way we can combine them both. 6.4 Development methods A good way to develop a new system is to first write it completely in software and observe if our idea works. This way the development time is shortened. If our design works we now observe if the performance is sufficient. If the systems performance is not good enough we must optimize the system. The optimization is done by taking part from software and converts them into a hardware solution. The two main advantages with this are that is gets much faster and if the CPU crashes the hardware will still be running. For some soft CPU there is even a function in the development tools that automatically change software solution into hardware. The company Altera has for their Nios II soft CPU developed a C-to-Hardware Acceleration Compiler [10]. This software compile C code directly to hardware without the user have to write a line of VHDL. 6.5 The Altera Nios II family One of the soft processor on the market is made by Altera. Their soft processor is called Nios II. It has a general-purpose RISC processor core with full 32-bit instruction set, data path and address space [9]. Altera have three different models in the Nios II family. They are Nios II/f, Nios II/s and Nios II/e Nios II/f The most complete model is the Nios II/f, fast, model. This model has all the functionality that the Nios II family has to offer. It is designed for fast performance. This core has the most configuration option allowing fine tuning the processor for performance.

4 6.5.2 Nios II/s The middle version is the standard version, Nios II/s. It is design for smaller size but without losing its performance. On-chip logic and memory resources are conserved at the price of lower performance. The performance is about 40% less than the fast edition but the core size is also about 20 % smaller. This is optimized for cost-sensitive medium performance application. This model has instruction cache but no memory cache Nios II/e Last, but not least, the economic version Nios II/e. It is slower than the two other models and has a bit fewer features; many of the settings are not available in the economic version. It was designed to attain the smallest possible core size. It reduces resource utilization while still uphold capability with Nios II instruction set. Hardware resources are reduced at the cost of performance. This model has neither instruction cache nor data cache. You might think this version is just a cheap and simpler version of its bigger brothers. But it has its advantages and that is the core size. Every soft CPU core use a lot of logical elements (LEs) and the FPGA only has a maximum amount of elements so often it can be necessary to use a more simple soft CPU to be able to put more function in the hardware. The Nios II/e version is about half the size of the more advanced models and the performance is even less. The fast and standard version on Nios II use somewhere around 1200 to 1800 LE, while the economic version use around LE. This can be a mayor factor when deciding what model to use. All models can access up to 2 gigabytes of external memory. The fast and standard edition can use pipe-lines. 7. APPLICATIONS OF FPGA When it is critical that the product hit the market quickly, using FPGA instead of regular ASIC circuits can be preferred. This is due to the production time for ASIC circuits are long. Also when an ASIC is the optimal solution it can be better to use FPGA if the volumes are low, this to reduce the cost per unit. If an ASIC is the final goal, the FPGA can be used for prototyping and debugging to verify the HDL code before manufacturing. This is to prevent bugs in the final product that will surface when the FPGA is tested. If a task demands heavy computations a FPGA can be of great use, such a task is manipulation of video signals. The Swedish company Lyyn has manufactured a video enhancement product. Their product manipulates video taken in unfavorable conditions, such as fog or snowstorm, in real time to make clear images. This is a computational heavy task which they have implemented on a FPGA [4]. The choice of FPGA ahead of ASIC for implementation will also help them protecting the central algorithm in the product against black market copies. Due to the property that a FPGA, if correctly encrypted, is immune to the methods used to copy ASIC circuits, for example x-ray. Other areas for FPGAs are audio manipulation, sorting and searching algorithms, random number generation among many others. A new developing area for FPGA today is soft processors, a micro processor integrated as a component in a FPGA. This processor can be then modified to fit a specified application. Unnecessary parts can be excluded and new parts integrated, the basic architecture can be modified. Simulation tools can be used to locate recurring parts of software code that can be implemented in hardware to speedup execution time. Researchers in this area are developing soft processors that autonomously perform this procedure during execution [6]. There are more information about this area and soft processors in later sections. Another interesting area is using smaller and cheaper FPGAs to replace more expensive microcontrollers, and larger FPGA, in tasks that are not deeply parallel. The system is constructed with two small FPGAs, a memory, and a sequencer that shifts execution between the two FPGAs and reprograms the non executing FPGA with the next code sequence to be executed [7]. 8. DEVELOPING AREAS AND RESEARCH 8.1 Customization of FPGA soft processors In [5] the authors explore the ability to optimize a soft processor for a specific application; this is done by tuning several parameters in the processor. The tool used to create these costume soft processors is SPREE, this tool allows the user to specify the processor in a high level text based description and then generates it in Verilog a HDL. The performance of the generated soft processor is then tested in a simulation tool, and other parameters such as power consumption and clock speed are generated by a CAD tool. The processor parameters considered are, logical shifter, multiplication support, pipelining depth, pipelining organization and forwarding. Processors with various combinations are then created, and tested by executing different benchmark programs, this way they try to create a processor that is optimal for the current benchmark. The best processors for the different benchmarks are then compared to the commercially available Nios II soft processors that also have been tuned for the specified application. The SPREE generated processor is in general, all different benchmarks in the test compared, 14.1% better measured in performance per unit area. Next they optimize the processors instruction set architecture (ISA), the SPREE tool is used to map which instructions the different benchmarks use and the unused and there associated logic are removed. This optimization alone generates on average 16.2% better performance per area, combined with the previous optimization the gain is 8,6% performance per area. Worth noting is some benchmarks achieve there best result, performance per area, with only one off the two optimization methods in use, the total improvement using both techniques is on average 24.5%.

5 giving significant speedup on application with compact code kernels. The average speedup of the warped microblazer compared to the original macroblazer is 360%, and the average energy saving is 49%. A selection of hard microprocessors with higher clock frequencies are also compared to the low frequency soft processor microblazer, and with the warping technique it can, for some applications, be used as an alternative to these. 8.3 Hardware context switching Executing large algorithms on low-capacity FPGAs using flow path portioning and runtime reconfiguration in this [7] paper the authors develop a method to compile java code algorithms to VHDL flow paths. This flow path can then be executed on a FPGA, if the FPGA is large enough. To be able to execute a large algorithm on a smaller FPGA a partitioning algorithm is developed that partitions the flow path in atomic units. A atomic unit being the smallest part of the code needed to execute, in hardware, during one clock cycle. The size of the largest atomic unit will then limit the size of the smallest FPGA that can be used to execute the flow path of the algorithm. When the flow path have been partitioned into smaller peaces the execution can be preformed by a smaller FPGA, to execute the entire flow path all one needs to do is save the computed data and reconfigure the FPGA with the subsequent atomic unit(s) and continue the execution. To keep the execution continuous as possible they use a system consisting of two FPGAs that share the workload, when one is executing and the other is programmed with a new atomic unit(s). The process is controlled by a sequencer that reprograms the non executing FPGA and also gives the executing FPGA access to the memory. The two FPGAs are connected to each other to be able to transfer variables, used within the flow path, when execution is handed over to the other FPGA. Figure 2. [5]. Performance-per-area of tuning, subsetting, and their combination. 8.2 Dynamic converting of software to hardware A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning One of a FPGAs strong abilities today when replacing a hard core processor with a soft processor, is the possibility to convert repetitive parts of code to hardware. Today this is done by the compilation tool before the bit stream is downloaded in the FPGA, the authors in this [6] paper explore the ability to perform this warping on chip during execution. The method developed uses a microblaze soft processor, when the execution starts a component called profiler monitors the addresses accessed on the instruction data bus, whenever a backward branch occurs this is registered on a memory. This information is then used to evaluate which part of the code that can be successfully transformed to hardware. This section of machine code is then compiled into hardware code that is mapped, placed and routed to create a bit stream that can be downloaded to the FPGAs warp configurable logic architecture (WCLA). The software code is then updated to move the execution of the warped code into hardware. The speedup this technique archives is highly application dependent Figure 3. [7]. A system for executing flow paths generated by large programs using two low-capacity FPGAs, a sequencer, data RAM, and a ROM for bit files. The setback encountered is the time it takes, for FPGAs available today, to be reconfigured, this produces a delay. The executing FPGA has completed the execution and the non executing FPGA is still being reconfigured. The authors have made calculations on how this system could perform if the FPGA used in the experiment could be reconfigured in 32 bit at a clock speed of 100 MHz. The time it would take for the system to execute the example program would then be 2.58 seconds compared to 1

6 seconds for the far more complex and expensive j-stamp microcontroller, the actual execution time was seconds. 9. CONCLUSION We can see a strong development in the area of soft processor. We see that FPGA systems have a strong future ahead and can well take over from others systems. FPGA is becoming more and more flexible and dynamic and can be used to solve much more complex function now without making the development to complex. The combination of soft CPU and pure hardware can lead to the development of advanced and fast new systems. For example within hardware context switching if they can reduce the overhead. 10. REFERENCES [1] Lennart Lindh, Tommy Klevin, 2008, HW/SW Embedded System Design with FPGA Technology, AGSTU AB [2] Grant, Tina, International directory of company histories. Vol. 16, St. James, cop., , [3] Brown, S.; Rose, J., "FPGA and CPLD architectures: a tutorial," Design & Test of Computers, IEEE, vol.13, no.2, pp.42-57, Summer 1996 [4] Accessed [5] Yiannacouras, P.; Steffan, J. G.; Rose, J., "Exploration and Customization of FPGA-Based Soft Processors," Computer- Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol.26, no.2, pp , Feb [6] Lysecky, R.; Vahid, F., "A study of the speedups and competitiveness of FPGA soft processor cores using dynamic hardware/software partitioning," Design, Automation and Test in Europe, Proceedings, vol., no., pp Vol. 1, 7-11 March 2005 [7] Hanna, D. M. and DuChene, M Executing large algorithms on low-capacity FPGAs using flowpath partitioning and runtime reconfiguration. Microprocess. Microsyst. 31, 5 (Aug. 2007), pp [8] Reasoning about naming systems. ACM Trans. Program. Lang. Syst. 15, 5 (Nov. 1993), pp [9] Altera, Nios II Processor Reference Handbook, Rev [10] Altera, Automated Generation of Hardware Accelerators With Direct Memory Access From ANSI/ISO Standard C Functions, 2006

A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning

A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning A Study of the Speedups and Competitiveness of FPGA Soft Processor Cores using Dynamic Hardware/Software Partitioning By: Roman Lysecky and Frank Vahid Presented By: Anton Kiriwas Disclaimer This specific

More information

FPGA How do they work?

FPGA How do they work? ent FPGA How do they work? ETI135, Advanced Digital IC Design What is a FPGA? Manufacturers Distributed RAM History FPGA vs ASIC FPGA and Microprocessors Alternatives to FPGAs Anders Skoog, Stefan Granlund

More information

Digital Integrated Circuits

Digital Integrated Circuits Digital Integrated Circuits Lecture 9 Jaeyong Chung Robust Systems Laboratory Incheon National University DIGITAL DESIGN FLOW Chung EPC6055 2 FPGA vs. ASIC FPGA (A programmable Logic Device) Faster time-to-market

More information

Digital Systems Design. System on a Programmable Chip

Digital Systems Design. System on a Programmable Chip Digital Systems Design Introduction to System on a Programmable Chip Dr. D. J. Jackson Lecture 11-1 System on a Programmable Chip Generally involves utilization of a large FPGA Large number of logic elements

More information

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3. September 5, 2007 ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios

More information

ECE332, Week 2, Lecture 3

ECE332, Week 2, Lecture 3 ECE332, Week 2, Lecture 3 September 5, 2007 1 Topics Introduction to embedded system Design metrics Definitions of general-purpose, single-purpose, and application-specific processors Introduction to Nios

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011 FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level

More information

INTRODUCTION TO FPGA ARCHITECTURE

INTRODUCTION TO FPGA ARCHITECTURE 3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)

More information

Chapter 1 Overview of Digital Systems Design

Chapter 1 Overview of Digital Systems Design Chapter 1 Overview of Digital Systems Design SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 8, 2017 Why Digital Design? Many times, microcontrollers

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES Pong P. Chu Cleveland State University A JOHN WILEY & SONS, INC., PUBLICATION PREFACE An SoC (system on a chip) integrates a processor, memory

More information

FPGA: What? Why? Marco D. Santambrogio

FPGA: What? Why? Marco D. Santambrogio FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much

More information

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication

Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Laboratory Exercise 3 Comparative Analysis of Hardware and Emulation Forms of Signed 32-Bit Multiplication Introduction All processors offer some form of instructions to add, subtract, and manipulate data.

More information

CMPE 415 Programmable Logic Devices Introduction

CMPE 415 Programmable Logic Devices Introduction Department of Computer Science and Electrical Engineering CMPE 415 Programmable Logic Devices Introduction Prof. Ryan Robucci What are FPGAs? Field programmable Gate Array Typically re programmable as

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information

FPGAs in a Nutshell - Introduction to Embedded Systems-

FPGAs in a Nutshell - Introduction to Embedded Systems- FPGAs in a Nutshell - Introduction to Embedded Systems- Dipl.- Ing. Falk Salewski Lehrstuhl Informatik RWTH Aachen salewski@informatik.rwth-aachen.de Winter term 6/7 Contents History FPGA architecture

More information

FPGA for Software Engineers

FPGA for Software Engineers FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course

More information

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:

More information

Building A Custom System-On-A-Chip

Building A Custom System-On-A-Chip Building A Custom System-On-A-Chip Only a few years ago, we could only dream about building our very own custom microprocessor system on a chip. The manufacturing cost for producing a custom chip is just

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated

More information

PINE TRAINING ACADEMY

PINE TRAINING ACADEMY PINE TRAINING ACADEMY Course Module A d d r e s s D - 5 5 7, G o v i n d p u r a m, G h a z i a b a d, U. P., 2 0 1 0 1 3, I n d i a Digital Logic System Design using Gates/Verilog or VHDL and Implementation

More information

Abstract. 1 Introduction. Reconfigurable Logic and Hardware Software Codesign. Class EEC282 Author Marty Nicholes Date 12/06/2003

Abstract. 1 Introduction. Reconfigurable Logic and Hardware Software Codesign. Class EEC282 Author Marty Nicholes Date 12/06/2003 Title Reconfigurable Logic and Hardware Software Codesign Class EEC282 Author Marty Nicholes Date 12/06/2003 Abstract. This is a review paper covering various aspects of reconfigurable logic. The focus

More information

PREFACE. Changes to the SOPC Edition

PREFACE. Changes to the SOPC Edition PREFACE Changes to the SOPC Edition Rapid Prototyping of Digital Systems provides an exciting and challenging laboratory component for undergraduate digital logic and computer design courses using FPGAs

More information

Embedded Computing Platform. Architecture and Instruction Set

Embedded Computing Platform. Architecture and Instruction Set Embedded Computing Platform Microprocessor: Architecture and Instruction Set Ingo Sander ingo@kth.se Microprocessor A central part of the embedded platform A platform is the basic hardware and software

More information

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM

Overview. Memory Classification Read-Only Memory (ROM) Random Access Memory (RAM) Functional Behavior of RAM. Implementing Static RAM Memories Overview Memory Classification Read-Only Memory (ROM) Types of ROM PROM, EPROM, E 2 PROM Flash ROMs (Compact Flash, Secure Digital, Memory Stick) Random Access Memory (RAM) Types of RAM Static

More information

Introduction to Field Programmable Gate Arrays

Introduction to Field Programmable Gate Arrays Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT Outline Historical introduction.

More information

Field Programmable Gate Array

Field Programmable Gate Array Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

An Introduction to Programmable Logic

An Introduction to Programmable Logic Outline An Introduction to Programmable Logic 3 November 24 Transistors Logic Gates CPLD Architectures FPGA Architectures Device Considerations Soft Core Processors Design Example Quiz Semiconductors Semiconductor

More information

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Embedded Systems Design Prof. Anupam Basu Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 05 Optimization Issues Now I see, that is not been seen there;

More information

Using FPGAs in Supercomputing Reconfigurable Supercomputing

Using FPGAs in Supercomputing Reconfigurable Supercomputing Using FPGAs in Supercomputing Reconfigurable Supercomputing Why FPGAs? FPGAs are 10 100x faster than a modern Itanium or Opteron Performance gap is likely to grow further in the future Several major vendors

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,

More information

FPGA Based Digital Design Using Verilog HDL

FPGA Based Digital Design Using Verilog HDL FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology

More information

Cover TBD. intel Quartus prime Design software

Cover TBD. intel Quartus prime Design software Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a

More information

The Xilinx XC6200 chip, the software tools and the board development tools

The Xilinx XC6200 chip, the software tools and the board development tools The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions

More information

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier

CHAPTER 3 METHODOLOGY. 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier CHAPTER 3 METHODOLOGY 3.1 Analysis of the Conventional High Speed 8-bits x 8-bits Wallace Tree Multiplier The design analysis starts with the analysis of the elementary algorithm for multiplication by

More information

EN2911X: Reconfigurable Computing Lecture 01: Introduction

EN2911X: Reconfigurable Computing Lecture 01: Introduction EN2911X: Reconfigurable Computing Lecture 01: Introduction Prof. Sherief Reda Division of Engineering, Brown University Fall 2009 Methods for executing computations Hardware (Application Specific Integrated

More information

RTL Coding General Concepts

RTL Coding General Concepts RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

Design Space Exploration Using Parameterized Cores

Design Space Exploration Using Parameterized Cores RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE

More information

Programmable Logic Devices

Programmable Logic Devices Programmable Logic Devices INTRODUCTION A programmable logic device or PLD is an electronic component used to build reconfigurable digital circuits. Unlike a logic gate, which has a fixed function, a PLD

More information

Teaching Computer Architecture with FPGA Soft Processors

Teaching Computer Architecture with FPGA Soft Processors Teaching Computer Architecture with FPGA Soft Processors Dr. Andrew Strelzoff 1 Abstract Computer Architecture has traditionally been taught to Computer Science students using simulation. Students develop

More information

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design ECE 1160/2160 Embedded Systems Design Midterm Review Wei Gao ECE 1160/2160 Embedded Systems Design 1 Midterm Exam When: next Monday (10/16) 4:30-5:45pm Where: Benedum G26 15% of your final grade What about:

More information

Embedded Systems: Hardware Components (part I) Todor Stefanov

Embedded Systems: Hardware Components (part I) Todor Stefanov Embedded Systems: Hardware Components (part I) Todor Stefanov Leiden Embedded Research Center Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded System

More information

Spiral 2-8. Cell Layout

Spiral 2-8. Cell Layout 2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric

More information

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor K.Rani Rudramma 1, B.Murali Krihna 2 1 Assosiate Professor,Dept of E.C.E, Lakireddy Bali Reddy Engineering College, Mylavaram

More information

PDF created with pdffactory Pro trial version How Computer Memory Works by Jeff Tyson. Introduction to How Computer Memory Works

PDF created with pdffactory Pro trial version   How Computer Memory Works by Jeff Tyson. Introduction to How Computer Memory Works Main > Computer > Hardware How Computer Memory Works by Jeff Tyson Introduction to How Computer Memory Works When you think about it, it's amazing how many different types of electronic memory you encounter

More information

Cover TBD. intel Quartus prime Design software

Cover TBD. intel Quartus prime Design software Cover TBD intel Quartus prime Design software Fastest Path to Your Design The Intel Quartus Prime software is revolutionary in performance and productivity for FPGA, CPLD, and SoC designs, providing a

More information

Architecture and Partitioning - Architecture

Architecture and Partitioning - Architecture Architecture and Partitioning - Architecture Architecture Management, Marketing and Senior Project Engineers work together to define product requirements. The product requirements will set cost, size and

More information

The QR code here provides a shortcut to go to the course webpage.

The QR code here provides a shortcut to go to the course webpage. Welcome to this MSc Lab Experiment. All my teaching materials for this Lab-based module are also available on the webpage: www.ee.ic.ac.uk/pcheung/teaching/msc_experiment/ The QR code here provides a shortcut

More information

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction Welcome to the course on Hardware

More information

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs V8-uRISC 8-bit RISC Microprocessor February 8, 1998 Product Specification VAutomation, Inc. 20 Trafalgar Square Nashua, NH 03063 Phone: +1 603-882-2282 Fax: +1 603-882-1587 E-mail: sales@vautomation.com

More information

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko

VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko 136 VHDL-MODELING OF A GAS LASER S GAS DISCHARGE CIRCUIT Nataliya Golian, Vera Golian, Olga Kalynychenko Abstract: Usage of modeling for construction of laser installations today is actual in connection

More information

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Picture of memory. Word FFFFFFFD FFFFFFFE FFFFFFFF

Picture of memory. Word FFFFFFFD FFFFFFFE FFFFFFFF Memory Sequential circuits all depend upon the presence of memory A flip-flop can store one bit of information A register can store a single word, typically 32-64 bits Memory allows us to store even larger

More information

CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure

CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure CS/EE 3710 Computer Architecture Lab Checkpoint #2 Datapath Infrastructure Overview In order to complete the datapath for your insert-name-here machine, the register file and ALU that you designed in checkpoint

More information

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Hardware/Software Partitioning for SoCs. EECE Advanced Topics in VLSI Design Spring 2009 Brad Quinton Hardware/Software Partitioning for SoCs EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton Goals of this Lecture Automatic hardware/software partitioning is big topic... In this lecture,

More information

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2

DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 04 November 2009 Introduction This tutorial details how to set up and instantiate a Nios II system on Terasic Technologies, Inc. s DE2 Altera

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017 Lecture Objectives Introduction to Computing Chapter The AVR microcontroller and embedded systems using assembly and c Students should be able to: Convert between base and. Explain the difference between

More information

Functional Programming in Hardware Design

Functional Programming in Hardware Design Functional Programming in Hardware Design Tomasz Wegrzanowski Saarland University Tomasz.Wegrzanowski@gmail.com 1 Introduction According to the Moore s law, hardware complexity grows exponentially, doubling

More information

QUARTUS II Altera Corporation

QUARTUS II Altera Corporation QUARTUS II Quartus II Design Flow Design Entry Timing Constraints Synthesis Placement and Routing Timing, Area, Power Optimization Timing and Power Analyzer Optimized Design 2 Can I still use a Processor?

More information

DE2 Board & Quartus II Software

DE2 Board & Quartus II Software January 23, 2015 Contact and Office Hours Teaching Assistant (TA) Sergio Contreras Office Office Hours Email SEB 3259 Tuesday & Thursday 12:30-2:00 PM Wednesday 1:30-3:30 PM contre47@nevada.unlv.edu Syllabus

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

Field Program mable Gate Arrays

Field Program mable Gate Arrays Field Program mable Gate Arrays M andakini Patil E H E P g r o u p D H E P T I F R SERC school NISER, Bhubaneshwar Nov 7-27 2017 Outline Digital electronics Short history of programmable logic devices

More information

Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL

Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL Multi Cycle Implementation Scheme for 8 bit Microprocessor by VHDL Sharmin Abdullah, Nusrat Sharmin, Nafisha Alam Department of Electrical & Electronic Engineering Ahsanullah University of Science & Technology

More information

High Level Abstractions for Implementation of Software Radios

High Level Abstractions for Implementation of Software Radios High Level Abstractions for Implementation of Software Radios J. B. Evans, Ed Komp, S. G. Mathen, and G. Minden Information and Telecommunication Technology Center University of Kansas, Lawrence, KS 66044-7541

More information

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 Implementation in Sequential Logic 2 PAL Logic Implementation Design Example: BCD to Gray Code Converter A B

More information

Design of Digital Circuits

Design of Digital Circuits Design of Digital Circuits Lecture 3: Introduction to the Labs and FPGAs Prof. Onur Mutlu (Lecture by Hasan Hassan) ETH Zurich Spring 2018 1 March 2018 1 Lab Sessions Where? HG E 19, HG E 26.1, HG E 26.3,

More information

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) 1 4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013) Lab #1: ITB Room 157, Thurs. and Fridays, 2:30-5:20, EOW Demos to TA: Thurs, Fri, Sept.

More information

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA

University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand

More information

CS310 Embedded Computer Systems. Maeng

CS310 Embedded Computer Systems. Maeng 1 INTRODUCTION (PART II) Maeng Three key embedded system technologies 2 Technology A manner of accomplishing a task, especially using technical processes, methods, or knowledge Three key technologies for

More information

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single

More information

Design Methodologies and Tools. Full-Custom Design

Design Methodologies and Tools. Full-Custom Design Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)

More information

DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS

DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS DESIGN OF A SOFT-CORE PROCESSOR BASED ON OPENCORES WITH ENHANCED PROCESSING FOR EMBEDDED APPLICATIONS TEJASWI AGARWAL & MAHESWARI R. School of Computing Sciences and Engineering, VIT University, Vandalur-Kelambakkam

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

The SOCks Design Platform. Johannes Grad

The SOCks Design Platform. Johannes Grad The SOCks Design Platform Johannes Grad System-on-Chip (SoC) Design Combines all elements of a computer onto a single chip Microprocessor Memory Address- and Databus Periphery Application specific logic

More information

FPGA Technology and Industry Experience

FPGA Technology and Industry Experience FPGA Technology and Industry Experience Guest Lecture at HSLU, Horw (Lucerne) May 24 2012 Oliver Brndler, FPGA Design Center, Enclustra GmbH Silvio Ziegler, FPGA Design Center, Enclustra GmbH Content Enclustra

More information

Design Methodologies. Full-Custom Design

Design Methodologies. Full-Custom Design Design Methodologies Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores) Design

More information

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA L2: FPGA HARDWARE 18-545: ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA 18-545: FALL 2014 2 Admin stuff Project Proposals happen on Monday Be prepared to give an in-class presentation Lab 1 is

More information

Parallelizing FPGA Technology Mapping using GPUs. Doris Chen Deshanand Singh Aug 31 st, 2010

Parallelizing FPGA Technology Mapping using GPUs. Doris Chen Deshanand Singh Aug 31 st, 2010 Parallelizing FPGA Technology Mapping using GPUs Doris Chen Deshanand Singh Aug 31 st, 2010 Motivation: Compile Time In last 12 years: 110x increase in FPGA Logic, 23x increase in CPU speed, 4.8x gap Question:

More information

Introduction to reconfigurable systems

Introduction to reconfigurable systems Introduction to reconfigurable systems Reconfigurable system (RS)= any system whose sub-system configurations can be changed or modified after fabrication Reconfigurable computing (RC) is commonly used

More information

A Configurable Multi-Ported Register File Architecture for Soft Processor Cores

A Configurable Multi-Ported Register File Architecture for Soft Processor Cores A Configurable Multi-Ported Register File Architecture for Soft Processor Cores Mazen A. R. Saghir and Rawan Naous Department of Electrical and Computer Engineering American University of Beirut P.O. Box

More information

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual

University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual Lab 1: Using NIOS II processor for code execution on FPGA Objectives: 1. Understand the typical design flow in

More information

Chapter 2 Getting Hands on Altera Quartus II Software

Chapter 2 Getting Hands on Altera Quartus II Software Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building

More information

Computer Systems Organization

Computer Systems Organization The IAS (von Neumann) Machine Computer Systems Organization Input Output Equipment Stored Program concept Main memory storing programs and data ALU operating on binary data Control unit interpreting instructions

More information

Choosing an Intellectual Property Core

Choosing an Intellectual Property Core Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.

More information

System-on Solution from Altera and Xilinx

System-on Solution from Altera and Xilinx System-on on-a-programmable-chip Solution from Altera and Xilinx Xun Yang VLSI CAD Lab, Computer Science Department, UCLA FPGAs with Embedded Microprocessors Combination of embedded processors and programmable

More information

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing ECEN 449 Microprocessor System Design FPGAs and Reconfigurable Computing Some of the notes for this course were developed using the course notes for ECE 412 from the University of Illinois, Urbana-Champaign

More information

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems)

System Design and Methodology/ Embedded Systems Design (Modeling and Design of Embedded Systems) Design&Methodologies Fö 1&2-1 Design&Methodologies Fö 1&2-2 Course Information Design and Methodology/ Embedded s Design (Modeling and Design of Embedded s) TDTS07/TDDI08 Web page: http://www.ida.liu.se/~tdts07

More information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

Chapter 10: Design Options of Digital Systems

Chapter 10: Design Options of Digital Systems Chapter 10: Design Options of Digital Systems Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog

More information

Workspace for '4-FPGA' Page 1 (row 1, column 1)

Workspace for '4-FPGA' Page 1 (row 1, column 1) Workspace for '4-FPGA' Page 1 (row 1, column 1) Workspace for '4-FPGA' Page 2 (row 2, column 1) Workspace for '4-FPGA' Page 3 (row 3, column 1) ECEN 449 Microprocessor System Design FPGAs and Reconfigurable

More information

ECE4530 Fall 2011: Codesign Challenge Bit-Matrix Multiplication on a DE2-115 FPGA Board

ECE4530 Fall 2011: Codesign Challenge Bit-Matrix Multiplication on a DE2-115 FPGA Board ECE4530 Fall 2011: Codesign Challenge Bit-Matrix Multiplication on a DE2-115 FPGA Board Assignment posted on 10 November 8AM Solutions due on 29 November 8AM The Codesign Challenge is the final assignment

More information