Interrupt Creation and Debug on ML403
|
|
- Norah Ruby Burke
- 6 years ago
- Views:
Transcription
1 Interrupt Creation and Debug on ML403 This tutorial will demonstrate the different debugging techniques used for debugging Interrupt based applications. To show this we will build a simple Interrupt application that will use a push button to create an external interrupt. This application will use the ML403 board. The design will be created using EDK i. Also, Chipscope 10.1i will be used in one of the debugging steps. Step 1: Create the Interrupt Project. To create the project, the Base System Builder (BSB) in XPS will be used. To launch XPS, go to Start -> Run and type XPS, this will launch the XPS tool. Follow the steps seen below to build the BSB design: Select Base System Builder, Press Next to continue. 1
2 Browse to where you want to save your interrupt project, Press Next to continue. 2
3 Select I would like to create a new design, Click Next to continue. 3
4 Select the ML403 Board as shown below, Select Next to Continue 4
5 Select the Microprocessor, Press Next to Continue. 5
6 Select 64KB memory for the Local Memory, Press Next to continue. 6
7 Select the peripherals as shown below, Press Next to Continue. 7
8 Select the peripherals as shown below, Press Next to Continue. 8
9 Select the peripherals as shown below, Press Next to Continue. 9
10 Select Next to continue. 10
11 In software setup, de-select the button for the two Application, shown below. Press Next -> Generate -> Finish to finish 11
12 Now that the BSB is built, we can make modification to the hardware. At the moment there are 5 pushbutton inputs. We will modify our hardware so we only have one pushbutton input into the interrupt controller. This makes it easier to demonstrate. To make the modifications, open the MHS file and locate the external ports at the top of the file. This will look like the snapshot seen below: Here we can see that there is an external vector. This vector is named fpga_0_push_buttons_position_gpio_io_pin If you open the UCF file you will notice that this vector is connected to the 5 push buttons on the ML403, This is seen below: 12
13 The UCF and the MHS will be modified so that only one push button will be input onto an external port. This is shown below: Modified UCF Modified MHS In the modified MHS file the following is added: PORT fpga_0_push_buttons_position_gpio_io_pin = Push_Button, DIR = I, SIGIS = INTERRUPT, SENSITIVITY = EDGE_RISING, INTERRUPT_PRIORITY = LOW The signal has been renamed Push_Button. The Direction, DIR = I as this signal is an input from the push button. The Signal, SIGIS = INTERRUPT as the signal from the push button is an interrupt signal. The sensitivity, SENSITIVITY = EDGE_RISING this tells the interrupt controller to expect an interrupt to occur on a rising edge. Finally, the priority of the interrupt is low, therefore, INTERRUPT_PRIORITY = LOW 13
14 Next step is to connect the Push_Button to the interrupt controller. Then connect the interrupt controller to the MicroBlaze. This is seen below: Below is a block diagram of the changes seen above: 14
15 Once all the modifications have been made the GPIO can be deleted from the hardware as it is no longer needed. In System Assembly View, right click on the on the xps_gpio and select Delete Instance In the Pop up box seen below, select Delete instance but keep its ports 15
16 The next thing to do is to build the software application. This software application will be a simple application to show how to register the interrupt and to register the handler. To create a new application, Click on the Application tab on the left and right click on Add Software Application Project seen below: In the pop-up box, name your Application Interrupt_Test as shown below. Select OK to continue: 16
17 This will create an empty project for you. To create the source code for the Interrupt_Test application, right click on source in the application and select Add New File This is seen below: Browse to the Interrupt_Test folder, if it isn t there create one making sure you name it correctly. Name the source file Test.c, making sure you use a lower case c for the file. This is seen below: 17
18 Programming XPS INTC The number of interrupt inputs that a XPS INTC has is set by the C_NUM_INTR_INPUTS generic. The first input is always Int0 and is mapped to the LSB of the registers (except IVR and MER). A valid interrupt input signal is any signal that provides the correct polarity and type of interrupt input. Examples of valid interrupt inputs are rising edges, falling edges, high levels, and low levels (hardware interrupts), or software interrupts if HIE has not been set. The polarity and type of each hardware interrupt input is specified in the XPS INTC generics C_KIND_OF_INTR, C_KIND_OF_EDGE, and C_KIND_OF_LVL. Software interrupts do not have any polarity or type associated with them, so, until HIE has been set, they are always valid. Any valid interrupt input signal that is applied to an enabled interrupt input will generate a corresponding interrupt request within the XPS INTC. All interrupt requests are combined (an OR function) to form a single interrupt request output. Interrupts are enabled individually by dedicated interrupt enable bits and collectively by a master interrupt enable bit. During power-up or reset, the XPS INTC is put into a state where all interrupt inputs and the interrupt request output are disabled. In order for the XPS INTC to accept interrupts and request service, the following steps are required: 1. Each bit in the IER corresponding to an interrupt input must be set to a one. This allows the XPS INTC to begin accepting interrupt input signals. Int0 has the highest priority, and it corresponds to the least significant bit (LSB) in the IER. This is done in the line of code below: XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, Push_Button_Mask); 2. The MER must be programmed based on the intended use of the XPS INTC. There are two bits in the MER: the Hardware Interrupt Enable (HIE) and the Master IRQ Enable (ME). The ME bit must be set to enable the interrupt request output. This is done in the line of code seen below: XIntc_mMasterEnable(XPAR_XPS_INTC_0_BASEADDR); 3. Connect the interrupt handler to the Interrupt controller, along with the interrupt information that is connected to the interrupt controller. In this tutorial there is only one interrupt connect to the controller. This code is shown below: XIntc_RegisterHandler(XPAR_INTC_SINGLE_BASEADDR,Push_Button_Interupt, (XInterruptHandler)debug_int_handler,(void *)XPAR_INTC_SINGLE_BASEADDR); 4. Finally, all the interrupt port on the MicroBlaze is enabled to receive interrupts. The code for this is shown below: microblaze_enable_interrupts(); 18
19 The next step is to copy the code seen below into the empty Test.c file. This code is shown below: Now that the code has been written, the project can be intialized into the BRAMS. To do this right click on the Interrupt_Test application and select Mark to initialize brams This is seen below: 19
20 Next Generate the Linker script for the Interrupt_Test application. To do this right click on the Interrupt_Test application and select Generate Linker Script Place all sections into the BRAM, this is seen below: The next step is to compile the Libraries and BSP s, to do this select Software -> Generate Libraries and BSP s. Then build the Interrupt_Test application, to do this go to Software -> Build all user applications Now build the bitstream, to do this go to Hardware -> generate bitstream. Now update the bitstream with the software, to do this go to Device Configuration -> Update bitstream. Finally, download the bitstream to the board, to do this go to Device Configuration -> Download bitstream. 20
21 Using Software Registers to debug interrupt: Now that the system is built we can now test it on the ML403 Board. The first of the debugging techniques we will use is to determine if the software has been written correctly. XMD can be used to determine the state of the registers in the interrupt controller. Below is a list of the registers that can be viewed to determine if your system is working correctly: Interrupt Controller Register Table The first thing we can check is if the interrupt has been enabled on the interrupt controller. This line in Test.c that enables the push_button on the interrupt controller is shown below: To verify that the push_button has been enabled successfully we can check this in the interrupt controller register. By viewing the register table seen above, one can see that that Interrupt Enable Register is located at C_BASEADDR + 0x8. To obtain the Base Address of the interrupt controller go to System Assembly view and click the Addresses tab. Here it can be seen that the interrupt contoller (xps_int_0) is located at 0x Therefore, the Interrupt Enable Register is located at 0x
22 To view the Interrupt Enable Register, open the XMD, to do this go to Debug -> Launch XMD. Note: You may be prompted to set up your JTAG connection. Select which ever cable you are using and click next to continue. Once, the XMD is open change directory to the Interrupt_Test application, and download the executable.elf file. This is seen below: When it is finished downloading, type run, followed by stop. This is so we can view the registers. Now to view the Interrupt Enable Register, run the following command: The result should be the same as below: This is the expected result as the Push_Button_Mask is set to 0x01 22
23 Adding Custom IP with Interrupt. You can use the create or import custom peripheral wizard to add a custom IP with interrupt control. Follow the steps below to see this. Step 1: Launch the Create or Import peripheral wizard. Hardware -> Create or import Peripheral. 23
24 Step 2: Select Create temple for a new peripheral. 24
25 Step 3: Select to an XPS project. 25
26 Step 4: name the custom peripheral interrupt_ip 26
27 Step 5: Select the PLB bus. 27
28 Step 6: Select Interrupt control, User Logic software register and Include data phase timer. Step 7: Next,, Finish 28
29 Now that the IP has been created you can add the custom IP to your project. To do this open the IP Catalog and double click on your custom IP. 29
30 Connect the interrupt_ip to the PLB bus. To do this open the Bus Interface tab and drop the interrupt_ip and select mb_plb. Open the Address tab and select the size to be 64K 30
31 Open the Ports tab, and drop down the interrupt_ip_0. Select New Connection. This will give the port name interrupt_ip_0_ip2intc_irpt_0 by default. Open the MHS file and scroll down interrupt_ip core and re-name the interrupt signal to Custom_IP_interrupt. 31
32 Back in the Ports tab, drop down the interrupt controller and click on the Intr port, Highlighted below. Set the priority as seen below. 32
33 When the core is created using the create or import peripheral wizard a driver is created that you can use. This can be found at \drivers\interrupt_ip_v1_00_a\src.you will need to link this to your application. There is a selftest function INTERRUPT_IP_SelfTest() That can be run to test your interrupt_ip. Simply call this function from within your application. Below is shown how to call this function: You should see the following in the hyperterminal: 33
34 You can also use this interrupt_ip from within your code this is seen below along with an example handler for the custom_ip. Next, you will have to register the Custom_ip handler, enable the interrupt_ip on the interrupt controller and then enable the interrupt_ip. 34
35 The next step is to compile the Libraries and BSP s, to do this select Software -> Generate Libraries and BSP s. Then build the Interrupt_Test application, to do this go to Software -> Build all user applications Now build the bitstream, to do this go to Hardware -> generate bitstream. Now update the bitstream with the software, to do this go to Device Configuration -> Update bitstream. Finally, download the bitstream to the board, to do this go to Device Configuration -> Download bitstream. If you look at the custom logic for the interrupt_ip you will see the code that generates the interrupt. 35
36 You should see a custom interrupt occur every ~ Mhz 36
37 Using Chipscope to Debug: Previously, we have been using the registers to determine if the software was set up correctly. However, to insure that the hardware is correct Chipscope can be used. Chipscope monitors signals mush the same way as an oscilloscope would. It triggers on a signal defined by the user in hardware and takes samples that signal and displays the result on a waveform GUI. The Chipscope uses the JTAG to connect to the device. In this tutorial, Chipscope will be used to monitor the interrupt coming in for the push button. Since the interrupt is sensitive to the rising edge, an interrupt would be expected to occur when the push button is pressed. To add the Chipscope core go to Debug -> Debug Configuration. This is shown below: 37
38 This will launch the Chipscope GUI (seen below). Follow the next steps to create the Chipscope core: Click Add ChipScope Peripheral This will create another pop up window seen on the next page. 38
39 Select To monitor arbitrary system level signal (adding ILA) as the interrupt signal will be monitored, Click OK to continue. 39
40 On the next screen drop down the Available Ports on Instance menu and select External Ports, This is seen below, Click OK to continue. 40
41 On the next screen, select the fpga_0_push_buttons_posistion. And click << Add This is shown below, Click OK to continue. 41
42 This will create a Chipscope core that you can see in your MHS file, shown below: This corresponds to the block diagram seen below. The Chipscope core is seen in red. Update the bitstream to include the Chipscope core and download the bitstream to the board. To do this, follow the instructions below: Device Configuration -> Update bitstream. Device Configuration -> Download bitstream. 42
43 Launch the Chipscope. Open the JTAG Chain, this is seen below, press OK in the pop up window. The following message (seen below) should be seen in the console window, if not go back and make sure the ILA has been added correctly, also, make sure the bitstream has been downloaded. 43
44 Something similar to the screen seen below should be seen: The Trigger will have to be set-up. Currently the trigger is set up to X. In the Signals window, drop the Data Port as shown below and rename it to Push-Button. In the Trigger Setup window, set the Value to 1 as shown below: 44
45 Now hit the Play button, shown below: The message seen below should be seen in the in the waveform window; To create an interrupt, hit the SW5 push button on the board. This should send the Pushbutton waveform high. This is shown below: Also, you should see the info message in the console window: This is because the Chipscope is waiting for an update from the user. This is normal behaviour 45
UART Interrupt Creation on Spartan 3A
UART Interrupt Creation on Spartan 3A This tutorial will demonstrate the UART Interrupt based application. To show this we will build a simple Interrupt application that will use the hyper-terminal to
More informationSystem Ace Tutorial 03/11/2008
System Ace Tutorial This is a basic System Ace tutorial that demonstrates two methods to produce a System ACE file; the use of the System Ace File Generator (GenACE) and through IMPACT. Also, the steps
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 informationSpartan-6 LX9 MicroBoard Embedded Tutorial. Tutorial 1 Creating an AXI-based Embedded System
Spartan-6 LX9 MicroBoard Embedded Tutorial Tutorial 1 Creating an AXI-based Embedded System Version 13.1.01 Revision History Version Description Date 13.1.01 Initial release for EDK 13.1 5/15/2011 Table
More informationChipScope Inserter flow. To see the Chipscope added from XPS flow, please skip to page 21. For ChipScope within Planahead, please skip to page 23.
In this demo, we will be using the Chipscope using three different flows to debug the programmable logic on Zynq. The Chipscope inserter will be set up to trigger on a bus transaction. This bus transaction
More information427 Class Notes Lab2: Real-Time Clock Lab
This document will lead you through the steps of creating a new hardware base system that contains the necessary components and connections for the Real-Time Clock Lab. 1. Start up Xilinx Platform Studio
More informationML410 BSB DDR2 Design Creation Using 8.2i SP1 EDK Base System Builder (BSB) April
ML40 BSB DDR2 Design Creation Using 8.2i SP EDK Base System Builder (BSB) April 2007 Overview Hardware Setup Software Requirements Create a BSB DDR2 System Build (BSB) in EDK Generate a Bitstream Transfer
More informationCreating the AVS6LX9MBHP211 MicroBlaze Hardware Platform for the Spartan-6 LX9 MicroBoard Version
Creating the AVS6LX9MBHP211 MicroBlaze Hardware Platform for the Spartan-6 LX9 MicroBoard Version 13.2.01 Revision History Version Description Date 12.4.01 Initial release for EDK 12.4 09 Mar 2011 12.4.02
More informationModule 2: Adding IP to a Hardware Design
For Academic Use Only Systemy wbudowane laboratorium Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Zakład InŜynierii Komputerowej Module
More informationSystem Debug. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved
System Debug This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe GNU Debugger (GDB) functionality Describe Xilinx
More informationML410 VxWorks Workbench BSP and System Image Creation for the BSB Design Using EDK 8.2i SP2. April
ML410 VxWorks Workbench BSP and System Image Creation for the BSB Design Using EDK 8.2i SP2 April 2007 Overview Hardware Setup Software Setup & Requirements Generate VxWorks BSP Create VxWorks Project
More informationVirtex-4 PowerPC Example Design. UG434 (v1.2) January 17, 2008
Virtex-4 PowerPC Example Design R R 2007-2008 Xilinx, Inc. All Rights Reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks
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 P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass
More information1-1 SDK with Zynq EPP
-1 1SDK with Zynq EPP -2 Objectives Generating the processing subsystem with EDK SDK Project Management and Software Flow SDK with Zynq EPP - 1-2 Copyright 2012 Xilinx 2 Generating the processing subsystem
More informationML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1. April
ML410 VxWorks BSP and System Image Creation for the BSB Design Using EDK 8.2i SP1 April 2007 Overview Hardware Setup Software Setup & Requirements Generate VxWorks BSP Create VxWorks Project Create VxWorks
More informationEDK 7.1 PowerPC Tutorial in Virtex-4
Objectives This tutorial will demonstrate process of creating and testing a PowerPC system design using the Embedded Development Kit (EDK). The tutorial contains these sections: System Requirements PowerPC
More informationML410 VxWorks BSP and System Image Creation for the BSB DDR2 Design Using EDK 8.2i SP1. April
ML410 VxWorks BSP and System Image Creation for the BSB DDR2 Design Using EDK 8.2i SP1 April 2007 Overview Hardware Setup Software Setup & Requirements Generate VxWorks BSP Create VxWorks Project Create
More informationLogiCORE IP AXI INTC (v1.04a)
DS747 June 19, 2013 Introduction The LogiCORE IP AXI Interrupt Controller (AXI INTC) core receives multiple interrupt inputs from peripheral devices and merges them to a single interrupt output to the
More informationHello World on the ATLYS Board. Building the Hardware
1. Start Xilinx Platform Studio Hello World on the ATLYS Board Building the Hardware 2. Click on Create New Blank Project Using Base System Builder For the project file field, browse to the directory where
More informationSpartan-3 MicroBlaze Sample Project
Spartan-3 MicroBlaze Sample Project R 2006 Xilinx, Inc. All Rights Reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks are
More informationMicroblaze for Linux Howto
Microblaze for Linux Howto This tutorial shows how to create a Microblaze system for Linux using Xilinx XPS on Windows. The design is targeting the Spartan-6 Pipistello LX45 development board using ISE
More informationDiscontinued IP. OPB Interrupt Controller (v1.00c) Introduction. Features. LogiCORE Facts
0 OPB Interrupt Controller (v1.00c) DS473 December 1, 2005 0 0 Introduction An Interrupt Controller is composed of a bus-centric wrapper containing the IntC core and a bus interface. The IntC core is a
More informationReference System: Determining the Optimal DCM Phase Shift for the DDR Feedback Clock for Spartan-3E Author: Ed Hallett
XAPP977 (v1.1) June 1, 2007 R Application Note: Embedded Processing Reference System: Determining the Optimal DCM Phase Shift for the DDR Feedback Clock for Spartan-3E Author: Ed Hallett Abstract This
More informationAvnet S6LX16 Evaluation Board and Maxim DAC/ADC FMC Module Reference Design
Avnet S6LX16 Evaluation Board and Maxim DAC/ADC FMC Module Reference Design By Nasser Poureh, Avnet Technical Marketing Manager Mohammad Qazi, Maxim Application Engineer, SP&C Version 1.0 August 2010 1
More informationLab 2: Adding IP to a Hardware Design Lab
For Academic Use Only Lab 2: Adding IP to a Hardware Design Lab Targeting MicroBlaze on the Spartan -3E Kit This material exempt per Department of Commerce license exception TSU Lab 2: Adding IP to a Hardware
More informationLab6 HW/SW System Debug
For Academic Use Only Lab6 HW/SW System Debug Targeting MicroBlaze on the Spartan-3E Starter Kit This material exempt per Department of Commerce license exception TSU Lab 6: HW/SW System Debug Lab Introduction
More informationLab 1: Simple Hardware Design
For Academic Use Only Lab 1: Simple Hardware Design Targeting MicroBlaze on Spartan -3E Starter Kit This material exempt per Department of Commerce license exception TSU Introduction Objectives Procedure
More informationSP601 Standalone Applications
SP601 Standalone Applications December 2009 Copyright 2009 Xilinx XTP053 Note: This presentation applies to the SP601 Overview Xilinx SP601 Board Software Requirements SP601 Setup Multi-pin Wake-up GPIO
More informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationDCR Interrupt Controller (v2.00a)
DS429 April 24, 2009 Introduction A DCR (Device Control Register Bus v29) Interrupt Controller (INTC) core is composed of a bus-centric wrapper containing the INTC core and a DCR interface. The INTC core
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 informationQSPI Flash Memory Bootloading In Standard SPI Mode with KC705 Platform
Summary: QSPI Flash Memory Bootloading In Standard SPI Mode with KC705 Platform KC705 platform has nonvolatile QSPI flash memory. It can be used to configure FPGA and store application image. This tutorial
More informationModule 3: Adding Custom IP to an Embedded System
For Academic Use Only Systemy wbudowane laboratorium Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Zakład InŜynierii Komputerowej Module
More informationReference System: MCH OPB SDRAM with OPB Central DMA Author: James Lucero
Application Note: Embedded Processing XAPP909 (v1.3) June 5, 2007 eference System: MCH OPB SDAM with OPB Central DMA Author: James Lucero Abstract This application note demonstrates the use of the Multi-CHannel
More informationEDK Base System Builder (BSB) support for XUPV2P Board. Xilinx University Program
EDK Base System Builder (BSB) support for XUPV2P Board Xilinx University Program What is BSB? The Base System Builder (BSB) wizard is a software tool that help users quickly build a working system targeted
More informationXilinx Vivado/SDK Tutorial
Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping
More informationML631 U1 DDR3 MIG Design Creation
ML631 U1 DDR3 MIG Design Creation October 2011 Copyright 2011 Xilinx XTP112 Revision History Date Version Description 10/26/11 13.3 Updated for 13.3. 08/30/11 13.2 Initial version. Copyright 2011 Xilinx,
More informationML605 Built-In Self Test Flash Application
ML605 Built-In Self Test Flash Application October 2010 Copyright 2010 Xilinx XTP056 Revision History Date Version Description 10/05/10 12.3 Up-rev 12.2 BIST Design to 12.3. Added AR38127 Added AR38209
More informationSpartan-6 LX9 MicroBoard Embedded Tutorial. Tutorial 2 Adding EDK IP to an Embedded System
Spartan-6 LX9 MicroBoard Embedded Tutorial Tutorial 2 Adding EDK IP to an Embedded System Version 13.1.01 Revision History Version Description Date 13.1.01 Initial release for EDK 13.1 5/16/2011 Table
More informationReference System: Debugging PowerPC 440 Processor Systems Author: James Lucero
Application Note: Debugging PowerPC 440 Systems XAPP1060 (v1.1) September 26, 2008 eference System: Debugging PowerPC 440 Processor Systems Author: James Lucero Abstract This application note outlines
More informationAdding the ILA Core to an Existing Design Lab
Adding the ILA Core to an Existing Introduction This lab consists of adding a ChipScope Pro software ILA core with the Core Inserter tool and debugging a nonfunctioning design. The files for this lab are
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 informationSpartan-6 LX9 MicroBoard Embedded Tutorial. Tutorial 5 Embedded Chipscope Debugging
Spartan-6 LX9 MicroBoard Embedded Tutorial Tutorial 5 Embedded Chipscope Debugging Version 13.1.01 Revision History Version Description Date 13.1.01 Initial release for EDK 13.1 5/17/2011 Table of Contents
More informationDual Processor Reference Design Suite Author: Vasanth Asokan
Application Note: Embedded Processing XAPP996 (v1.3) October 6, 2008 Dual Processor eference Design Suite Author: Vasanth Asokan Summary This is the Xilinx Dual Processor eference Designs suite. The designs
More informationand 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!
This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,
More informationQuick Start Guide ZedboardOLED Display Controller IP v1.0
Quick Start Guide Introduction This document provides instructions to quickly add, connect and use the ZedboardOLED v1.0 IP core. A test application running on an ARM processor system is used to communicate
More informationSP605 Built-In Self Test Flash Application
SP605 Built-In Self Test Flash Application March 2011 Copyright 2011 Xilinx XTP062 Revision History Date Version Description 03/01/11 13.1 Up-rev 12.4 BIST Design to 13.1. 12/21/10 12.4 Up-rev 12.3 BIST
More informationReference System: MCH OPB EMC with OPB Central DMA Author: Sundararajan Ananthakrishnan
Application Note: Embedded Processing XAPP923 (v1.2) June 5, 2007 eference System: MCH OPB EMC with OPB Central DMA Author: Sundararajan Ananthakrishnan Summary This application note demonstrates the use
More informationHardware Design Using EDK
Hardware Design Using EDK This material exempt per Department of Commerce license exception TSU 2007 Xilinx, Inc. All Rights Reserved Objectives After completing this module, you will be able to: Describe
More informationUniversity of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual
University of Massachusetts Amherst Computer Systems Lab 1 (ECE 354) LAB 1 Reference Manual Lab 1: Using NIOS II processor for code execution on FPGA Objectives: 1. Understand the typical design flow in
More informationBenchmarking the Performance of the Virtex-4 10/100/1000 TEMAC System Author: Kris Chaplin
Application Note: Embedded Processing XAPP1023 (v1.0) October 3, 2007 Benchmarking the Performance of the Virtex-4 10/100/1000 TEMAC System Author: Kris Chaplin Abstract This application note provides
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 informationHardware In The Loop (HIL) Simulation for the Zynq-7000 All Programmable SoC Author: Umang Parekh
Application Note: Zynq-7000 AP SoC XAPP744 (v1.0.2) November 2, 2012 Hardware In The Loop (HIL) Simulation for the Zynq-7000 All Programmable SoC Author: Umang Parekh Summary The Zynq -7000 All Programmable
More informationUniversity of Toronto ECE532 Digital Hardware Lab 5: Adding a User-Designed Peripheral
Version 1.5 8/16/2004 This lab can be started during Lab 4 and completed during Lab 5, if necessary. Goals Add a user designed peripheral to a basic MicroBlaze system. Demonstrate the required structure
More informationCE 435 Embedded Systems. Spring Lab 3. Adding Custom IP to the SoC Hardware Debug. CE435 Embedded Systems
CE 435 Embedded Systems Spring 2018 Lab 3 Adding Custom IP to the SoC Hardware Debug 1 Introduction The first part of this lab guides you through the process of creating and adding a custom peripheral
More informationML410 BSB Design Adding the PLB TEMAC with RGMII Using EDK 8.2i SP1. April
ML410 BSB Design Adding the PLB TEMAC with RGMII Using EDK 8.2i SP1 April 2007 Overview Hardware Setup Software Requirements Generate a Bitstream Transfer the Bitstream onto the FPGA Loading a Bootloop
More informationReference System: PLB DDR2 with OPB Central DMA Author: James Lucero
Application Note: Embedded Processing XAPP935 (v1.1) June 7, 2007 R Reference System: PLB DDR2 with OPB Central DMA Author: James Lucero Abstract This reference system demonstrates the functionality of
More informationLaboratory 2(b): Configuring an ADC with MicroBlaze. Authors: Trung N. Tran (National Instruments) Jeff C. Jensen (National Instruments)
Laboratory 2(b): Configuring an ADC with MicroBlaze Authors: Trung N. Tran (National Instruments) Jeff C. Jensen (National Instruments) Instructors: Edward A. Lee Sanjit A. Seshia University of California,
More informationReference Design: LogiCORE OPB USB 2.0 Device Author: Geraldine Andrews, Vidhumouli Hunsigida
XAPP997 (v1.1) June 14, 2010 Application Note: Embedded Processing eference Design: LogiCOE OPB USB 2.0 Device Author: Geraldine Andrews, Vidhumouli Hunsigida Summary The application note demonstrates
More informationUsing Serial Flash on the Xilinx Spartan-3E Starter Board. Overview. Objectives. Version 8.1 February 23, 2006 Bryan H. Fletcher
Using Serial Flash on the Xilinx Spartan-3E Starter Board Version 8.1 February 23, 2006 Bryan H. Fletcher Overview The Xilinx Spartan-3E FPGA features the ability to configure from standard serial flash
More informationML631 U2 DDR3 MIG Design Creation
ML631 U2 DDR3 MIG Design Creation March 2012 Copyright 2012 Xilinx XTP129 Revision History Date Version Description 03/16/12 13.4 Updated for 13.4 10/26/11 13.3 Updated for 13.3. 08/30/11 13.2 Initial
More informationXA Automotive ECU Development Kit
Application Note eference System XPS MOST NIC Controller XAPP1054 (v1.0) April 25, 2008 eference System MOST NIC Using the XA Automotive ECU Development Kit Abstract This application note describes a reference
More informationLab Exercise 4 System on chip Implementation of a system on chip system on the Zynq
Lab Exercise 4 System on chip Implementation of a system on chip system on the Zynq INF3430/INF4431 Autumn 2016 Version 1.2/06.09.2016 This lab exercise consists of 4 parts, where part 4 is compulsory
More informationSP605 Standalone Applications
SP605 Standalone Applications July 2011 Copyright 2011 Xilinx XTP064 Revision History Date Version Description 07/06/11 13.2 Up-rev 13.1 GPIO_HDR Design to 13.2. 03/01/11 13.1 Up-Rev 12.4 GPIO_HDR Design
More informationSpartan-6 LX9 MicroBoard Embedded Tutorial. Lab 6 Creating a MicroBlaze SPI Flash Bootloader
Spartan-6 LX9 MicroBoard Embedded Tutorial Lab 6 Creating a MicroBlaze SPI Flash Bootloader Version 13.1.01 Revision History Version Description Date 13.1.01 Initial release for EDK 13.1 5/17/11 Table
More informationLab 3: Adding Custom IP to an Embedded System Lab
For Academic Use Only Lab 3: Adding Custom IP to an Embedded System Lab Targeting MicroBlaze on Spartan -3E Starter Kit This material exempt per Department of Commerce license exception TSU Lab 3: Adding
More informationHyperBus Memory Controller (HBMC) Tutorial
Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T005C: A Qsys based Nios II Reference design with a simple HyperFlash test device using S/Labs' HBMC IP and S/Labs' Memory Region Mapper IP This
More informationEDK Concepts, Tools, and Techniques
EDK Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection
More informationSpartan -6 LX9 MicroBoard Web Connectivity On Ramp Tutorial
Spartan -6 LX9 MicroBoard Web Connectivity On Ramp Tutorial Version 13.2.01 Revision History Version Description Date 13.2.01 Initial release with support for ISE 13.2 tools Aug. 10, 2011 Page 2 of 30
More informationDisassemble the machine code present in any memory region. Single step through each assembly language instruction in the Nios II application.
Nios II Debug Client This tutorial presents an introduction to the Nios II Debug Client, which is used to compile, assemble, download and debug programs for Altera s Nios II processor. This tutorial presents
More informationEDK Concepts, Tools, and Techniques
EDK Concepts, Tools, and Techniques A Hands-On Guide to Effective Effective Embedded Embedded System Design System Design [optional] [optional] Xilinx is disclosing this user guide, manual, release note,
More informationEDK Concepts, Tools, and Techniques
EDK Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection
More informationZynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT)
Zynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT) A Hands-On Guide to Effective Embedded System Design Notice of Disclaimer The information disclosed to you hereunder (the Materials
More informationSP605 MIG Design Creation
SP605 MIG Design Creation December 2009 Copyright 2009 Xilinx XTP060 Note: This presentation applies to the SP605 Overview Spartan-6 Memory Controller Block Xilinx SP605 Board Software Requirements SP605
More informationUse Vivado to build an Embedded System
Introduction This lab guides you through the process of using Vivado to create a simple ARM Cortex-A9 based processor design targeting the ZedBoard development board. You will use Vivado to create the
More informationDKAN0011A Setting Up a Nios II System with SDRAM on the DE2
DKAN0011A Setting Up a Nios II System with SDRAM on the DE2 04 November 2009 Introduction This tutorial details how to set up and instantiate a Nios II system on Terasic Technologies, Inc. s DE2 Altera
More informationSoftware Development Advanced
Software Development Advanced This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Examine the IP driver s functionality and
More informationHyperBus Memory Controller (HBMC) Tutorial
Synaptic Labs' HyperBus Memory Controller (HBMC) Tutorial T005B: A Qsys based Nios II Reference design with a simple application running from HyperFlash and HyperRAM device using S/Labs' HBMC IP. The HyperRAM
More informationF28069 ControlCard Lab1
F28069 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f28069\v135
More informationThe Zynq Book Tutorials
The Zynq Book Tutorials Louise H. Crockett Ross A. Elliot Martin A. Enderwitz Robert W. Stewart Department of Electronic and Electrical Engineering University of Strathclyde Glasgow, Scotland, UK v1.2
More informationPOWERLINK Slave Xilinx Getting Started User's Manual
POWERLINK Slave Xilinx Getting Started Version 0.01 (April 2012) Model No: PLALTGETST-ENG We reserve the right to change the content of this manual without prior notice. The information contained herein
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 P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass
More informationİSTANBUL TECHNİCAL UNIVERSITY ELECTRİCAL ELECTRONICS ENGINEERING FACULTY
İSTANBUL TECHNİCAL UNIVERSITY ELECTRİCAL ELECTRONICS ENGINEERING FACULTY WRITING DRIVERS FOR CUSTOM PERIPHERAL RUNNİNG PARALLEL TO MICROBLAZE PROCESSOR ON FPGA BSc Thesis by Engin YÜREK Department: Electronics
More informationIntroduction 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 informationSynaptic Labs (S/Labs) HyperBus Memory Controller (HBMC) Tutorial for Intel FPGA devices
Benjamin Gittins Chief Technical Officer Mbl: +995 551 026 588 b.gittins@synaptic-labs.com Synaptic Laboratories Ltd. Company ID 41272593 www.synaptic-labs.com info@synaptic-labs.com Monday, July 16, 2018
More informationSoftware Development. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved
Software Development This material exempt per Department of Commerce license exception TSU 2007 Xilinx, Inc. All Rights Reserved Objectives After completing this module, you will be able to: Identify the
More informationUniversity of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring Lab 1: Using Nios 2 processor for code execution on FPGA
University of Massachusetts Amherst Computer Systems Lab 2 (ECE 354) Spring 2007 Lab 1: Using Nios 2 processor for code execution on FPGA Objectives: After the completion of this lab: 1. You will understand
More informationML605 Built-In Self Test Flash Application
ML605 Built-In Self Test Flash Application July 2011 Copyright 2011 Xilinx XTP056 Revision History Date Version Description 07/06/11 13.2 Up-rev 13.1 BIST Design to 13.2. 03/01/11 13.1 Up-rev 12.4 BIST
More informationUsing ModelSim in EDK:
Using ModelSim in EDK: EDK supports two simulators, ModelSim and NCsim. In this tutorial ModelSim will be discussed. This tutorial will discuss how to setup the EDK and ISE libraries, in order for ModelSim
More informationIntroducing the Spartan-6 & Virtex-6 FPGA Embedded Kits
Introducing the Spartan-6 & Virtex-6 FPGA Embedded Kits Overview ß Embedded Design Challenges ß Xilinx Embedded Platforms for Embedded Processing ß Introducing Spartan-6 and Virtex-6 FPGA Embedded Kits
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 informationConfiguring the Xilinx Spartan-6 LX9 MicroBoard
Configuring the Xilinx Spartan-6 LX9 MicroBoard Version 1.3 Table of Contents Table of Contents... 2 Table of Figures... 3 Revision History... 4 Overview... 5 Configuration and Programming via the on-board
More informationWriting Basic Software Application
Lab Workbook Introduction This lab guides you through the process of writing a basic software application. The software you will develop will write to the LEDs on the Zynq board. An AXI BRAM controller
More informationAs CCS starts up, a splash screen similar to one shown below will appear.
APPENDIX A. CODE COMPOSER STUDIO (CCS) v6.1: A BRIEF TUTORIAL FOR THE DSK6713 A.1 Introduction Code Composer Studio (CCS) is Texas Instruments Eclipse-based integrated development environment (IDE) for
More informationSP601 Built-In Self Test Flash Application
SP601 Built-In Self Test Flash Application December 2009 Copyright 2009 Xilinx XTP041 Note: This presentation applies to the SP601 Overview Xilinx SP601 Board Software Requirements SP601 Setup SP601 BIST
More informationIntroduction to Zynq
Introduction to Zynq Lab 2 PS Config Part 1 Hello World October 2012 Version 02 Copyright 2012 Avnet Inc. All rights reserved Table of Contents Table of Contents... 2 Lab 2 Objectives... 3 Experiment 1:
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 informationFirstly, lets build the example design that shall be used throughout this tutorial by following the steps below:
Embedded Debugging Techniques In this simple tutorial, we shall be exploring the various debugging techniques; such as behavioural simulation and hardware debugging techniques such as the ILA and cross
More informationAPPENDIX A. CODE COMPOSER STUDIO (CCS) v5: A BRIEF TUTORIAL FOR THE DSK6713
APPENDIX A. CODE COMPOSER STUDIO (CCS) v5: A BRIEF TUTORIAL FOR THE DSK6713 A.1 Introduction Code Composer Studio (CCS) is Texas Instruments integrated development environment (IDE) for developing routines
More informationPartial Reconfiguration of a Processor Tutorial. PlanAhead Design Tool
Partial Reconfiguration of a Processor Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx
More information