Professional Documents
Culture Documents
Objectives
After completing this module, you will be able to:
Describe the embedded systems development flow Describe the components in the hardware design Specify ways to create a hardware design Identify the tools included in the Embedded Development Kit (EDK)
12- 2
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Outline
Introduction EDK
Overview of EDK Embedded Development Design Flow Embedded Project Management
12- 3
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Embedded System
An embedded system is nearly any computing system (other than
a general-purpose computer) with the following characteristics:
Single function
Typically designed to perform a predefined function
Tightly constrained
Tuned for low cost Single-to-fewer component based Performs functions fast enough Consumes minimum power
12- 4
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Embedded Systems
Examples:
Mobile phone systems
Customer handsets and base stations
Automotive applications
Braking systems, traction control, airbag release systems, and cruise-control applications
Aerospace applications
Flight-control systems, engine controllers, auto-piloting systems, and passenger in-flight entertainment systems
Defense systems
Radar systems, fighter aircraft flight-control systems, radio systems, and missile guidance systems
12- 5
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Current Technologies
Microcontroller-based systems DSP processor-based systems ASIC technology FPGA technology
12- 6
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Integration of Functions
CPU CPU
Embedded Software Tools Embedded Software Tools
FPGA
I/O Memory
Logic Design Tools
Time
12- 7 EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 8
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
MicroBlaze
32-Bit RISC Core
Another segment of PLB necessary when slow devices to be operated at slower bus speed enabling higher-performance system Arbiter required only when a peripheral is master capable and wants to write to peripheral on the other segment
Arbiter
0,1.15
Custom Functions Custom Functions
Bus Bridge
CacheLink
10/100 E-Net
Memory Controller
UART
GPIO
On-Chip Peripheral
SDRAM
This is a v7.3 architecture. Versions 7.0, 7.1, and 7.2 supported OPB bus off the core if PLB interface was disabled Versions 6.0 or earlier did not support PLB bus off the processor. Instead they had OPB bus
13- 9
Dedicated Hard IP
ISOCM BRAM
Flexible Soft IP
IBM CoreConnect on-chip bus standard PLB, OPB, and DCR
Instruction
Arbiter
PLB
Processor Local Bus
Hi-Speed Peripheral
GB E-Net
UART
GPIO
On-Chip Peripheral
Off-Chip Memory
ZBT SSRAM
DDR SDRAM
SDRAM
EDK Overview
12- 10
Arbiter
PLB
PLB
Arbiter
Outline
Introduction EDK
Overview of EDK Embedded Development Design Flow Embedded Project Management
12- 11
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 12
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Embedded Development
Tool Flow Overview
C Code VHDL or Verilog Standard Embedded SW Development Flow Embedded Development Kit Standard FPGA HW Development Flow
Code Entry Include the BSP C/C++ Cross Compiler and Compile the Software Image Linker
HDL Entry System Netlist Instantiate the Simulation/Synthesis System Netlist and Implement Implementation the FPGA
?
Load Software Into FLASH Debugger
Compiled ELF
Compiled BIT
12- 13
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
C. Operate in hardware
Generate the bitstream and configure the FPGA using iMPACT
D. Deploy
Initialize external flash memory using the Flash Writer utility or boot from an external compact
flash configuration file generated using the System ACE File generator (GenACE) script
12- 14
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 15
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
use the Filter pane to create filters for bus interfaces or ports
Access design overview information, reports, and messages View a block diagram of the system
For Academic Use Only
XPS Functions
Project management
Creation of Microprocessor Hardware Specification (MHS) or Microprocessor Software Specification (MSS) file Xilinx Microprocessor Project (XMP) file
Platform management
Tool flow settings Software platform settings Tool invocation Debug and simulation
12- 17
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Outline
Introduction EDK
Overview of EDK Embedded Development Design
Flow Embedded Project Management
Create/Open a Project
Create a new project
Using File New Project or
toolbar button
Create a Project
Automatically with Base System Builder
1. 2. 3. 4. 5. 6. 7.
Select a target board Configure your system Configure the processor Select and configure the peripherals Configure the cache Configure the applications Generate the design
Generated files:
system.mhs System.xmp etc/fast_runtime.opt pcore directory (empty) system.mss data/system.ucf etc/download.cmd system.bsb (optional, if selected) TestApp_Memory_LinkScr.ld TestApp_Periperal_LinkScr.ld
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
10
Create a Project
For a Custom Board with BSB
1. Select a custom board creation option Select architecture, device, package, and speed grade Select board reset polarity
2. Configure your system
3. Configure the processor(s) and peripheral(s) 4. Configure the cache if enabled 5. Configure the applications 6. Generate the design 7. Create UCF file and update the download.cmd file to specify the FPGA position in the JTAG chain 8. Generate Bitstream
12- 21 EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Create a Project
From Scratch
1. Identify a New XPS Project location
Select target FPGA, and optionally import an MHS file and/or user repository directory
2. Using IP Catalog, add processor(s) and peripheral(s) 3. Configure the processor(s) and peripherals 4. Create UCF file 5. Specify Software Configuration for the hardware components 6. Develop application software 7. Generate Bitstream 8. Download Bitstream and Execute
12- 22 EDK Overview
2010 Xilinx, Inc. All Rights Reserved
11
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 23
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
MPD file defines the configurable parameters with their default values and available ports
for a peripheral
Output files system netlist, peripheral netlists, and BMM file Creates the synthesis, HDL, and implementation directories Generates the HDL wrapper files for the peripherals Generates the top-level system HDL file Extracts the peripheral netlists from the EDK install directory Generates the BMM file Calls XST to synthesize the top-level wrapper file
12- 24
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 25
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 26
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
13
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 27
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
LibGen configures libraries and drivers with this information and produces an archive of object files:
libc.a - Standard C library libXil.a - Xilinx library libm.a - Math functions library
12- 28
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
14
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 29
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 30
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
15
CompXLib
ISE Models
IP Library or User Repository EDK SW Libraries Drivers, MDD Libraries, OS, MLD MPD, PAO Pcore HDL PlatGen
LibGen
SimGen
.a
system.bmm
SimGen
.o, .a NCD Linker Script Linker (GCC) system_bd.bmm BitGen SimGen ELF BITINIT system.bit Timing VHD Model Simulation download.cmd iMPACT
XMD, GDB
download.bit
Simulation Generator
12- 31
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 32
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
16
12- 33
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Outline
Introduction EDK
Overview of EDK Embedded Development Design Flow Embedded Project Management
12- 34
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
17
12- 35
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
In the System View select an 2 instance, right click, and then select Delete Instance Change settings using 3 appropriate filters and select an instance
Base and end addresses Parameters Ports
12- 36 EDK Overview
2010 Xilinx, Inc. All Rights Reserved
18
12- 37
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Project Options
General Tab
Set/Change Target Device
Architecture Device Size Package Speed Grade
Specify the user repositories containing custom pcores, drivers, Board Support Packages (BSPs), and Software Services
Specify a custom make file to be used instead of the make file generated by XPS. The custom make file cannot have the same name as XPS-generated make files: <system>.make or <system>_incl.make.
12- 38
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
19
Project Options
Design Flow Tab
HDL selection Testbench generation option Simulation Models
Choice of simulator and simulation
libraries search path settings are done in XPS preference settings (Edit Preferences)
12- 39
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
Outline
Introduction EDK
Overview of EDK Embedded Development Design Flow XPS Platform Management
12- 40
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
20
Supported Platforms
Operating systems
Windows XP 32/64-bit SP2 Professional Windows Vista Business 32-bit Linux Red Hat Enterprise (4.0 and 5.0 32-bit/64-bit) SUSE Linux Enterprise 11, 32/64-bit
FPGA families
Spartan-3E/3A/AN (MicroBlaze processor) Spartan-3A DSP (MicroBlaze processor) Spartan-6 (MicroBlaze processor) Virtex-4 FX (MicroBlaze and PowerPC processors) and LX/SX (MicroBlaze processor) Virtex-5 FXT (MicroBlaze and PowerPC processors) and LX/LXT/SXT (MicroBlaze processor) Virtex-6 FPGAs (MicroBlaze processor)
12- 41 EDK Overview
2010 Xilinx, Inc. All Rights Reserved
BSB-Supported Platforms
A list of supported Xilinx hardware boards:
Spartan-3A/3AN Starter Kits Spartan-3E Starter Kit Spartan-3E 1600E MicroBlaze Development Kit Spartan-3A DSP 1800A Starter Kit Spartan-3A DSP 3400A Spartan-6 SP601, SP605 Virtex-4 ML402, ML403, ML405, ML410 Virtex-5 ML505, ML506,ML507,ML510 Virtex-6 ML605 Custom board
21
Outline
Introduction EDK
Overview of EDK Embedded Development Design Flow XPS Platform Management
12- 43
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 44
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
22
data
system.ucf file
etc
download.cmd file fast_runtime.opt file BSDL files
12- 46
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
23
synthesis
system.scr file
HDL
system.[vhd|v], system_stub.[vhd|v]* file Peripheral_wrapper.[vhd|v] files
implementation
peripheral_wrapper.ngc files system.ngc, system_stub.ngc* file system.bmm file
Project Structure
Project Directory
MAKE
PBD
MHS
MSS
mblaze/ppc405_i
etc
__xps
code
data
pcores
implementation
hdl
synthesis
CMD BSDL
OPT
OPT
.C
.H
UCF <ip_name>
NGC
BMM
VHD
SCR
code
include
lib
libsrc OS/BSP/DRIVER
data
devl
ELF
.H
.A
.O
MPD PAO
BBD
ipwiz.l og
12- 48
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
24
12- 49
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
12- 50
EDK Overview
2010 Xilinx, Inc. All Rights Reserved
25