Advanced Software Writing Using AXI
|
|
- Scot Henry
- 6 years ago
- Views:
Transcription
1 Lab Workbook Introduction This lab guides you through the process of adding timer and interrupt controller to an embedded system and writing a software application that utilizes these timer and interrupt controller. The SDK will be used to create and debug the software application. Objectives After completing this lab, you will be able to: Utilize the AXI timer with interrupt controller Assign an interrupt handler to the timer Develop an interrupt handler function Use SDK Debugger to set break points and view the content of variables and memory Procedure This lab is separated into steps that consist of general overview statements that provide information on the detailed instructions that follow. Follow these detailed instructions to progress through the lab. This lab comprises 5 primary steps: You will add a timer and interrupt controller, create a SDK software project, write an Interrupt Handler, add a Linker script, and, finally, verify and debug application operation in hardware using SDK. Design Description You will extend the hardware design created in lab 5 to include an AXI interrupt controller and AXI Timer (see Figure 1). You will develop an interrupt handler to count the interrupts generated from the timer. Figure 1. Design Updated from Previous Lab Nexys3 5-1
2 Lab Workbook General Flow for this Lab Step 1: Add a timer and interrupt controller Step 2: Create a SDK software project Step 3: Write an Interrupt Handler Step 4: Add a Linker script Step 5: Verify operation in hardware Add a Timer and Interrupt Controller Step Create a lab5 folder and copy the contents of the lab4 folder into the lab5 folder, or copy the content of the labsolution\lab4 folder into the lab5 folder. Launch Xilinx Platform Studio (XPS) and open the project file Create a lab5 folder in the C:\xup\embedded\labs directory and copy the contents from lab4 to lab5, or copy the content of the labsolution\lab4 folder into the lab5 folder Open XPS by selecting Start > All Programs >Xilinx Design Tools > ISE Design Suite 14.2 > EDK > Xilinx Platform Studio Browse to the lab5 directory and open the project system.xmp 1-2. Add the AXI timer and AXI Interrupt Controller peripherals to the design from the IP Catalog, and connect them to the system according to the following table. Intr Irq CaptureTrig0 Interrupt INTERRUPT AXI_intc_0 instance delay_interrupt axi_intc_0_interrupt delay instance net_gnd delay_interrupt microblaze_0 instance axi_intc_0_ INTERRUPT Add the AXI Timer/Counter peripheral from the DMA and Timer section of the IP Catalog, and click Yes Check Only One Timer is present option and change its instance name to delay Click OK twice to add it Add the AXI Interrupt Controller peripheral from the Clock, Reset, and Interrupt section of the IP Catalog with default settings. Nexys
3 Lab Workbook The two added peripherals are automatically connected to the AXI4-Lite interface. Figure 2. Added interrupt controller and timer peripherals instances Select the Addresses tab The generated addresses should look similar to that indicated in the figure below. Figure 3. Generated Addresses for the Interrupt Controller and Timer peripherals In the Ports tab, connect the interrupt controller and timer as follows. o Click in the intr field of axi_intc_0 field to open the Interrupt Connection Dialog. Click on delay on left side, and click on right-arrow sign to add to the Connected Interrupts field (right), and then click OK Figure 4. Connecting the timer and interrupt controller interrupt ports o Connect CaptureTrig0 port of delay instance to net_gnd to avoid erroneous interrupt request generated due to noise on the unconnected input port Nexys3 5-3
4 Lab Workbook In Bus Interfaces tab, connect INTERRUPT (external interrupt request) port of the microblaze_0 instance to axi_intc_0_interrupt as shown below. Figure 5. Connect the MicroBlaze Interrupt to axi_intc_0_interrupt Select Hardware > Generate Bitstream to generate new system.bit file. Create an SDK Software Project Step Launch SDK and create a new empty software application project named lab5. Associate it to the standalone_bsp_0 software platform project. Import the lab5.c source file into lab5 application project Open SDK by selecting Project > Export Hardware Design to SDK Check Include Bitstream and BMM File option and click on Export & Launch SDK button. This will implement the design if necessary and generate system.bit and system_bd.bmm Browse to c:\xup\embedded\labs\lab5\sdk\sdk_export as the Workspace and click OK Right-click on standalone_bsp_0 in the Project Explorer window and select Clean Project. This will recompile the board support package including drivers associated with the just added peripherals (timer, interrupt) Right-click on standalone_bsp_0 in the Project Explorer window and select New > Project Select Xilinx C Project and click Next Choose Empty Application in Select Project Template window, enter lab5 in the Project Name field, and click Next. Nexys
5 Lab Workbook Click Target an Existing Board Support Package, choose standalone_bsp_0 and click Finish Select lab5 in the project view, right-click, and select Import Expand the General folder and double-click on File System and browse to c:\xup\embedded\sources. Select lab5.c and click Finish Note that both the Problems and Console tabs on the bottom report several compilation errors Note also that the project outline on the right side is updated to reflect the libraries and routines used in the source file Correct the errors In the Problems tab, double-click on the first red x for the parse error. This will open the source file bring you around to the error place. Figure 6. First error Add the missing global variable declaration as unsigned int, initialize it to the value of 1, and save the file. The first error message should disappear Click the next error message to highlight the problem in the source code Figure 7. Second error Add the missing global variable declaration as int, initialize it to the value of 0, and save the file. The program will be compiled again. Nexys3 5-5
6 Lab Workbook Figure 8. Add global variable declarations Write an Interrupt Handler Step Create the interrupt handler for the AXI timer Go to where the interrupt handler function has already been stubbed out in the source file (a fast way to do this is to click on the function in the outline view) The first step in creating an AXI timer interrupt handler is to verify that the AXI timer caused the interrupt. This can be determined by looking at the AXI Timer Control Status Register or using an API function. Open the API documentation to determine how this can be done In SDK, open the timer API documentation by clicking Documentation link corresponding to the delay instance in the system.mss tab Go to the File List section and select xtmrctr.c. You will see several available functions including XTmrCtr_IsExpired. XTmrCtr_IsExpired(XTmrCtr * InstancePtr, u8, TmrCtrNumber) Checks if the specified timer counter of the device has expired. In capture mode, expired is defined as a capture occurred. In compare mode, expired is defined as the timer counter rolled over/under for up/down counting. When interrupts are enabled, the expiration causes an interrupt. This function is typically used to poll a timer counter to determine when it has expired. Add the XTmrCtr_isExpired function call to the code with the associated parameters. if (XTmrCtr_IsExpired(InstancePtr, TmrCtrNumber)); Complete the Interrupt handler according to the steps below. 1. Increment a counter if an interrupt was taken. 2. Display the count value by using the MYIP peripheral and print the value using xil_printf (same functionality as printf with the exception of floating-point handling). Nexys
7 Lab Workbook Hint: You may use the LED_IP_mWriteReg () function. The completed handler should look like as shown in the next figure (you can find code in source folder named lab5_soln.c). Figure 9. Completed Interrupt Handler Code Save all the files Compile the source successfully. Add Linker Script Step Generate the linker script by setting heap and stack to 0x400 each and in AXI_BRAM_Controlller Right-click lab5 in project view and select Generate Linker Script Set the heap and stack size to 1024 bytes each Assign heap and stack section to AXI_BRAM_Controller memory Figure 10. Generate linker script Nexys3 5-7
8 Lab Workbook Click Generate to generate the linker scrip. The program will be compiled again. Click Yes to overwrite file Look in the console to answer the following question. Question 1 What is the size of the compiled program?.text segment:.data segment:.bss segment: Total in decimal: Total in hexadecimal: Verify Operation in Hardware Step Program the FPGA using the bootloop program Connect and power up the board Select the tab. If it is not visible then select Window > Show view > Terminal Click on and select appropriate COM port (depends on your computer), and configure it with baud rate Select Xilinx Tools > Program FPGA Browse and select system.bit and system_bd.bmm files from the C:\xup\embedded\labs\lab5\SDK\SDK_Export\lab1_hw_platform, and select bootloop as the application Click Program. This will execute Data2Mem program to combine the bootloop executable with hardware bitstream, generate the download.bit file, and configure the FPGA Launch Debugger and debug Right-click on the Lab5 project in the Project Explorer view and select Debug As > Launch on Hardware. The lab5.elf will be downloaded and a dialog box will appear to switch to the Debug perspective Click Yes to change to the Debug perspective Right click in the Variables tab and select Add Global Variables All global variables will be displayed. Select count variable and click OK Nexys
9 Lab Workbook Double-click to set a breakpoint on the line in lab5.c where count is written to LED in the interrupt handler. Figure 11. Setting breakpoint Click on Resume button to continue executing the program up until the breakpoint is reached. As you do step over, you will notice that the count variable value is changing Click on the memory tab. If you do not see it, go to Window > Show View > Memory Click the sign to add a Memory Monitor Figure 12. Adding memory address Enter the address for the count variable as follows, and click OK. Figure 13. Monitoring a memory address Click the Resume button to continue execution of the program. Nexys3 5-9
10 Lab Workbook Notice that the count variables increment every time you click resume. Watch count value increment Figure 14. Viewing Memory Content of the count variable Terminate the session by clicking on the Terminate button. Figure 15. Terminating a Debug Session Close the SDK application and close the XPS project Conclusion This lab led you through adding an AXI timer and interrupt controller, and assigning an interrupt handler function to the interrupting device through function calls. You developed an interrupt handler function and tested it in hardware. Additionally, you used the SDK debugger to view the content of variables and memory. Answers 1. What is the size of the compiled program?.text segment: data segment: 340.bss segment: 2162 Total in decimal: Total in hexadecimal: 3af4 Nexys
11 Lab Workbook Completed MHS File # ############################################################################## # Created by Base System Builder Wizard for Xilinx EDK 14.2 Build EDK_P.28xd # Wed Sep 19 09:57: # Target Board: digilent nexys3 Rev B # Family: spartan6 # Device: xc6slx16 # Package: csg324 # Speed Grade: -3 # ############################################################################## PARAMETER VERSION = PORT RS232_Uart_1_sout = RS232_Uart_1_sout, DIR = O PORT RS232_Uart_1_sin = RS232_Uart_1_sin, DIR = I PORT RESET = RESET, DIR = I, SIGIS = RST, RST_POLARITY = 1 PORT GCLK = GCLK, DIR = I, SIGIS = CLK, CLK_FREQ = PORT dip_gpio_io_i_pin = dip_gpio_io_i, DIR = I, VEC = [7:0] PORT push_gpio_io_i_pin = push_gpio_io_i, DIR = I, VEC = [3:0] PORT led_ip_0_led_pin = led_ip_0_led, DIR = O, VEC = [7:0] BEGIN proc_sys_reset PARAMETER INSTANCE = proc_sys_reset_0 PARAMETER HW_VER = 3.00.a PARAMETER C_EXT_RESET_HIGH = 1 PORT MB_Debug_Sys_Rst = proc_sys_reset_0_mb_debug_sys_rst PORT Dcm_locked = proc_sys_reset_0_dcm_locked PORT MB_Reset = proc_sys_reset_0_mb_reset PORT Slowest_sync_clk = clk_100_0000mhz PORT Interconnect_aresetn = proc_sys_reset_0_interconnect_aresetn PORT Ext_Reset_In = RESET PORT BUS_STRUCT_RESET = proc_sys_reset_0_bus_struct_reset BEGIN lmb_v10 PARAMETER INSTANCE = microblaze_0_ilmb PARAMETER HW_VER = 2.00.b PORT SYS_RST = proc_sys_reset_0_bus_struct_reset PORT LMB_CLK = clk_100_0000mhz BEGIN lmb_bram_if_cntlr PARAMETER INSTANCE = microblaze_0_i_bram_ctrl PARAMETER HW_VER = 3.10.a PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x00003fff BUS_INTERFACE SLMB = microblaze_0_ilmb BUS_INTERFACE BRAM_PORT = microblaze_0_i_bram_ctrl_2_microblaze_0_bram_block BEGIN lmb_v10 PARAMETER INSTANCE = microblaze_0_dlmb PARAMETER HW_VER = 2.00.b PORT SYS_RST = proc_sys_reset_0_bus_struct_reset Nexys3 5-11
12 Lab Workbook PORT LMB_CLK = clk_100_0000mhz BEGIN lmb_bram_if_cntlr PARAMETER INSTANCE = microblaze_0_d_bram_ctrl PARAMETER HW_VER = 3.10.a PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x00003fff BUS_INTERFACE SLMB = microblaze_0_dlmb BUS_INTERFACE BRAM_PORT = microblaze_0_d_bram_ctrl_2_microblaze_0_bram_block BEGIN bram_block PARAMETER INSTANCE = microblaze_0_bram_block PARAMETER HW_VER = 1.00.a BUS_INTERFACE PORTA = microblaze_0_i_bram_ctrl_2_microblaze_0_bram_block BUS_INTERFACE PORTB = microblaze_0_d_bram_ctrl_2_microblaze_0_bram_block BEGIN microblaze PARAMETER INSTANCE = microblaze_0 PARAMETER HW_VER = 8.40.a PARAMETER C_INTERCONNECT = 2 PARAMETER C_USE_BARREL = 1 PARAMETER C_USE_FPU = 0 PARAMETER C_DEBUG_ENABLED = 1 PARAMETER C_ICACHE_BASEADDR = 0X PARAMETER C_ICACHE_HIGHADDR = 0X3FFFFFFF PARAMETER C_USE_ICACHE = 0 PARAMETER C_ICACHE_ALWAYS_USED = 0 PARAMETER C_DCACHE_BASEADDR = 0X PARAMETER C_DCACHE_HIGHADDR = 0X3FFFFFFF PARAMETER C_USE_DCACHE = 0 PARAMETER C_DCACHE_ALWAYS_USED = 0 BUS_INTERFACE ILMB = microblaze_0_ilmb BUS_INTERFACE DLMB = microblaze_0_dlmb BUS_INTERFACE M_AXI_DP = axi4lite_0 BUS_INTERFACE DEBUG = microblaze_0_debug BUS_INTERFACE INTERRUPT = axi_intc_0_interrupt PORT MB_RESET = proc_sys_reset_0_mb_reset PORT CLK = clk_100_0000mhz BEGIN mdm PARAMETER INSTANCE = debug_module PARAMETER HW_VER = 2.10.a PARAMETER C_INTERCONNECT = 2 PARAMETER C_USE_UART = 1 PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x4140ffff BUS_INTERFACE MBDEBUG_0 = microblaze_0_debug PORT Debug_SYS_Rst = proc_sys_reset_0_mb_debug_sys_rst BEGIN clock_generator PARAMETER INSTANCE = clock_generator_0 Nexys
13 Lab Workbook PARAMETER HW_VER = 4.03.a PARAMETER C_CLKIN_FREQ = PARAMETER C_CLKOUT0_FREQ = PARAMETER C_CLKOUT0_GROUP = NONE PORT LOCKED = proc_sys_reset_0_dcm_locked PORT CLKOUT0 = clk_100_0000mhz PORT RST = RESET PORT CLKIN = GCLK BEGIN axi_interconnect PARAMETER INSTANCE = axi4lite_0 PARAMETER HW_VER = 1.06.a PARAMETER C_INTERCONNECT_CONNECTIVITY_MODE = 0 PORT interconnect_aclk = clk_100_0000mhz PORT INTERCONNECT_ARESETN = proc_sys_reset_0_interconnect_aresetn BEGIN axi_uartlite PARAMETER INSTANCE = RS232_Uart_1 PARAMETER HW_VER = 1.02.a PARAMETER C_BAUDRATE = PARAMETER C_DATA_BITS = 8 PARAMETER C_USE_PARITY = 0 PARAMETER C_ODD_PARITY = 1 PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x4060ffff PORT TX = RS232_Uart_1_sout PORT RX = RS232_Uart_1_sin BEGIN axi_gpio PARAMETER INSTANCE = dip PARAMETER HW_VER = 1.01.b PARAMETER C_GPIO_WIDTH = 8 PARAMETER C_ALL_INPUTS = 1 PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x4000ffff PORT GPIO_IO_I = dip_gpio_io_i BEGIN axi_gpio PARAMETER INSTANCE = push PARAMETER HW_VER = 1.01.b PARAMETER C_GPIO_WIDTH = 4 PARAMETER C_ALL_INPUTS = 1 PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x4004ffff PORT GPIO_IO_I = push_gpio_io_i BEGIN led_ip Nexys3 5-13
14 Lab Workbook PARAMETER INSTANCE = led_ip_0 PARAMETER HW_VER = 1.00.a PARAMETER C_BASEADDR = 0x7f PARAMETER C_HIGHADDR = 0x7f40ffff PORT LED = led_ip_0_led BEGIN axi_bram_ctrl PARAMETER INSTANCE = axi_bram_ctrl_0 PARAMETER HW_VER = 1.03.a PARAMETER C_S_AXI_PROTOCOL = AXI4LITE PARAMETER C_S_AXI_BASEADDR = 0x PARAMETER C_S_AXI_HIGHADDR = 0x40051fff BUS_INTERFACE BRAM_PORTA = axi_bram_ctrl_0_bram_porta BUS_INTERFACE BRAM_PORTB = axi_bram_ctrl_0_bram_portb BEGIN bram_block PARAMETER INSTANCE = axi_bram_ctrl_0_bram_block_1 PARAMETER HW_VER = 1.00.a BUS_INTERFACE PORTA = axi_bram_ctrl_0_bram_porta BUS_INTERFACE PORTB = axi_bram_ctrl_0_bram_portb BEGIN axi_timer PARAMETER INSTANCE = delay PARAMETER HW_VER = 1.03.a PARAMETER C_ONE_TIMER_ONLY = 1 PARAMETER C_BASEADDR = 0x41c00000 PARAMETER C_HIGHADDR = 0x41c0ffff PORT Interrupt = delay_interrupt PORT CaptureTrig0 = net_gnd BEGIN axi_intc PARAMETER INSTANCE = axi_intc_0 PARAMETER HW_VER = 1.02.a PARAMETER C_BASEADDR = 0x PARAMETER C_HIGHADDR = 0x4120ffff BUS_INTERFACE INTERRUPT = axi_intc_0_interrupt PORT Intr = delay_interrupt Nexys
Adding Custom IP to an Embedded System Using AXI
Lab Workbook Adding Custom IP to an Embedded System Using AXI Adding Custom IP to an Embedded System Using AXI Introduction This lab guides you through the process of adding a custom peripheral to a processor
More informationLab 5 SDK Lab. Targeting MicroBlaze on the Spartan-3E Starter Kit. For Academic Use Only
For Academic Use Only Lab 5 SDK Lab Targeting MicroBlaze on the Spartan-3E Starter Kit This material exempt per Department of Commerce license exception TSU Lab 5: SDK Lab Introduction This lab guides
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 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 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 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 informationArty MicroBlaze Soft Processing System Implementation Tutorial
ARTY MICROBLAZE SOFT PROCESSING SYSTEM IMPLEMENTATION TUTORIAL 1 Arty MicroBlaze Soft Processing System Implementation Tutorial Daniel Wimberly, Sean Coss Abstract A Microblaze soft processing system was
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 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 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 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 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 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 informationDisplayPort Transmit Reference Design Author: Vamsi Krishna, Saambhavi Baskaran
Application Note: Kintex-7 Family XAPP1178 (v1.0) September 13, 2013 DisplayPort Transmit Reference Design Author: Vamsi Krishna, Saambhavi Baskaran Summary This reference design demonstrates the implementation
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 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 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 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 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 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 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 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 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 informationBFM Simulation in Platform Studio
BFM Simulation in Platform Studio Introduction This document describes the basics of Bus Functional Model simulation within Xilinx Platform Studio. The following topics are included: Introduction Bus Functional
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 informationInterrupt Creation and Debug on ML403
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
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 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 informationZynq System Architecture Design Lab Workbook Beta
Zynq System Architecture Design Lab Workbook Beta Zynq System Architecture Design Lab Workbook Beta Xilinx is disclosing this Document and Intellectual Property (hereinafter the Design ) to you for use
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 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 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 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 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 informationProject Report Two Player Tetris
COMPUTER SCIENCE FACULTY OF ENGINEERING LUND UNIVERSITY Project Report Two Player Tetris Alexander Aulin, E07 (et07aa0) Niklas Claesson, E07 (et07nc7) Design of Embedded Systems Advanced Course (EDA385)
More informationGetting Started Guide with AXM-A30
Series PMC-VFX70 Virtex-5 Based FPGA PMC Module Getting Started Guide with AXM-A30 ACROMAG INCORPORATED Tel: (248) 295-0310 30765 South Wixom Road Fax: (248) 624-9234 P.O. BOX 437 Wixom, MI 48393-7037
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 informationAdding Custom IP to the System
Lab Workbook Introduction This lab guides you through the process of creating and adding a custom peripheral to a processor system by using the Vivado IP Packager. You will create an AXI4Lite interface
More informationAXI Interface Based KC705. Embedded Kit MicroBlaze Processor Subsystem (ISE Design Suite 14.4)
AXI Interface Based KC705 j Embedded Kit MicroBlaze Processor Subsystem (ISE Design Suite 14.4) Software Tutorial Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided
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 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 informationBuilding an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial
Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial Embedded Processor Hardware Design October 6 t h 2017. VIVADO TUTORIAL 1 Table of Contents Requirements... 3 Part 1:
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 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 informationInterested users may wish to obtain additional components to evaluate the following modules:
Analog Essentials Getting Started Guide Overview Maxim Analog Essentials are a series of plug-in peripheral modules that allow engineers to quickly test, evaluate, and integrate Maxim components into their
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 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 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 informationMicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System
MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System Ahmed Elhossini January 24, 2010 1 Introduction 1.1 Objectives This tutorial will demonstrate process of
More informationDEVELOPING A SIMPLE CUSTOM PCORE THAT READS AND
DEVELOPING A SIMPLE CUSTOM PCORE THAT READS AND WRITES TO DDR AND USE ITS SLAVE REGISTERS TO COMMUNICATE WITH MICROBLAZE YUKA KYUSHIMA SOLANO University of Toronto April 10, 2014 This document has a practical
More informationProfiling Applications and Creating Accelerators
Introduction Program hot-spots that are compute-intensive may be good candidates for hardware acceleration, especially when it is possible to stream data between hardware and the CPU and memory and overlap
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 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 informationFremont (MAXREFDES6#) Nexys 3 Quick Start Guide
Fremont (MAXREFDES6#) Nexys 3 Quick Start Guide Rev 0; 9/13 Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product.
More informationCampbell (MAXREFDES4#) Nexys 3 Quick Start Guide
Campbell (MAXREFDES4#) Nexys 3 Quick Start Guide Rev 0; 1/13 Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product.
More informationEstimating Accelerator Performance and Events
Lab Workbook Estimating Accelerator Performance and Events Tracing Estimating Accelerator Performance and Events Tracing Introduction This lab guides you through the steps involved in estimating the expected
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 informationAC701 Built-In Self Test Flash Application April 2015
AC701 Built-In Self Test Flash Application April 2015 XTP194 Revision History Date Version Description 04/30/14 11.0 Recompiled for 2015.1. Removed Ethernet as per CR861391. 11/24/14 10.0 Recompiled for
More informationCorona (MAXREFDES12#) Nexys 3 Quick Start Guide
Corona (MAXREFDES12#) Nexys 3 Quick Start Guide Rev 0; 4/13 Maxim Integrated cannot assume responsibility for use of any circuitry other than circuitry entirely embodied in a Maxim Integrated product.
More informationLogiCORE IP I/O Module v1.01a
LogiCORE IP I/O Module v1.01a Product Guide Table of Contents SECTION I: SUMMARY IP Facts Chapter 1: Overview Feature Summary.................................................................. 7 Licensing
More informationCampbell (MAXREFDES4#) Nexys 3 Quick Start Guide
Campbell (MAXREFDES4#) Nexys 3 Quick Start Guide Pmod Connector Alignment Required Equipment Windows PC with Xilinx ISE /SDK version 13.4 or later and two USB ports License for Xilinx EDK/SDK version 13.4
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 informationKC705 Si5324 Design October 2012
KC705 Si5324 Design October 2012 XTP188 Revision History Date Version Description 10/23/12 4.0 Recompiled for 14.3. 07/25/12 3.0 Recompiled for 14.2. Added AR50886. 05/08/12 2.0 Recompiled for 14.1. 02/14/12
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 informationCreating a Processor System Lab
Lab Workbook Introduction This lab introduces a design flow to generate a IP-XACT adapter from a design using Vivado HLS and using the generated IP-XACT adapter in a processor system using IP Integrator
More informationGetting Started Guide
Series PMC-VFX70 Virtex-5 Based FPGA PMC Module Getting Started Guide ACROMAG INCORPORATED Tel: (248) 295-0310 30765 South Wixom Road Fax: (248) 624-9234 P.O. BOX 437 Wixom, MI 48393-7037 U.S.A. solutions@acromag.com
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 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 informationPlatform Specification Format Reference Manual
Platform Specification Format Reference Manual Embedded Development Kit (EDK) 12.1 R Copyright 2010 Xilinx, Inc. All Rights Reserved. XILINX, the Xilinx logo, the Brand Window and other designated brands
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 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 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 informationMicroblaze MCS Tutorial for Xilinx ISE Rev 3 (December 1, 2012) added UART examples
Microblaze MCS Tutorial for Xilinx ISE 14.2 Rev 3 (December 1, 2012) added UART examples This tutorial shows how to add a Microblaze MCS embedded processor to a project including adding a simple C program.
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 informationImpulse Embedded Processing Video Lab
C language software Impulse Embedded Processing Video Lab Compile and optimize Generate FPGA hardware Generate hardware interfaces HDL files ISE Design Suite FPGA bitmap Workshop Agenda Step-By-Step Creation
More informationPartial Reconfiguration of a Processor Peripheral Tutorial. PlanAhead Design Tool
Partial Reconfiguration of a Processor Peripheral Tutorial PlanAhead Design Tool This tutorial document was last validated using the following software version: ISE Design Suite 14.1 If using a later software
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 informationThe Simple MicroBlaze Microcontroller Concept Author: Christophe Charpentier
Application Note: Embedded Processing XAPP1141 (v3.0) November 9, 2010 The Simple MicroBlaze Microcontroller Concept Author: Christophe Charpentier Summary The Simple MicroBlaze Microcontroller (SMM) is
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 informationPetaLinux SDK User Guide. Board Bringup Guide
PetaLinux SDK User Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent permitted
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 informationTP : System on Chip (SoC) 1
TP : System on Chip (SoC) 1 Goals : -Discover the VIVADO environment and SDK tool from Xilinx -Programming of the Software part of a SoC -Control of hardware peripheral using software running on the ARM
More informationGetting Started with the Embedded PowerPC PowerPC Example A
HUNT ENGINEERING Chestnut Court, Burton Row, Brent Knoll, Somerset, TA9 4BP, UK Tel: (+44) (0)1278 760188, Fax: (+44) (0)1278 760199, Email: sales@hunteng.co.uk http://www.hunteng.co.uk http://www.hunt-dsp.com
More informationECE532 Design Project Group Report Disparity Map Generation Using Stereoscopic Camera on the Atlys Board
ECE532 Design Project Group Report Disparity Map Generation Using Stereoscopic Camera on the Atlys Board Team 3 Alim-Karim Jiwan Muhammad Tariq Yu Ting Chen Table of Contents 1 Project Overview... 4 1.1
More informationVivado Design Suite User Guide. Designing IP Subsystems Using IP Integrator
Vivado Design Suite User Guide Designing IP Subsystems Using IP Integrator Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use
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 or Zybo board. Where the instructions refer to both boards,
More informationDesign UART Loopback with Interrupts
Once the E is displayed, will the 0 reappear if you return the DIP switch to its OFF position and re-establish the loopback path? Usually not. When you break the loopback path, it will most likely truncate
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 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 informationUART 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 informationPlatform Specification Format Reference Manual
Platform Specification Format Reference Manual Embedded Development Kit (EDK) 13.2 [optional] Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you
More informationZedBoard: Zynq-7000 EPP Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design
ZedBoard: Zynq-7000 EPP Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design ZedBoard (v14.1) Notice of Disclaimer The information disclosed to you hereunder (the Materials
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 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 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 informationMicroblaze MCS Tutorial (updated to Xilinx Vivado ) (thanks to Kurt Wick from UMN with comments on changes from Vivado 2015.x to 2016.
Microblaze MCS Tutorial (updated to Xilinx Vivado 2016.2) (thanks to Kurt Wick from UMN with comments on changes from Vivado 2015.x to 2016.x) This tutorial shows how to add a Microblaze Microcontroller
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 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 informationVCU110 GT IBERT Design Creation
VCU110 GT IBERT Design Creation June 2016 XTP374 Revision History Date Version Description 06/08/16 4.0 Updated for 2016.2. 04/13/16 3.0 Updated for 2016.1. Updated for Production Kit. 02/03/16 2.1 Updated
More information