Design and Application of a Reconfigurable Embedded system

Size: px
Start display at page:

Download "Design and Application of a Reconfigurable Embedded system"

Transcription

1 Eighth International Conference on Intelligent Systems Design and Applications Design and Application of a Reconfigurable Embedded system Ching-Biau Tzeng, Tzuu-Shaang Wey*, Li-Dao Fang Department of Electronic Engineering Kun Shan University, Tainan, Taiwan, Republic of China *Corresponding author : tswey@mail.ksu.edu.tw Abstract In recent years, the Embedded System has become a common goal sought by the academic world such as computer science, electronics, electrical engineering etc or product developers. As we enter into the post-pc era, advances in electronics, information technology, and mobile computing provide the basis for the development of embedded systems and related products. This paper documents all relevant knowledge and procedures related to the modeling of a system structure, from the selection of main hardware control components ARM and FPGA, the construction of a workable hardware system, programming of drivers, implementation of a real-time operating system and the running of applications, to the final hardware and software testing of the entire system. The structuring of a system is not the most complicated, but the most fundamental. Our aim is to provide references for researchers studying in this particular field. 1. Introduction The design of electronic systems essentially includes control components such as CPU and FPGA; the CPU is mainly used in the design for flow control. Due to the rapid advances in the production of semiconductors, high-density circuits are able to be packed into the same space within the FPGA components. The application of FPGA may be extended to communications, videos, system integration, parallel processing etc, or even embedded with a software/hardware CPU. For larger setups, there is greater flexibility in the design of electronic systems since CPU and FPGA may be incorporated into the system with the integration of CPU's flow control and FPGA's parallel processing connected through memory bus. The combination of CPU and FPGA not only improves system flexibility, but also provides expansion options with the upgrade of CPU or FPGA according to our desired functionality. Currently this is one of the many options large systems integrate [1]. Once we had a design for the hardware, we needed an operating system to manage the entire system resources and execute the complex functions the system is designed to perform. If the application demanded immediate response to a certain degree, we need to develop the system using RTOS - Real Time Operation System to meet the requirement of immediacy [2]. Fundamentally, software developers are usually more familiar with the development of operating systems and algorithms, while hardware engineers have extensive knowledge on hardware systems; software and hardware engineers also differ in logical thinking during product development, and problems arise when they try to determine why the system can not perform. If we are able to establish levels of authority within a well-designed software/hardware model, these conflicts may be effectively minimized. In this paper we attempted to build an embedded system incorporating the most basic and workable hardware environment, upon which we can test and develop applications [3]. The definition of an embedded system is commonly available in books and the Internet. Simply put, an embedded system is comprised of embedded hardware and software. Hardware that is specifically built to perform certain tasks within a piece of hardware is called embedded hardware; software that is specifically designed to perform certain tasks on top of the embedded hardware is called embedded software. Operating systems that operate within an embedded system are called embedded operating systems. The main contributions of this paper is to illustrate the integrated design and realization of hardware and software from the perspective of system modeling, the hardware design of an ARM+FPGA structure that can be used for co-verification and operation, and the practical application of a CAN BUS monitor operating under RTOS. 2. Hardware Design of a Reconfigurable System Our system is based on the ARM+FPGA structure. There are three main ways to physically /08 $ IEEE DOI /ISDA

2 connect the ARM CPU and FPGA [1][4]. Based on the comparison listed in Table 1, it was decided that for our general applications, we would incorporate existing SOC and FPGA components into our design. Taking into consideration the costs, complexity, and applicability involved, we decided to use ARM SOC + FPGA as the main components of our hardware system. This combination is capable of achieving the basic operating environment for hardware/software verification. The hardware system design is illustrated in figure 1 and is divided into ARM and FPGA hardware. The design of FPGA hardware also includes the program configuration of FPGA hardware. Table 1: Strengths and weaknesses of the various ARM and FPGA connection methods ARM SOC + FPGA SOPC (ARM core + ARM Core + FPGA FPGA) Cost Low Average High Bus Memory bus AMBA AMBA Level of basic knowledg e required ARM type Applicatio n Area of expertise Low Average High Physical SOC General system application General system Software-bas ed core Flexible configuration of CPU accessories, integrated custom IP General system/sopc design Physical core excluding peripheral interface SOC verification IC design The CPU we selected is an ARM produced by NXP, model LPC2214 ARM7TDMI (-S). It has a built-in FLASH based ROM of 256Kbytes. External ROM was not required to perform our basic tasks, which thus simplified our circuitry design. Modern digital logic design has evolved from traditional TTL and CMOS IC to the level of digital system design including CPLD and FPGA. There are several FPGA manufacturers on the market, but based on the user-friendliness of EDA software, availability and costs, we chose the CYCLONE series manufactured by ALTERA, the FPGA [5] model EP1C6Q240C8 and ROM EPCS1 for part of the FPGA circuitry design of our system. Our main concerns for selecting the FPGA were its capacity and number of pins. This FPGA has a capacity of 5980LE, equivalent to 120 thousand logic gates, which is sufficient for general use. It is TQFP packaged with 240 pins, the maximum amount available for this packaging, which we were able to fully utilize for our expansion experiments. 3. Software design of the reconfigurable system We used the ARM development tool kit distributed by Keil, as our software development environment. All development environments available today offer project management functions to accommodate the growing complexity in software design, which requires the modulation of software functions for later use. The main function of project management is categorizing software designs into tree diagrams. As illustrated in Figure 2, the c/os-ii core is isolated in a single folder marked as cos2-kernel in the diagram. This folder is the codename for real-time core and is unrelated to the code for CPU. Compilation can be done using virtually any compilers that support ANSI-C. The other folder named cos2-porting is where the implemented code is stored. Fig.1 ARM and FPGA hardware design Fig.2 Tree diagram of the software project uc/os-ii We used a CAN BUS monitor to test whether 512

3 the application was executable on the RTOS we have implemented. The main function of a CAN BUS monitor is to monitor data that flows through CAN BUS and display the data onto a 20 x 4 LCD text display. In our programming we created three tasks to perform this function. These were AppTaskStart(), AppTaskCanMcp2515(), and AppTaskLcd(). The communication of data between tasks AppTaskCanMcp2515() and AppTaskLcd() was through a global variable array. Figure 3 illustrates the operations between these three tasks. When the program proceeded from bootloader to main() function, it first initialized all relevant peripherals and finally creates the task AppTaskStart(). Two more tasks AppTaskCanMcp2515() and AppTaskLcd() were created within task AppTaskStart(), and the task AppTaskStart() was associated with the LED flashing at once per second to indicate whether the system is currently running. The main function of task AppTaskCanMcp2515() was set to capture data on the CAN BUS once per 0.5 seconds and store it in the global variable array. Since the data is captured sequentially, the capture cannot be interrupted or the data becomes corrupted; therefore we had to disable the interrupt with OS_ENTER_CRITICAL() during the capture and resume with OS_EXIT_CRITICAL() once completed. This ensures that a complete series of data is captured in full. The function of task AppTaskLcd() was to read data from the global variable array and display on the LCM module every second; the LCM module will then be able to show the data currently captured from CAN BUS and its ID. Similarly, to make sure that a series of complete data is displayed, we disabled and resumed the interrupt using OS_ENTER_CRITICAL() and OS_EXIT_CRITICAL() functions. This application is programmed to perform three different functions through three tasks. 4.1 Program downloading and writing First we proceeded with the program writing and downloading. Generally, in a FPGA system, the FPGA program needs to be developed before writing the ARM program. During the development of the FPGA program, we first wrote the file *.sof into the internal SRAM for testing, through the JTAG pin using the JTAG mode as illustrated in Figure 4. Once development is complete, we then wrote the program into the designated ROM through the AS pin using the AS mode as illustrated in Figure 5. This allowed the ROM to initiate communication with the FPGA upon system startup and download the program into the SRAM of the FPGA for execution. Fig.4 JTAG download mode Fig.5 AS download mode Before writing the completed program into the internal ROM of the ARM, we first connected the JTAG wire and the writer properly as illustrated in Figure 6 then set the writing parameters as illustrated in Figure 7: 1. Set the capacity to 256Kbytes. 2. Execute the write command. 3. Details of the writing process are displayed in the message window. Fig.3 Operation status between tasks 4. System Test Fig.6 ARM JTAG pin diagram 513

4 4.3 Testing the MCP2515 control board Fig.7 Setting and executing the writing of ARM program 4.2 Testing the peripheral of FPGA The next step was the testing of FPGA accessory components. We tested the read/write of each accessory connected to FPGA to make sure that the basic read/write passed before proceeding with further development. The result of the write test is shown by LED. The LED address decode is defined as 0x in the FPGA program, therefore all our ARM program needs to do is write 0xAAAA into this address and the LED will display the test result. As illustrated in Figure 8, only 6 bits of data were displayed since we only had 6 LEDs. Fig.8 Testing the FPGA write function The next step was to test the MCP2515 CAN BUS controller. This part tested the simulation of SPI protocol using GPIO by the ARM program to control the read/write of the MCP2515 IC. The controller included buttons for testing data reading and a LED for data writing. The test of the write function was programmed to the MCP2515 BFPCTRL(0x0C) register to output data values to the pins. Figure 10 shows the actual testing. Because the lighting of the LED had a low electric potential, its two pins were defined as bit4 and bit5 of the BFPCTRL register; therefore the electric potential is opposite to the LED status. Fig.10 Write in test The test of the read function was programmed to read the MCP2515 TXRTSCTRL(0x0D) register for button status. Figure 11 shows the button values captured by the program, before and after the button was pressed. We set a break point in the program to better observe the data display. From left to right, the button statuses are reflected in bits 3, 4, and 5 of the TXRTSCTRL register. The electric potential was high before the button was pressed, and when the button was pressed we read a low electric potential value of 0. The basic input of FPGA includes a flick switch and buttons. Input address decode is defined as 0x80F If the ARM program reads from this address as illustrated in Figure 9, it will capture the flick switch and button values. Here we tested the read function using the flick switch. Fig.11 Read out test Fig.9 Testing the FPGA read function 4.4 Operating the CAN development kit In order to test whether the system we designed was able to run the application on top of the RTOS, we used a CAN BUS monitor. We also needed a tool to send packets of data through CAN BUS to verify whether the system could receive data from another CAN node. Here we used a CAN development kit by Microchip. Figure 12 shows 514

5 the appearance of the control panel. The panel has other functions, what the figure displayed was its main functions. Fig.12 Control board of the CAN development kit between nodes. Since both the system and the CAN controller used 16MHz oscillators, we set the SJW to 1. We can see from the left window of Figure 14 that the CAN controller was in configuration mode when we set the parameters; if it was in normal mode the software would have displayed a warning message to remind users to switch to configuration mode. Register values set under any other modes are invalid. As we can see in the right window of Figure 14, the CAN controller of this panel went into normal mode when Go On Bus is pressed, and users could then receive or send data; however we were only using this panel to send. Here we can see the CAN controller switching to Normal Mode as illustrated in the bottom right window of Figure 14. Once hardware was connected properly, we opened the controlling software included in this kit: CANKing, from the PC end. Only through this software were we able to control CAN related functions and settings. As Figure 13 illustrated, we selected the template then MCP2510 evaluation board to enter the control window. Fig.14 Settings of CAN baud rate (left) and connection (right) Figure 15 shows the control panel of the software CANKing; some of the functions and the switching between windows are operated through this screen. Other than the opening of templates with default windows and settings, we may also save the current settings to another file for later use. Fig.15 Control panel Fig.13 settings for the software open The next step was the setting of CAN baud rate as illustrated in the left window of Figure 14. Baud rate was set at 125Kbps with sampling point=62.5% and SJW=1. The sampling point was generally set at 60-70% to assert a logic level. SJW stands for synchronization jump width, whose main function is to synchronize the difference in the clock frequency Figure 16 is the data settings window and is where CAN data is sent. Here we were able to specify CAN ID (CAN envelope), data length (DLC), and value (Line0-7). Once the setting was done, the data could be sent through the CAN BUS by pressing Send. The message output window simultaneously displayed the values sent as illustrated in Figure

6 5. Conclusion and future prospects Fig.16 Data settings window Fig.17 Message output window Once we connected the hardware and wrote the programs into ARM and FPGA, we started transferring data through CAN BUS into the tested system using the software package CANKing. If the system was set up correctly, it would display the data sent through CANKing as illustrated in Figure 18. Our comparison found that the data settings in Figure 16 matched the data and ID displayed on the LCM screen of the system. This method would verify whether the system was able to correctly receive data transmitted from another CAN node. Fig.18 Receiving CAN data transmitted from PC Figure 19 is a diagram of the entire hardware structure. Figure 20 is the actual appearance. Although the hardware and software functionality of the system testing platform we built was limited, it contained the absolute basic workable environment that can be used for learning hardware/software verification and RTOS programming. Based on the application of a "CAN BUS monitor", we illustrated the structuring of an embedded system from the hardware design of ARM+FPGA, development of BSP drivers, implementation of RTOS, to the programming of an application. The outline structure was complete, and the following developments can be generalized into two directions: first is enhancing the applicability of this system. How are we able to utilize the characteristics of this system for wider applications? Other than improving our aims, we may also attempt to develop various applications on top of this platform. Second is further in-depth research on RTOS or the CAN BUS protocol. The application of this system platform was based on ARM+FPGA hardware structure, which offers extensive capabilities including the development and configuration of ARM system programs, RTOS, and FPGA programs etc. We could even execute some of the ARM program computations inside the FPGA and evaluate whether this improved system efficiency and achieves our goal of co-verification and operation. In addition we could also raise our CPU and FPGA levels according to the complexity of the system to perform more complex verifications and applications. 6. References Fig.19 The connection diagram for the system architecture [1] hang-ji Chang, Masters thesis on Hardware / Software Co-Designing Platform for Embedded Signal Compression System, National Yunlin University of Science and Technology, [2] hing-long Lin, Masters thesis on Development of DSP-Based RTOS Core, National Yunlin University of Science and Technology, [3] hien-shing Huang, Masters thesis on Design and Construction of DSP/CPLD Digital Circuits Development System, Chung Yuan Christian University, [4] hing-long Su, Structuring and Design of a System-On-Chip Prototype Development System, 2007 System Prototype and Innovative Circuitry Design Forum, Tainan County, ROC on 28th September 2007 [5] Cyclone Device Handbook, Altera, 2007 Fig.20 Hardware structure and testing environment of the entire system 516

Typical applications where a CPLD may be the best design approach:

Typical applications where a CPLD may be the best design approach: By: Carlos Barberis, dba Bartek Technologies Description of Bartek s CPLD1 development board. For some of us CPLD s are familiar devices and for others just another acronym in the electronic device industry.

More information

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8

CHAPTER 1 Introduction of the tnano Board CHAPTER 2 tnano Board Architecture CHAPTER 3 Using the tnano Board... 8 CONTENTS CHAPTER 1 Introduction of the tnano Board... 2 1.1 Features...2 1.2 About the KIT...4 1.3 Getting Help...4 CHAPTER 2 tnano Board Architecture... 5 2.1 Layout and Components...5 2.2 Block Diagram

More information

Designing with ALTERA SoC Hardware

Designing 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 information

Designing Embedded Processors in FPGAs

Designing 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 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

Handouts. FPGA-related documents

Handouts. FPGA-related documents Handouts FPGA-related documents 1. Introduction to Verilog, Verilog P. M. Nyasulu and J. Knight, Carleton University, 2003 (Ottawa, Canada). 2. Quick Reference for Verilog HDL, HDL R. Madhavan, AMBIT Design

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

Chapter 4. Enhancing ARM7 architecture by embedding RTOS

Chapter 4. Enhancing ARM7 architecture by embedding RTOS Chapter 4 Enhancing ARM7 architecture by embedding RTOS 4.1 ARM7 architecture 4.2 ARM7TDMI processor core 4.3 Embedding RTOS on ARM7TDMI architecture 4.4 Block diagram of the Design 4.5 Hardware Design

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

Handouts. 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday)

Handouts. 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday) Handouts Project-related documents 1. Project Guidelines and DSP Function Generator Design Specifications. (We ll discuss the project at the beginning of lab on Wednesday) FPGA-related documents 2. Introduction

More information

Nios Soft Core Embedded Processor

Nios Soft Core Embedded Processor Nios Soft Core Embedded Processor June 2000, ver. 1 Data Sheet Features... Preliminary Information Part of Altera s Excalibur TM embedded processor solutions, the Nios TM soft core embedded processor is

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

Design And Implementation Of USART IP Soft Core Based On DMA Mode

Design And Implementation Of USART IP Soft Core Based On DMA Mode Design And Implementation Of USART IP Soft Core Based On DMA Mode Peddaraju Allam 1 1 M.Tech Student, Dept of ECE, Geethanjali College of Engineering & Technology, Hyderabad, A.P, India. Abstract A Universal

More information

NXP Unveils Its First ARM Cortex -M4 Based Controller Family

NXP Unveils Its First ARM Cortex -M4 Based Controller Family NXP s LPC4300 MCU with Coprocessor: NXP Unveils Its First ARM Cortex -M4 Based Controller Family By Frank Riemenschneider, Editor, Electronik Magazine At the Electronica trade show last fall in Munich,

More information

Lab 1 Introduction to Microcontroller

Lab 1 Introduction to Microcontroller Lab 1 Introduction to Microcontroller Feb. 2016 1 Objective 1. To be familiar with microcontrollers. 2. Introducing LPC2138 microcontroller. 3. To be familiar with Keil and Proteus software tools. Introduction

More information

ALTERA FPGAs Architecture & Design

ALTERA FPGAs Architecture & Design ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines

More information

Test and Verification Solutions. ARM Based SOC Design and Verification

Test 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 information

Overview of Microcontroller and Embedded Systems

Overview of Microcontroller and Embedded Systems UNIT-III Overview of Microcontroller and Embedded Systems Embedded Hardware and Various Building Blocks: The basic hardware components of an embedded system shown in a block diagram in below figure. These

More information

Generic Serial Flash Interface Intel FPGA IP Core User Guide

Generic Serial Flash Interface Intel FPGA IP Core User Guide Generic Serial Flash Interface Intel FPGA IP Core User Guide Updated for Intel Quartus Prime Design Suite: 18.0 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1. Generic

More information

System-on-a-Programmable-Chip (SOPC) Development Board

System-on-a-Programmable-Chip (SOPC) Development Board System-on-a-Programmable-Chip (SOPC) Development Board Solution Brief 47 March 2000, ver. 1 Target Applications: Embedded microprocessor-based solutions Family: APEX TM 20K Ordering Code: SOPC-BOARD/A4E

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

Figure 2.1 The Altera UP 3 board.

Figure 2.1 The Altera UP 3 board. Figure 2.1 The Altera UP 3 board. USB Port PS-2 Port USB PHY Chip Heat Sink Parallel Port B B VGA Port I2C PROM Chip... JP19 Headers for I2C Bus Signals J3 Mounting Hole Santa Cruz Expansion Long Connector

More information

Laboratory Exercise 5

Laboratory 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 information

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction

Introduction to the Altera SOPC Builder Using Verilog Designs. 1 Introduction Introduction to the Altera SOPC Builder Using Verilog Designs 1 Introduction This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the

More information

SISTEMI EMBEDDED. Embedded Systems SOPC Design Flow. Federico Baronti Last version:

SISTEMI EMBEDDED. Embedded Systems SOPC Design Flow. Federico Baronti Last version: SISTEMI EMBEDDED Embedded Systems SOPC Design Flow Federico Baronti Last version: 20160229 Definition(s) of Embedded Systems Systems with embedded processors Hamblen, Hall, Furman, Rapid Prototyping Of

More information

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite. EMBEDDED ARM TRAINING SUITE ARM SUITE INCLUDES ARM 7 TRAINER KIT COMPILER AND DEBUGGER THROUGH JTAG INTERFACE PROJECT DEVELOPMENT SOLUTION FOR ARM 7 e-linux LAB FOR ARM 9 TRAINING PROGRAM INTRODUCTION

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

ARM Processors for Embedded Applications

ARM 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 information

FPGA Development Board Hardware and I/O Features

FPGA Development Board Hardware and I/O Features CHAPTER 2 FPGA Development Board Hardware and I/O Features Photo: The Altera DE1 board contains a Cyclone II FPGA, external SRAM, SDRAM & Flash memory, and a wide assortment of I/O devices and connectors.

More information

ARM ARCHITECTURE. Contents at a glance:

ARM ARCHITECTURE. Contents at a glance: UNIT-III ARM ARCHITECTURE Contents at a glance: RISC Design Philosophy ARM Design Philosophy Registers Current Program Status Register(CPSR) Instruction Pipeline Interrupts and Vector Table Architecture

More information

Using the Nios Development Board Configuration Controller Reference Designs

Using the Nios Development Board Configuration Controller Reference Designs Using the Nios Development Board Controller Reference Designs July 2006 - ver 1.1 Application Note 346 Introduction Many modern embedded systems utilize flash memory to store processor configuration information

More information

Excalibur Device Overview

Excalibur Device Overview May 2002, ver. 2.0 Data Sheet Features... Combination of a world-class RISC processor system with industryleading programmable logic on a single device Industry-standard ARM922T 32-bit RISC processor core

More information

LCD DISPLAY CONTROLLER APPLICATION BY DYNAMICALLY RECONFIGURABLE PLL USING NIOS II

LCD DISPLAY CONTROLLER APPLICATION BY DYNAMICALLY RECONFIGURABLE PLL USING NIOS II LCD DISPLAY CONTROLLER APPLICATION BY DYNAMICALLY RECONFIGURABLE PLL USING NIOS II ARCHANA S BHAMBORE 1 & R.R.HARKARE 2 1 Department of Electronics (VLSI) Shri. Ramdeobaba Kamla Nehru Engineering College,

More information

9. Building Memory Subsystems Using SOPC Builder

9. Building Memory Subsystems Using SOPC Builder 9. Building Memory Subsystems Using SOPC Builder QII54006-6.0.0 Introduction Most systems generated with SOPC Builder require memory. For example, embedded processor systems require memory for software

More information

Jacquard Control System of Warp Knitting Machine Based on Embedded System

Jacquard Control System of Warp Knitting Machine Based on Embedded System IOP Conference Series: Materials Science and Engineering PAPER OPEN ACCESS Control System of Warp Knitting Machine Based on Embedded System To cite this article: Li Ce et al 2018 IOP Conf. Ser.: Mater.

More information

ARM-Based Embedded Processor Device Overview

ARM-Based Embedded Processor Device Overview ARM-Based Embedded Processor Device Overview February 2001, ver. 1.2 Data Sheet Features... Industry-standard ARM922T 32-bit RISC processor core operating at up to 200 MHz, equivalent to 210 Dhrystone

More information

Designing with Nios II Processor for Hardware Engineers

Designing with Nios II Processor for Hardware Engineers Designing with Nios II Processor for Hardware Engineers Course Description This course provides all theoretical and practical know-how to design ALTERA SoC FPGAs based on the Nios II soft processor under

More information

PCI to SH-3 AN Hitachi SH3 to PCI bus

PCI to SH-3 AN Hitachi SH3 to PCI bus PCI to SH-3 AN Hitachi SH3 to PCI bus Version 1.0 Application Note FEATURES GENERAL DESCRIPTION Complete Application Note for designing a PCI adapter or embedded system based on the Hitachi SH-3 including:

More information

Programming in the MAXQ environment

Programming in the MAXQ environment AVAILABLE The in-circuit debugging and program-loading features of the MAXQ2000 microcontroller combine with IAR s Embedded Workbench development environment to provide C or assembly-level application

More information

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info. A FPGA based development platform as part of an EDK is available to target intelop provided IPs or other standard IPs. The platform with Virtex-4 FX12 Evaluation Kit provides a complete hardware environment

More information

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

Graduate 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 information

A First Look at Microprocessors

A First Look at Microprocessors A First Look at Microprocessors using the The General Prototype Computer (GPC) model Part 3 CPU Ecosystem CPUs by themselves cannot make a complete system they need certain other peripherals, or support

More information

Simple Excalibur System

Simple Excalibur System Excalibur Solutions Simple Excalibur System August 2002, ver. 1.0 Application Note 242 Introduction This application note describes a simple Excalibur system design that consists of software running on

More information

esi-risc Development Suite Getting Started Guide

esi-risc Development Suite Getting Started Guide 1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

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

4. Configuring Cyclone II Devices

4. Configuring Cyclone II Devices 4. Configuring Cyclone II Devices CII51013-2.0 Introduction Cyclone II devices use SRAM cells to store configuration data. Since SRAM memory is volatile, configuration data must be downloaded to Cyclone

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

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

14. Using Altera Enhanced Configuration Devices

14. Using Altera Enhanced Configuration Devices 14. Using Altera Enhanced Configuration Devices S52014-1.0 Chapter 14, Using Altera Enhanced Configuration Devices replaces AN 218: Using Altera Enhanced Configuration Devices. Introduction Concurrent

More information

EE4380 Microprocessor Design Project

EE4380 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 information

Field Programmable Gate Array (FPGA) Devices

Field Programmable Gate Array (FPGA) Devices Field Programmable Gate Array (FPGA) Devices 1 Contents Altera FPGAs and CPLDs CPLDs FPGAs with embedded processors ACEX FPGAs Cyclone I,II FPGAs APEX FPGAs Stratix FPGAs Stratix II,III FPGAs Xilinx FPGAs

More information

Embedded 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. 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 information

Section 3. System Integration

Section 3. System Integration Section 3. System Integration This section includes the following chapters: Chapter 9, Configuration, Design Security, and Remote System Upgrades in the Cyclone III Device Family Chapter 10, Hot-Socketing

More information

Introduction to the Altera SOPC Builder Using Verilog Design

Introduction to the Altera SOPC Builder Using Verilog Design Introduction to the Altera SOPC Builder Using Verilog Design This tutorial presents an introduction to Altera s SOPC Builder software, which is used to implement a system that uses the Nios II processor

More information

Chapter 13 Programmable Logic Device Architectures

Chapter 13 Programmable Logic Device Architectures Chapter 13 Programmable Logic Device Architectures Chapter 13 Objectives Selected areas covered in this chapter: Describing different categories of digital system devices. Describing different types of

More information

Designing with ALTERA SoC

Designing with ALTERA SoC Designing with ALTERA SoC תיאורהקורס קורסזהמספקאתכלהידע התיאורטיוהמעשילתכנוןרכיביSoC שלחברתALTERA תחתסביבת הפיתוחII.Quartus הקורסמשלב 60% תיאוריהו- 40% עבודה מעשית עללוחותפיתוח.SoC הקורסמתחילבסקירתמשפחותרכבי

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

Estimating Nios Resource Usage & Performance

Estimating Nios Resource Usage & Performance Estimating Nios Resource Usage & Performance in Altera Devices September 2001, ver. 1.0 Application Note 178 Introduction The Excalibur Development Kit, featuring the Nios embedded processor, includes

More information

Configuring FLEX 8000

Configuring FLEX 8000 Configuring FLEX 8000 Devices June 2000, ver. 3.03 Application Note 33 Introduction The architecture of Altera s Flexible Logic Element MatriX (FLEX) devices supports several different configuration schemes

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

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

Rapidly Developing Embedded Systems Using Configurable Processors

Rapidly Developing Embedded Systems Using Configurable Processors Class 413 Rapidly Developing Embedded Systems Using Configurable Processors Steven Knapp (sknapp@triscend.com) (Booth 160) Triscend Corporation www.triscend.com Copyright 1998-99, Triscend Corporation.

More information

AT-501 Cortex-A5 System On Module Product Brief

AT-501 Cortex-A5 System On Module Product Brief AT-501 Cortex-A5 System On Module Product Brief 1. Scope The following document provides a brief description of the AT-501 System on Module (SOM) its features and ordering options. For more details please

More information

Design of Embedded Hardware and Firmware

Design 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 information

Benefits of Embedded RAM in FLEX 10K Devices

Benefits of Embedded RAM in FLEX 10K Devices Benefits of Embedded RAM in FLEX 1K Devices January 1996, ver. 1 Product Information Bulletin 2 Introduction Driven by the demand to integrate many more digital functions in a single device, custom logic

More information

Qsys and IP Core Integration

Qsys 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 information

MYD-IMX28X Development Board

MYD-IMX28X Development Board MYD-IMX28X Development Board MYC-IMX28X CPU Module as Controller Board Two 1.27mm pitch 80-pin SMT Connectors for Board-to-Board Connections 454MHz Freescale i.mx28 Series ARM926EJ-S Processors 128MB DDR2

More information

BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design

BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design BlazePPS (Blaze Packet Processing System) CSEE W4840 Project Design Valeh Valiollahpour Amiri (vv2252) Christopher Campbell (cc3769) Yuanpei Zhang (yz2727) Sheng Qian ( sq2168) March 26, 2015 I) Hardware

More information

Am186ER/Am188ER AMD continues 16-bit innovation

Am186ER/Am188ER AMD continues 16-bit innovation Am186ER/Am188ER AMD continues 16-bit innovation 386-Class Performance, Enhanced System Integration, and Built-in SRAM Am186ER and Am188ER Am186 System Evolution 80C186 Based 3.37 MIP System Am186EM Based

More information

9. Configuration, Design Security, and Remote System Upgrades in Stratix V Devices

9. Configuration, Design Security, and Remote System Upgrades in Stratix V Devices January 2011 SV51010-1.2 9. Configuration, Design Security, and Remote System Upgrades in Stratix V Devices SV51010-1.2 This chapter contains information about the Stratix V supported configuration schemes,

More information

Raspberry Pi - I/O Interfaces

Raspberry Pi - I/O Interfaces ECE 1160/2160 Embedded Systems Design Raspberry Pi - I/O Interfaces Wei Gao ECE 1160/2160 Embedded Systems Design 1 I/O Interfaces Parallel I/O and Serial I/O Parallel I/O: multiple input/output simultaneously

More information

Reference Design RD1065

Reference Design RD1065 April 011 Reference Design RD1065 Introduction Most microprocessors have a General Purpose Input/Output (GPIO) interface to communicate with external devices and peripherals through various protocols These

More information

AN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP

AN LPC1700 secondary USB bootloader. Document information. LPC1700, Secondary USB Bootloader, ISP, IAP LPC1700 secondary USB bootloader Rev. 01 8 September 2009 Application note Document information Info Keywords Abstract Content LPC1700, Secondary USB Bootloader, ISP, IAP This application note describes

More information

The Altera UP 3 Board

The Altera UP 3 Board The Altera UP 3 Board Photo: The Altera UP 3 board contains a Cyclone FPGA, external SRAM, SDRAM & Flash memory, and a wide assortment of 110 devices and connectors. 36 Rapid Prototyping of Digital Systems

More information

A Universal Test Pattern Generator for DDR SDRAM *

A Universal Test Pattern Generator for DDR SDRAM * A Universal Test Pattern Generator for DDR SDRAM * Wei-Lun Wang ( ) Department of Electronic Engineering Cheng Shiu Institute of Technology Kaohsiung, Taiwan, R.O.C. wlwang@cc.csit.edu.tw used to detect

More information

Practical 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 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 information

MicroBolt. Microcomputer/Controller Featuring the Philips LPC2106 FEATURES

MicroBolt. Microcomputer/Controller Featuring the Philips LPC2106 FEATURES Microcomputer/Controller Featuring the Philips LPC2106 FEATURES Powerful 60 MHz, 32-bit ARM processing core. Pin compatible with 24 pin Stamp-like controllers. Small size complete computer/controller with

More information

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board

Terasic DE0 Field Programmable Gate Array (FPGA) Development Board Lecture FPGA-01 DE0 FPGA Development Board and Quartus II 9.1 FPGA Design Software Terasic DE0 Field Programmable Gate Array (FPGA) Development Board 1 May 16, 2013 3 Layout and Components of DE0 May 16,

More information

NXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session. Sergio Scaglia (NXP Semiconductors) August 2012

NXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session. Sergio Scaglia (NXP Semiconductors) August 2012 NXP Cortex-M0 LPC1100L Design with a Cortex-M0 in a DIP package ASEE Tech Session Sergio Scaglia (NXP Semiconductors) August 2012 Agenda NXP Microcontroller Portfolio Cortex M0 LPC1100L Family Support/Resources

More information

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing

Microcontroller Systems. ELET 3232 Topic 11: General Memory Interfacing Microcontroller Systems ELET 3232 Topic 11: General Memory Interfacing 1 Objectives To become familiar with the concepts of memory expansion and the data and address bus To design embedded systems circuits

More information

Section III. Transport and Communication

Section III. Transport and Communication Section III. Transport and Communication This section describes communication and transport peripherals provided for SOPC Builder systems. This section includes the following chapters: Chapter 16, SPI

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

4K Format Conversion Reference Design

4K Format Conversion Reference Design 4K Format Conversion Reference Design AN-646 Application Note This application note describes a 4K format conversion reference design. 4K resolution is the next major enhancement in video because of the

More information

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit)

Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit) Board Update Portal based on Nios II Processor with EPCQ (Arria 10 GX FPGA Development Kit) Date: 1 December 2016 Revision:1.0 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY,

More information

Introduction to VHDL Design on Quartus II and DE2 Board

Introduction to VHDL Design on Quartus II and DE2 Board ECP3116 Digital Computer Design Lab Experiment Duration: 3 hours Introduction to VHDL Design on Quartus II and DE2 Board Objective To learn how to create projects using Quartus II, design circuits and

More information

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP

DEVBOARD3 DATASHEET. 10Mbits Ethernet & SD card Development Board PIC18F67J60 MICROCHIP DEVBOARD3 DATASHEET 10Mbits Ethernet & SD card PIC18F67J60 MICROCHIP Version 1.0 - March 2009 DEVBOARD3 Version 1.0 March 2009 Page 1 of 7 The DEVBOARD3 is a proto-typing board used to quickly and easily

More information

THE APPLICATION OF EMBEDDED TECHNOLOGY IN NC SYSTEM

THE APPLICATION OF EMBEDDED TECHNOLOGY IN NC SYSTEM THE APPLICATION OF EMBEDDED TECHNOLOGY IN NC SYSTEM Yong Yin^ Zude Zhou\ Quan Liu^ Fangmin Li^ Yihong Long^ ^School of Information Engineering, Wuhan University of Technology; Email: yiyng_hust@j26. com

More information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications

More information

Platform-based Design

Platform-based Design Platform-based Design The New System Design Paradigm IEEE1394 Software Content CPU Core DSP Core Glue Logic Memory Hardware BlueTooth I/O Block-Based Design Memory Orthogonalization of concerns: the separation

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et

More information

Microtronix Firefly II Module

Microtronix Firefly II Module Microtronix Firefly II Module USER MANUAL Revision 1.2.1 4056 Meadowbrook Dr. Unit 126 London, ON Canada N6L 1E3 www.microtronix.com This datasheet provides information regarding the Firefly II module.

More information

Nios II Embedded Design Suite 6.1 Release Notes

Nios II Embedded Design Suite 6.1 Release Notes December 2006, Version 6.1 Release Notes This document lists the release notes for the Nios II Embedded Design Suite (EDS) version 6.1. Table of Contents: New Features & Enhancements...2 Device & Host

More information

DESIGN OF STANDARD AND CUSTOM PERIPHERAL USING NIOS II PROCESSOR

DESIGN OF STANDARD AND CUSTOM PERIPHERAL USING NIOS II PROCESSOR DESIGN OF STANDARD AND CUSTOM PERIPHERAL USING NIOS II PROCESSOR 1 K.J.VARALAKSHMI, 2 M.KAMARAJU 1 Student, 2 Professor and HOD E-mail: Kjvaralakshmi @gmail.com, prof.mkr @gmail.com Abstract- Today, Field

More information

5. Configuring Cyclone FPGAs

5. Configuring Cyclone FPGAs 5. Configuring Cyclone FPGAs C51013-1.5 Introduction You can configure Cyclone TM FPGAs using one of several configuration schemes, including the active serial (AS) configuration scheme. This scheme is

More information

ECE 448 Lecture 15. Overview of Embedded SoC Systems

ECE 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 information

PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory.

PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory. PRELAB! Read the entire lab, and complete the prelab questions (Q1- Q3) on the answer sheet before coming to the laboratory. 1.0 Objectives In this lab you will get familiar with the concept of using the

More information

ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design

ASIC Logic. Speaker: Juin-Nan Liu. Adopted from National Chiao-Tung University IP Core Design ASIC Logic Speaker: Juin-Nan Liu Adopted from National Chiao-Tung University IP Core Design Goal of This Lab Prototyping Familiarize with ARM Logic Module (LM) Know how to program LM Outline Introduction

More information

FPGAs Provide Reconfigurable DSP Solutions

FPGAs Provide Reconfigurable DSP Solutions FPGAs Provide Reconfigurable DSP Solutions Razak Mohammedali Product Marketing Engineer Altera Corporation DSP processors are widely used for implementing many DSP applications. Although DSP processors

More information