Table of contentsPart 61Looking for a new development board
Introduction to the Avnet Spartan-6 LX9 MicroBoard
The development kit
Avnet Design Resource Center
Connecting the board to a host computer
Downloading and installing Xilinx Design Suite 13.2
Part 62Connecting a terminal
Embedded demonstration project
GPIO test
Part 63 Configuring the FPGA
The integrated solution
Installing Diligent software drivers
iMPACT FPGA configuration tool
Part 64 Installing a board support package
Finding XBD files
Part 65 Putting together an embedded system
Xilinx Platform Studio XPS
Getting help
EDK reference manual
Starting XPS
Addng and removing peripherals
Generate a block diagram
Generate a design report
The system file tree
Synthesise the design
Generate the bitstream
Part 66
Using the Software Developmnet Kit SDK
Getting help
Starting a new C-project
Generate a linker script
Program the FPGA
Setting up a run configuration
Run the program
Part 67
Adding an EDK IP to an embedded system
Skipping ISE
Finding and adding the IP
Generate addresses
GPIO interface
Connecting ports
Modifying the UCF file
Generate new netlist and bitstream
Part 68
Writing code for the new peripheral
Create a new application
Adding a source file
Writing the C code
Generate a linker script
Test the new system with the new application
Part 69 Adding a custom IP to an embedded system
Create a new peripheral
Files generated
Customize the new peripheral
Adding user code
Adding new ports to the mpd file
Adding the custom IP to the system
Export to SDK
Part 70 Embedded system simulation
Behavioral simulation
Setting up the simulation environment
Adding a test bench
Select an ELF file
Generate behavioral simulation models
Modify the test bench file
Running a simulation
Changing the time precision
Looking at MicroBlaze program execution
Part 71
Embedded ChipScope Debugging
ChipScope Pro tool overview
Adding the ChipScope AXI monitor core
Making the design smaller
Analyzing the design with ChipScope
Connecting ChipScope to target
Adding AXI signal names
Capture waveform data
Part 72
Running Linux on the LX9 MicroBoard
Choosing PetaLinux
Building the hardware platform
Configuring the MicroBlaze soft processor
Configuring the debug module
Synthesis the design
Place and route the design
Part 73
Installing PetaLinux SDK
Downloading the software
Extract the PetaLinux package
Install the license file
Setup PetaLinux working environment
PetaLinux BSP installation process
Getting started with PetaLinux SDK
Part 74
Networking configuration procedures Setup a TFTP server
Installing the TFTP server
Setting up the transfer directory
Setting up the configuration file
Starting the TFTP server
Setup a NFS server
Starting NFS and Portmap services
Mounting the shared directory
Using the TFTP server
Telnet on the board
Using FTP
Part 75
Board bring up with PetaLinux SDK Building the hardware platform
Configuring software settings
Add PetaLinux repository
First stage boot loader
Adding FS-boot
Universal boot loader
Configure fs-boot settings
How to find the Flash Partition Table
No vector table needed
Build the fs-boot project
Finalising the FPGA bitstream
Workspace directory structure
Part 76
Create a new PetaLinux software platform Configure the software platform
Configure the Linux kernel
Configure user applications and system settings
Update the default configuration
Build PetaLinux
Test PetaLinux on the board
Direct kernel boot via JTAG
Indirect kernel boot via u-boot
Running PetaLinux in the QEMU emulator
Part 77
Writing our first application program Creating a new application
Building the application
Rebuild the PetaLinux software image
Test our new application
Application development
Part 78
Writing and debugging an application program
Compile and build the application
Testing the application
Debugging our application
Prepare the build system for debugging
Rebuild the PetaLinux image
Performing a debug session
Target settings
Setting breakpoints
Running the program
Stepping the program
Finishing the debug session
Part 79
Configuring the Spartan-6 FPGA
Introduction
Internal configuration process
Internal configuration interfaces
External configuration interfaces
Configuring the Spartan-6 upon power-up
LX9 MicroBoard configuration logic
Configure the FPGA from external source
Programming the serial SPI flash
Programmimg via the on-board USB to JTAG circuitry
Programming the SPI flash thorugh JTAG
Master SPI dual and quad commands
Part 80
Booting PetaLinux from SPI flash
Booting from SPI flash run sequence
Copying the u-boot loader to SPI flash
Xilinx Microprocessor Debugger
Downloading the u-boot elf file
Copying the PetaLinux image file
Copying the u-boot image
Booting PetaLinux
Part 81
Installing custom web server content
Create a new application
Adding HTML files
The index.html file
Changing the makefile
De-selecting the uWeb application
Rebuild the PetaLinux system image
Boot the system image
Modify the web page
Part 82
Building a web-enabled application
Create a new application
Using a CGI script
Enable the new application
Build a new image
Booting the new image
Start the httpd service
Files in the httpd directory
Controlling hardware from the web browser
Part 83
Building a virtual machine
Choosing a virtualization product
VirtualBox
Installing VirtualBox
Debian guest OS
Fixes to Debian 6.0.3
VirtualBox setup
Booting Debian
Installing Xilinx Design Suite
Installing PetaLinux SDK
Fixing problems with permissions
USB setup
Editing udev rules
Part 84
Automating the build process
Running Xilinx tools using makefiles
Running the complete flow
Setting up our own make environment
Xilinx tools using scripting
Why using command-line mode
Build flows
Xflow
PlanAhead design and analysis tool
Xtclsh
Scripting languages
Perl
Tcl
Running a Tcl script
Setting up a Tcl script
Running XFLOW
XFLOW syntax
Synthesize our design using Platgen
Using Data2MEM
The complete configuration script
Part 85
Building our System-on-Chip design
Returning to the ISE Project Navigator
Create a new project in ISE
Renaming the constraints file
Starting ISE
ISE Design Suite Center
Importing our XPS design
Generating top HDL source file
Adding the constraints file
Edit the constraints file
Synthesis the design
Run synthesis
Synthesis results
Implementing the design
Translation
Mapping
Placing and routing the design
Synthesis results
Generate Programming File
Part 86
Using Tcl scripts
Enabling all processes
Running the implementation script
Writing Tcl scripts
Running Tcl scripts
Part 87
Using PlanAhead Starting PlanAhead
Create a new project
Adding BMM file
Implement the design
Running the build program
Running the map program
The implementation passed
Primitives statistics
FPGA device
Generate bitstream
Training
Conclusion
Part 88
The Spartan-6 FPGA Product specification
Spartan-6 XC6SLX9
Memory Controller Block
DSP48A1 DSP element
DSP48Ai slice in detail
The BRAM block
Clock Management Tile
Phase Lock Loop PLL
Digital Clock Managers
Open implemented design
Zooming in
Slice description
One single slice
One single LUTPart 89
Writing Linux device drivers Device drivers for custom hardware
Userspace access via /dev/mem
Running an example
Build a new image
Boot the board
Creating an UIO driver
Configure user application
Configure the kernel to support UIO
Identifying the device to be controlled by UIO
Edit the DTS file
Rebuilding and booting PetaLinux
Load the UIO module
Run gpio-uio-test
Part 90
Using Pmods Overview
The Digilent Pmod 3-axis accelrometer
The tutorial
The hardware platform
Copy an EDK project
Xilinx Platdorm Studio XPS
Adding the ADI peripheral core
Adding the IP core
The LX9 MicroBoard
Part 91
Writing software to control the accelerometer Starting SDK
Creating a new C-project
Adding c-program files
Generate a linker script
Edit the c-program
Building the project
Configure the Spartan-6 FPGA
Start the console program
Start program execution