FPGA based embedded processor
|
|
- Lauren Booker
- 5 years ago
- Views:
Transcription
1 MOTIVATION FPGA based embedded processor With rising gate densities of FPGA devices, many FPGA vendors now offer a processor that either exists in silicon as a hard IP or can be incorporated within the programmable device as a soft IP. The purpose of having a processor co-exist with conventional digital logic components is to provide flexibility of combining software and hardware based control in one chip. Many algorithms that are difficult to code in HDL and have update time requirements in milliseconds can use the processor inside the FPGA. A whole suite of tools, consisting of compilers and assemblers help the designer code in C or C++. The motivation of this chapter is to introduce the use of FPGA embedded processors and to integrate custom digital logic with FPGA-based processors. Recent advances in semiconductor technology facilitate the integration of many million gates on a single chip and result in the integration of Systems on Chip (SoC).Typical examples of SoC applications can be found in the multimedia domain and in intelligent transport systems. In those applications, generally, large amounts of data must be processed in parallel. However, performing such processing by software running on a high-performance processor or only by hardware is not efficient except for a few specific cases.an optimal combination of hardware and software and an optimal system partitioning into hardware and software is most desirable. That is why one must learn what is Hardware Software Task Partitioning and how it is achieved. To perform the functions with the I/O system, the operating system must be able to communicate with I/O devices and to prevent user programs from accessing the I/O devices directly. That is why one must learn what is interfacing and how it is achieved between various I/O devices. The electronics industry has entered the era of multimillion gate chips,and there is no turning back. This technology promises new levels of integration on a single chip, called the System-on-a-Chip (SoC) design, but also presents significant challenges to the chip designer. Processing cores on a single chip, may number well into the high tens within the next decade, given the current rate of advancements.interconnection networks in such an environment are, therefore,
2 becoming more and more important. Currently, on-chip interconnection networks are mostly implemented using buses. For SoC applications, design reuse becomes easier if standard internal connection buses are used for interconnecting components of the design. Design teams developing modules intended for future reuse can design interfaces for the standard bus around their particular modules.that is why one must learn what is Design Re-use Using On-chip Bus Interface & Customized Micro controller and how it is done. Robots are complex electromechanical systems where several electric drives are used to control the movement of articulated structures. The design of axis control systems for robots can be greatly facilitated by the Electric Drives library in MATLAB, which can model complete axes including motor drives, speed reducers, mechanical model of the arm, and controllers in the same diagram. That is why one must learn how robot axis position control is achieved. PREREQUISITES A basic understanding of : What Hardware and Software mean. How memory and processors work along with the meaning of interfacing. On-chip bus interface is required. A robot axis is required. SUGGESTED TIME 12 hrs LEARNING OBJECTIVES In this module we will be learning about: FPGA Fabric Immersed Processors Soft and Hard Processors Tool Flow for Hardware Software Co-design Interfacing Processor with Peripherals Different types of On-chip Interfaces Design Re-use Using On-chip Bus Interface
3 Motor Drive as a Peripheral Creating a Customized Micro-controller Robot Axis Position Control. READING MATERIAL Hardware Software Task Partitioning Introduction Figure Task update rates The digital system designer identifies tasks and their update time requirements. What is shown in the figure is a robot controller task pyramid which is made up of tasks that need microsecond or millisecond update time. In the hypothetical robot control system, a processor is allocated the task of robot joint trajectory computation, which requires ms update time. The processor propelled by a timer interrupt, updates the trajectory profile every ms. The task of
4 motor current and power device PWM control is the function of hardware logic (designed using HDL) since it needs to update every 50 μs. FPGA Fabric Immersed Processors A new dimension has been added to the use of FPGA devices with the ability to support processor logic. It has given designers the leverage to partition their designs either for singlethreaded software flow or to use concurrent digital logic. A quick browsing of the internet reveals that several 8- and 32-bit proprietary processors are offered by prominent FPGA vendors alongside recognised processors. A reason for using the time tested, established processor is to reduce the learning curve of designers and build confidence in their use. Most major vendors of field programmable devices offer processors, for use with their respective devices. The table above shows a partial list of vendors and the processors they provide. Partial list of contemporary FPGA-based processors
5 Soft Processors Soft processors exist as synthesized netlists integrated into the FPGA using logic block resources of a certain FPGA. FPGA vendors provide soft processors which serve 8-bit and 32-bit applications. A small footprint of the 8-bit processor is placed on the FPGA device and it uses the FPGA embedded memory for program and data memory storage. In the figure below, we observe the block diagram of PicoBlaze, an 8-bit soft controller from Xilinx. The PicoBlazeTM controller which is made up of an 8-bit input and an 8-bit output port also supports interrupt. The embedded block RAM of the FPGA is used as a location for program and data memory for the PicoBlaze. The PicoBlazeTM assembler procures the program file and generates the coefficient (.coe) file, loaded in the embedded memory of the FPGA.
6 Two of the popular 32-bit proprietary soft processors are NIOS from Altera and MicroBlaze from Xilinx which figure among the 32-bit soft processors. A portion of the FPGA resources is utilised by these processors. The residual part of the FPGA can be used for assimilating other digital logic. Realising an 8-bit soft controller on a FPGA In the next diagram we display a MicroBlaze 32-bit soft processor, which is a reduced instruction set computer (RISC) based engine with a 32 * 32-bit LUT RAM-based register file with separate instructions for data and memory access. It gives support to both on-chip block RAM and external memory for program/data memory. All peripherals are executed on the FPGA fabric and interface to the MicroBlazeTM utilising the onchip peripheral bus (OPB) or processor local bus (PLB). The MicroBlaze processor choices include instantiation of additional hardware to implement IEEE 754 single precision floating point standards. Since this option is included, it can support floating point addition, subtraction, multiplication, division and comparison.
7 In the table it was indicated that the soft processors can be specially tailored by adding a barrel shifter or adjusting the size of the data and instruction cache. Additional processors can also be appended to offer a multi-processing option. Depending on the results of software profiling, certain resource intensive software algorithms can be shifted to the hardware fabric as coprocessors or as custom peripherals. MicroBlaze block diagram Hard Processors There are many standard processors and microcontrollers which are available as hard IP inside the FPGA. The AVR microcontroller offered by the Atmel family and the PowerPC processor as part of Xilinx Virtex FPGAs are a few that can be named. The design chain for programming and debugging the FPGAbased processor system is quite comparable to their previous model as standalone processors.
8 Tool Flow for Hardware Software Co-design When a system needs to be codesigned, hardware as well as software tasks need to be independently coded and tested. Figure below indicates the software flow which joins the source and the library files to come up with an executable file for the processor to use. The program and data code can be located either in the internal memory of the FPGA device or if the program code is sizeable, an external memory device is used. The program is stored within the memory of the FPGA device as shown in Fig The hardware design flow takes the electronic design interchange format (EDIF) files of the soft processor and combines them with the user written custom digital code and formulates a complete system netlist after synthesis. Interfacing Hardware software design flow
9 Interfacing Memory to the Processor The use of a processor needs a memory, where the instructions are stored. As analysed in the earlier module, many FPGAs provide on-chip embedded memory. The size of this memory is based on the density of the FPGA device which is being used. 360 kbits of memory are obtainable for the Xilinx 500 k gate FPGA. During the usage of this onboard memory, a local memory bus (LMB) controller is configured to read and write to/from this memory. The onboard memory satisfies the conditions for small codes that are meant for the PicoBlazeTM processor or assembly coded codes for the 32-bit processors. While using this bus, memory can be accessed much faster and can be handled by the memory controller. In the case of larger programs, the compiled code requires to be stored in an external memory chip. Show below is the linker script settings should be modified for either using an external double data rate synchronous dynamic random access memory (DDR SDRAM) or internal FPGA memory to store program code, stack or heap. Linker script settings for determining the type of memory to be used with a MicroBlaze soft processor Interfacing Processor with Peripherals
10 From the perspective of the digital design, the shared bus interface approach is like the peripherals that are interfaced to a processor using tracks on a PCB. Many backplane bus standards that provide basic interfacing capabilites for peripherals have developed over time. A signal has address, data and control bus are used by interconnect buses. Many proprietary interface bus standards are present, with comparable interfacing methodology. The physical backplane bus standards and system-on-chip buses used for interfacing processor and peripherals are indicated in the tables. The hardware-software synergy available by use of a FPGA-based processor carries weight only if customized coprocessors or peripherals are part of the design. Or else it is much more straight forward and economical to go for a microcontroller or digital signal processor implementation. There are several procedures for connecting user defined custom logic to a FPGA processor. One method of doing this is to use industry standard interconnect buses. The use of standard buses enhances the re-use of IP core since the bus interface logic gives the front-end connection to the IP core.
11 Processor connected to different peripherals on a PCB Now, let us look at the partial list of physical backplane bus standards: 1. IBM PC bus brought by IBM 2. Multibus brought by Intel 3. Multibus II brought by Intel 4. VME bus brought by Motorola 5. STD bus, IEEE 488 bus brought by HP 6. Q-bus brought by DE Corp 7. Unibus brought by DE Corp.
12 The System on Chip buses are given below: 1. AMBA, ARM 2. Wishbone, Silicore 3. OPB core connect bus, IBM 4. Fast serial link, Xilinx 5. Avalon bus, Altera. Types of On-chip Interfaces On-chip processor peripheral interface topology can be categorised into point-topoint, cross bar switch and shared bus interfaces. Point-to-Point The point-to-point interface made up of a link which is used exclusively between the communicating devices, for instance the fast simplex link (FSL). This point-topoint connection gives a unidirectional, non-arbitrated channel to perform fast communication between the MicroBlazeTM processor and custom hardware module. The MicroBlaze can be structured so as to support multiple FSL links to read and write data or control signals to a peripheral. Cross Bar Switch The cross bar switch comprises an interconnection fabric, configured depending on the connections between various sections of the design. This is normally done at the time of design synthesis. The transfer rate of a crossbar switch is much more than that of a shared bus mechanism. However the crossbar switch needs more interconnection logic and routing resources as compared to a shared bus system. Shared Bus Shared buses are akin to their older backplane bus counterparts. The shared bus interface describes an address for the slave or peripheral device. The address bus initiating from the microprocessor carries the address of the slave device to which the microprocessor wants to communicate. An address decoder in each slave device decides if that particular slave is being addressed. The microprocessor master device writes to or reads the bank of registers within the slave device.
13 Every one of these registers in the slave device has a unique address sent by the master device. A typical read and write to a particular register in the slave device is indicated in the timing diagrams of read and write cycles. The peripheral logic regularly updates the feedback/status registers and reads the configuration registers. When a peripheral requires immediate attention, it produces an interrupt for the microprocessor. When there is only one interrupt generating peripheral in the system, it is linked to the interrupt port of the microprocessor. But in case there are many peripherals that can probably interrupt the processor, then there is an interrupt controller peripheral that directs the interrupt signal to the microprocessor depending on the pre-assigned priorities of the interrupts. The shared bus comprises: a unidirectional Address Bus a bi-directional Data Bus control signals -write/read enable -acknowledge System control signals clock, reset. Wishbone Interface In the Wishbone there are three kinds of interconnections: the point-to-point, shared bus and the crossbar switch. The interface defines the connection between the processor (master) and the wishbone slave. The figure below pictures the interconnections which consist of address, data and handshaking signals. The handshaking mechanism is utilized to regulate the data transfer rate. The acknowledge [ACK_0] signal is compulsory, on the other hand error [ERR_o] and retry [RTY_o] are optional handshaking signals. The signals which are defined for the point-to-point connection are also used in the shared bus interface. The following operations: single read/write, block read/write, and read-modify-write are supported by Wishbone. All the signals between master and slave have to be
14 either inputs or outputs, but not bi-directional (using tri-state logic). Address and data bus widths can be altered to suit the application. 8, 16, 32 and 64 bits are the possible widths that are supported. Wishbone interface configured for a point-to-point connection Avalon Switch Matrix The Avalon switch fabric is an interconnect technology operated by Altera. It is produced using the system on a programmable chip (SOPC) builder tool of Altera. It provides up to a 128-bit address and data path. Various multiple masters are supported like built-in address decoding, peripheral transfer support, read and write transfers and fixed and variable length transfers. The FPGA switch fabric enables a faster configurable interconnect used to make memory mapped
15 connections between master and slave devices. The figure indicates a sample configuration of an Altera NIOS processor. Interconnection of Avalon Bus using interconnection fabric OPB Bus Interface The on-chip peripheral bus (OPB) maybe termed a shared bus architecture. It is part of the CoreConnect architecture developed by IBM which is used for integrating on-chip cores. Even though the specifications allow for a 32- or 64- bit wide address and data bus, the FPGA adaptation by Xilinx uses 32-bit as the word size. The OPB bus system utilizes master-slave architecture. The master which is generally a part of the microprocessor can introduce a transaction by specifying a slave address. The slave reacts to the requests from the master. Both the OPB as well as the MicroBlaze soft processor use big-endian form of data, where bit 0 is the most significant bit and bit 31 is the least significant. The signals interchanged between an OPB master and slaves are indicated in figure.
16 The OPB bus read cycle is made up of the OPB_RNW signal that becomes high along with the OPB_SELECT signal. The address from where the OPB master (the processor here) wishes to read from, is sent on the OPB_ABUS and after a latency of four cycles, the data from the peripheral are available on the OPB_DATA bus. The write cycle of the OPB operates in a fashion very much like the read cycle. Rather than the OPB_RNW becoming higher along with OPB_SELECT, the address and data bus contents are put on their respective buses. A transfer acknowledge signal from the slave shows the completion of the write cycle. OPB bus interface signals for master and slave devices Design Re-use Using On-chip Bus Interface Introduction
17 On many occasions, standard digital components are re-used for other applications. Creating a design that is suitable to an on-chip bus interface is one method of re-using a design. Different IP cores developed independently can be joined together and tested by standardizing the IP core interfaces. Several reusable digital designs22 that are obtainable from the public domain are compatible with on-chip interfaces. The list of peripherals referred to in table do not contain the motor controller and Quadrature encoder interface as microcontroller peripherals. Moreover these peripherals are not found in a FPGA vendor supplied peripheral library. When this occurs a custom peripheral for motor control is needed. List of peripherals needed for the robot controller Motor Drive as a Peripheral The robot motor drive logic can be crafted as a custom peripheral that interfaces with the system-on-chip bus. Such a peripheral can be duplicated or cloned multiple times on a single FPGA chip without disturbing the performance of each individual drive (thanks to the independent concurrent threads that a FPGA device can support!). In the following module we will study more on how to create HDL code for robot motor drive control.
18 Details for robot motor drive peripheral Design of Custom Peripheral A peripheral is an independent device that is used to off-load the processor from processes that need repeated attention. First the peripheral takes input from the processor and then interrupts the processor once a given task is completed. Frequently used on-chip microcontroller peripherals include timers, UART and interrupt controllers. The availability of high-density FPGA devices, which have built-in processors, has made incorporation of custom peripherals possible. A FPGA-based processor system is configurable to make a customized microcontroller. Extra user defined peripherals can be incorporated into the processor. The design of a custom peripheral is such that it needs a bus interfacing logic and the custom code of the user peripheral. Depending on the timing diagram of the read and write cycles of the particular bus protocol, a finite state machine is designed to interface a custom peripheral device.
19 A typical port map of the slave device consists of these signals: Bus to slave peripheral - Address bus - Data bus - Clock - Read/Write Slave peripheral to bus - Data bus - Transfer acknowledge - Time out suppression The finite state machine would have idle, selected, read/write, transfer acknowledge and then the idle state would be repeated. The peripheral interface logic consists of the shaded section shown below.
20 Interface logic for connecting a peripheral to a chip interconnect bus Creating a Customized Microcontroller The FPGA gives the flexibility of creating a customized application-oriented microcontroller. The programming flow of these processors is very much like that used for programming a microcontroller-based system. A high-level programming interface like C is used. The architecture for a microcontroller designed for motor control is shown below. This architecture reveals a 16-bit CPU, SPI, ADC and timer/counter interfaces. There is a proprietary internal bus inside the controller that connects the processor with different peripherals.
21
22 (a) Architecture of a microcontroller for control applications; (b) architecture of a FPGA-based system on chip customised for motor control application By using the field programmable device if a comparable architecture for multimotor control were to be produced, then the architecture would not change much. An FPGA based hard or soft CPU is selected, and various pre-designed peripherals that are available, are assembled to form a system around a given interconnect bus. If the program memory conditions are high, an external memory device is connected using a memory controller IP. The typical environment of a single-chip controller is made up of general purpose input output (GPIO) devices, a communications terminal such as the UART and memory. To achieve equivalency with the microcontroller environment, let us build a similar FPGA-based system. UART: In this example the standard input and output port (STDIN and STDOUT) are configured for RS232_DCE. This makes sure that the program outputs using the print command are exhibited on the serial port. An interrupt is generated when any valid character is in the receive FIFO and the interrupt stays. Timer: The timer provides an interrupt for real-time processing. SPI bus: Provides communication with off-chip ADC and DAC chips. Interrupt controller: For managing multi-source interrupts. The one peripheral not there in the IP library is the motor drive peripheral. A customized peripheral examined in the previous section needs to be created.
Hardware Design. University of Pannonia Dept. Of Electrical Engineering and Information Systems. MicroBlaze v.8.10 / v.8.20
University of Pannonia Dept. Of Electrical Engineering and Information Systems Hardware Design MicroBlaze v.8.10 / v.8.20 Instructor: Zsolt Vörösházi, PhD. This material exempt per Department of Commerce
More informationHardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved
Hardware Design MicroBlaze 7.1 This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List the MicroBlaze 7.1 Features List
More informationFPGA memory performance
FPGA memory performance Sensor to Image GmbH Lechtorstrasse 20 D 86956 Schongau Website: www.sensor-to-image.de Email: email@sensor-to-image.de Sensor to Image GmbH Company Founded 1989 and privately owned
More informationSoC Design Lecture 11: SoC Bus Architectures. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology
SoC Design Lecture 11: SoC Bus Architectures Shaahin Hessabi Department of Computer Engineering Sharif University of Technology On-Chip bus topologies Shared bus: Several masters and slaves connected to
More informationPractical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim
Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim Ray Duran Staff Design Specialist FAE, Altera Corporation 408-544-7937
More informationSystem-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 informationSoC Platforms and CPU Cores
SoC Platforms and CPU Cores COE838: Systems on Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
More informationMulti MicroBlaze System for Parallel Computing
Multi MicroBlaze System for Parallel Computing P.HUERTA, J.CASTILLO, J.I.MÁRTINEZ, V.LÓPEZ HW/SW Codesign Group Universidad Rey Juan Carlos 28933 Móstoles, Madrid SPAIN Abstract: - Embedded systems need
More informationEMBEDDED 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 informationMidterm Exam. Solutions
Midterm Exam Solutions Problem 1 List at least 3 advantages of implementing selected portions of a complex design in software Software vs. Hardware Trade-offs Improve Performance Improve Energy Efficiency
More informationApplying the Benefits of Network on a Chip Architecture to FPGA System Design
white paper Intel FPGA Applying the Benefits of on a Chip Architecture to FPGA System Design Authors Kent Orthner Senior Manager, Software and IP Intel Corporation Table of Contents Abstract...1 Introduction...1
More informationMicroprocessor Soft-Cores: An Evaluation of Design Methods and Concepts on FPGAs
Microprocessor Soft-Cores: An Evaluation of Design Methods and Concepts on FPGAs Pieter Anemaet (1159100), Thijs van As (1143840) {P.A.M.Anemaet, T.vanAs}@student.tudelft.nl Computer Architecture (Special
More informationMidterm Exam. Solutions
Midterm Exam Solutions Problem 1 List at least 3 advantages of implementing selected portions of a design in hardware, and at least 3 advantages of implementing the remaining portions of the design in
More informationChapter 2 The AMBA SOC Platform
Chapter 2 The AMBA SOC Platform SoCs contain numerous IPs that provide varying functionalities. The interconnection of IPs is non-trivial because different SoCs may contain the same set of IPs but have
More informationEmbedded Systems. "System On Programmable Chip" NIOS II Avalon Bus. René Beuchat. Laboratoire d'architecture des Processeurs.
Embedded Systems "System On Programmable Chip" NIOS II Avalon Bus René Beuchat Laboratoire d'architecture des Processeurs rene.beuchat@epfl.ch 3 Embedded system on Altera FPGA Goal : To understand the
More informationThe CoreConnect Bus Architecture
The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached
More informationCopyright 2014 Xilinx
IP Integrator and Embedded System Design Flow Zynq Vivado 2014.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able
More informationECE332, 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 informationECE332, 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 information2. System Interconnect Fabric for Memory-Mapped Interfaces
2. System Interconnect Fabric for Memory-Mapped Interfaces QII54003-8.1.0 Introduction The system interconnect fabric for memory-mapped interfaces is a high-bandwidth interconnect structure for connecting
More informationPS2 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 informationIntroduction to the Qsys System Integration Tool
Introduction to the Qsys System Integration Tool Course Description This course will teach you how to quickly build designs for Altera FPGAs using Altera s Qsys system-level integration tool. You will
More informationFull Linux on FPGA. Sven Gregori
Full Linux on FPGA Sven Gregori Enclustra GmbH FPGA Design Center Founded in 2004 7 engineers Located in the Technopark of Zurich FPGA-Vendor independent Covering all topics
More informationThe 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 informationIntroduction to Embedded System Design using Zynq
Introduction to Embedded System Design using Zynq Zynq Vivado 2015.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able
More informationDesigning with ALTERA SoC Hardware
Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory
More informationDigital 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 informationQsys and IP Core Integration
Qsys and IP Core Integration Stephen A. Edwards (after David Lariviere) Columbia University Spring 2016 IP Cores Altera s IP Core Integration Tools Connecting IP Cores IP Cores Cyclone V SoC: A Mix of
More informationDesign of Embedded Hardware and Firmware
Design of Embedded Hardware and Firmware Introduction on "System On Programmable Chip" NIOS II Avalon Bus - DMA Andres Upegui Laboratoire de Systèmes Numériques hepia/hes-so Geneva, Switzerland Embedded
More informationECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University
ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil Khatri TA: Monther Abusultan (Lab exercises created by A. Targhetta / P. Gratz)
More informationDigital Blocks Semiconductor IP
Digital Blocks Semiconductor IP General Description The Digital Blocks LCD Controller IP Core interfaces a video image in frame buffer memory via the AMBA 3.0 / 4.0 AXI Protocol Interconnect to a 4K and
More informationSECURE PARTIAL RECONFIGURATION OF FPGAs. Amir S. Zeineddini Kris Gaj
SECURE PARTIAL RECONFIGURATION OF FPGAs Amir S. Zeineddini Kris Gaj Outline FPGAs Security Our scheme Implementation approach Experimental results Conclusions FPGAs SECURITY SRAM FPGA Security Designer/Vendor
More informationSoC Interconnect Bus Structures
SoC Interconnect Bus Structures COE838: Systems on Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University
More informationDesigning Embedded Processors in FPGAs
Designing Embedded Processors in FPGAs 2002 Agenda Industrial Control Systems Concept Implementation Summary & Conclusions Industrial Control Systems Typically Low Volume Many Variations Required High
More informationDesigning Embedded AXI Based Direct Memory Access System
Designing Embedded AXI Based Direct Memory Access System Mazin Rejab Khalil 1, Rafal Taha Mahmood 2 1 Assistant Professor, Computer Engineering, Technical College, Mosul, Iraq 2 MA Student Research Stage,
More informationGraduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow
Advanced VLSI SOPC design flow Advisor: Speaker: ACCESS IC LAB What s SOC? IP classification IP reusable & benefit Outline SOPC solution on FPGA SOPC design flow pp. 2 What s SOC? Definition of SOC Advantage
More informationChapter 5 Embedded Soft Core Processors
Embedded Soft Core Processors Coarse Grained Architecture. The programmable gate array (PGA) has provided the opportunity for the design and implementation of a soft core processor in embedded design.
More informationDigital Blocks Semiconductor IP
Digital Blocks Semiconductor IP -UHD General Description The Digital Blocks -UHD LCD Controller IP Core interfaces a video image in frame buffer memory via the AMBA 3.0 / 4.0 AXI Protocol Interconnect
More informationELCT 912: Advanced Embedded Systems
ELCT 912: Advanced Embedded Systems Lecture 2-3: Embedded System Hardware Dr. Mohamed Abd El Ghany, Department of Electronics and Electrical Engineering Embedded System Hardware Used for processing of
More informationECE 448 Lecture 15. Overview of Embedded SoC Systems
ECE 448 Lecture 15 Overview of Embedded SoC Systems ECE 448 FPGA and ASIC Design with VHDL George Mason University Required Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 8, Overview of Embedded
More informationIntellectual Property Macrocell for. SpaceWire Interface. Compliant with AMBA-APB Bus
Intellectual Property Macrocell for SpaceWire Interface Compliant with AMBA-APB Bus L. Fanucci, A. Renieri, P. Terreni Tel. +39 050 2217 668, Fax. +39 050 2217522 Email: luca.fanucci@iet.unipi.it - 1 -
More informationThe S6000 Family of Processors
The S6000 Family of Processors Today s Design Challenges The advent of software configurable processors In recent years, the widespread adoption of digital technologies has revolutionized the way in which
More informationLecture 1. Course Overview and The 8051 Architecture
Lecture 1 Course Overview and The 8051 Architecture MCUniversity Program Lectures 8051 architecture t System overview of C8051F020 8051 instruction set System clock, crossbar and GPIO Assembler directives
More informationAN OPEN-SOURCE VHDL IP LIBRARY WITH PLUG&PLAY CONFIGURATION
AN OPEN-SOURCE VHDL IP LIBRARY WITH PLUG&PLAY CONFIGURATION Jiri Gaisler Gaisler Research, Första Långgatan 19, 413 27 Göteborg, Sweden Abstract: Key words: An open-source IP library based on the AMBA-2.0
More informationDesign and Implementation of SoPC with Multi-Bus on a Chip *
Design and Implementation of SoPC with Multi-Bus on a Chip * Fangjun Jian 1 2, Jizhong Han 1, Chengde Han 1, Qin Zhang 1 2 Xuhui Liu 1 2 1 Institute of Computing Technology, Chinese Academy of Sciences,
More informationESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)
ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More information9. PIO Core. Core Overview. Functional Description
9. PIO Core NII51007-9.0.0 Core Overview The parallel input/output (PIO) core with Avalon interface provides a memory-mapped interface between an Avalon Memory-Mapped (Avalon-MM) slave port and general-purpose
More informationThe Growing Designer Productivity Gap
RAM Interface 1981 1985 1989 1993 1997 2001 2005 2009 2013 2017 2021 CprE 488 Embedded Systems Design Lecture 2 Embedded Platforms The Growing Designer Productivity Gap Embedded systems today are characterized
More informationCprE 488 Embedded Systems Design. Lecture 2 Embedded Platforms
CprE 488 Embedded Systems Design Lecture 2 Embedded Platforms Joseph Zambreno Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~zambreno rcl.ece.iastate.edu Don t reinvent
More informationDesign and Implementation of A Reconfigurable Arbiter
Proceedings of the 7th WSEAS International Conference on Signal, Speech and Image Processing, Beijing, China, September 15-17, 2007 100 Design and Implementation of A Reconfigurable Arbiter YU-JUNG HUANG,
More informationDigital 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 informationA 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 informationDesign of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture
Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture Pravin S. Shete 1, Dr. Shruti Oza 2 1 Research Fellow, Electronics Department, BVDU College of Engineering, Pune, India. 2 Department
More informationLaboratory Exercise 5
Laboratory Exercise 5 Bus Communication The purpose of this exercise is to learn how to communicate using a bus. In the designs generated by using Altera s SOPC Builder, the Nios II processor connects
More informationXilinx Platform Studio tutorial
Xilinx Platform Studio tutorial Per.Anderson@cs.lth.se April 12, 2005 This tutorial intend to show you how to create an initial system configuration. From Xilinx Platform Studio(XPS) version 6.1 this has
More informationBus AMBA. Advanced Microcontroller Bus Architecture (AMBA)
Bus AMBA Advanced Microcontroller Bus Architecture (AMBA) Rene.beuchat@epfl.ch Rene.beuchat@hesge.ch Réf: AMBA Specification (Rev 2.0) www.arm.com ARM IHI 0011A 1 What to see AMBA system architecture Derivatives
More informationEmbedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi. Lecture - 10 System on Chip (SOC)
Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 10 System on Chip (SOC) In the last class, we had discussed digital signal processors.
More informationCHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP
133 CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP 6.1 INTRODUCTION As the era of a billion transistors on a one chip approaches, a lot of Processing Elements (PEs) could be located
More informationLaboratory 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 informationFPGA 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 informationBuses. Maurizio Palesi. Maurizio Palesi 1
Buses Maurizio Palesi Maurizio Palesi 1 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single shared channel Microcontroller Microcontroller
More informationL2: 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 informationNIOS 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 informationCopyright 2016 Xilinx
Zynq Architecture Zynq Vivado 2015.4 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Identify the basic building
More informationFPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)
FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC) D.Udhayasheela, pg student [Communication system],dept.ofece,,as-salam engineering and technology, N.MageshwariAssistant Professor
More information«Real Time Embedded systems» Multi Masters Systems
«Real Time Embedded systems» Multi Masters Systems rene.beuchat@epfl.ch LAP/ISIM/IC/EPFL Chargé de cours rene.beuchat@hesge.ch LSN/hepia Prof. HES 1 Multi Master on Chip On a System On Chip, Master can
More informationNIOS 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 informationDESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE
DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology
More informationBuilding an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial
Building an Embedded Processor System on Xilinx NEXYS3 FPGA and Profiling an Application: A Tutorial Introduction: Modern FPGA s are equipped with a lot of resources that allow them to hold large digital
More informationEmbedded Systems. 7. System Components
Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic
More informationFive Ways to Build Flexibility into Industrial Applications with FPGAs
GM/M/A\ANNETTE\2015\06\wp-01154- flexible-industrial.docx Five Ways to Build Flexibility into Industrial Applications with FPGAs by Jason Chiang and Stefano Zammattio, Altera Corporation WP-01154-2.0 White
More informationEmbedded 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 informationECE 551 System on Chip Design
ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs
More informationDesign 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 informationEFFICIENT AUTOMATED SYNTHESIS, PROGRAMING, AND IMPLEMENTATION OF MULTI-PROCESSOR PLATFORMS ON FPGA CHIPS. Hristo Nikolov Todor Stefanov Ed Deprettere
EFFICIENT AUTOMATED SYNTHESIS, PROGRAMING, AND IMPLEMENTATION OF MULTI-PROCESSOR PLATFORMS ON FPGA CHIPS Hristo Nikolov Todor Stefanov Ed Deprettere Leiden Embedded Research Center Leiden Institute of
More informationZynq Architecture, PS (ARM) and PL
, PS (ARM) and PL Joint ICTP-IAEA School on Hybrid Reconfigurable Devices for Scientific Instrumentation Trieste, 1-5 June 2015 Fernando Rincón Fernando.rincon@uclm.es 1 Contents Zynq All Programmable
More informationDesign Development and Implementation of SPI
MIT International Journal of Electronics and Communication Engineering, Vol. 4, No. 2, August 2014, pp. 65 69 65 Design Development and Implementation of SPI A. Sirisha Kurnool (DT), A.P, INDIA M. Sravanthi
More informationChapter 2 Logic Gates and Introduction to Computer Architecture
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
More informationContents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation
Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4
More informationSEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010
SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single
More informationELC4438: Embedded System Design Embedded Processor
ELC4438: Embedded System Design Embedded Processor Liang Dong Electrical and Computer Engineering Baylor University 1. Processor Architecture General PC Von Neumann Architecture a.k.a. Princeton Architecture
More informationDesign and Verification Point-to-Point Architecture of WISHBONE Bus for System-on-Chip
International Journal of Emerging Engineering Research and Technology Volume 2, Issue 2, May 2014, PP 155-159 Design and Verification Point-to-Point Architecture of WISHBONE Bus for System-on-Chip Chandrala
More informationUniversität Dortmund. ARM Architecture
ARM Architecture The RISC Philosophy Original RISC design (e.g. MIPS) aims for high performance through o reduced number of instruction classes o large general-purpose register set o load-store architecture
More informationLecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT
1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug
More informationChapter 10 Objectives
Chapter 10 Topics in Embedded Systems Chapter 10 Objectives Understand the ways in which embedded systems differ from general purpose systems. Be able to describe the processes and practices of embedded
More informationHigh Speed Data Transfer Using FPGA
High Speed Data Transfer Using FPGA Anjali S S, Rejani Krishna P, Aparna Devi P S M.Tech Student, VLSI & Embedded Systems, Department of Electronics, Govt. Model Engineering College, Thrikkakkara anjaliss.mec@gmail.com
More informationEE4380 Microprocessor Design Project
EE4380 Microprocessor Design Project Fall 2002 Class 1 Pari vallal Kannan Center for Integrated Circuits and Systems University of Texas at Dallas Introduction What is a Microcontroller? Microcontroller
More informationEmbedded Systems: Hardware Components (part II) Todor Stefanov
Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded
More informationThe University of Reduced Instruction Set Computer (MARC)
The University of Reduced Instruction Set Computer (MARC) Abstract We present our design of a VHDL-based, RISC processor instantiated on an FPGA for use in undergraduate electrical engineering courses
More informationFPGA Embedded Processors
FPGA Embedded Processors Revealing True System Performance Bryan H. Fletcher Technical Program Manager Memec San Diego, California www.memec.com bryan_fletcher@mei.memec.com Embedded Training Program Embedded
More informationECE 471 Embedded Systems Lecture 2
ECE 471 Embedded Systems Lecture 2 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 7 September 2018 Announcements Reminder: The class notes are posted to the website. HW#1 will
More informationTest and Verification Solutions. ARM Based SOC Design and Verification
Test and Verification Solutions ARM Based SOC Design and Verification 7 July 2008 1 7 July 2008 14 March 2 Agenda System Verification Challenges ARM SoC DV Methodology ARM SoC Test bench Construction Conclusion
More informationEmbedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!
Embedded Busses Large semiconductor ( IBM ) CoreConnect STBUS (STMicroelectronics) Core vendors (. Ltd AMBA (ARM Interconnect IP vendors ( Palmchip ) CoreFrame ( Silicore ) WishBone ( Sonics ) SiliconBackPlane
More informationfootprint Ways to reduce RISC-V soft processor 万瑞罡 (Ruigang Wan) Chengdu University GitHub account: rgwan
Ways to reduce RISC-V soft processor footprint 万瑞罡 (Ruigang Wan) Chengdu University E-mail: h@iloli.bid GitHub account: rgwan RISC-V Shanghai Day June 30th 2018 Why RISC-V? The RISC-V architecture provided
More informationMultimedia Decoder Using the Nios II Processor
Multimedia Decoder Using the Nios II Processor Third Prize Multimedia Decoder Using the Nios II Processor Institution: Participants: Instructor: Indian Institute of Science Mythri Alle, Naresh K. V., Svatantra
More informationEMBEDDED SYSTEMS READY TO USE LECTURE MATERIALS FOR UNDERGRADUATES
EMBEDDED SYSTEMS READY TO USE LECTURE MATERIALS FOR UNDERGRADUATES INTRODUCTION 12 WEEK COURSE OUTLINE (1/2) 1.) Introduction What are embedded systems Characteristics Sample Market Segments The IoT Era
More informationDESIGN OF A PROGRAMMABLE CONTROL SYSTEM
DESIGN OF A PROGRAMMABLE CONTROL SYSTEM Andrei COZMA, Dan PITICA Applied Electronics Department, Technical University of Cluj Napoca, Romania E-mail: andrei.cozma@ael.utcluj.ro, dan.pitica@ael.utcluj.ro
More informationV8-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 informationEmbedded Systems. Software Development & Education Center. (Design & Development with Various µc)
Software Development & Education Center Embedded Systems (Design & Development with Various µc) Module 1: Embedded C Programming INTRODUCTION TO EMBEDDED SYSTEM History & need of Embedded System Basic
More information