0% found this document useful (0 votes)
97 views33 pages

Generating ACE Files for ML410 FPGA

This document provides instructions for setting up hardware and generating a bitstream for an ML410 dual processor design using Xilinx EDK 8.2i SP1. It describes the hardware components of each processor, generating libraries and bitstreams, downloading the bitstream to program the FPGA, and loading a bootloop program into block RAM for future designs.

Uploaded by

tuanhai1989
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
97 views33 pages

Generating ACE Files for ML410 FPGA

This document provides instructions for setting up hardware and generating a bitstream for an ML410 dual processor design using Xilinx EDK 8.2i SP1. It describes the hardware components of each processor, generating libraries and bitstreams, downloading the bitstream to program the FPGA, and loading a bootloop program into block RAM for future designs.

Uploaded by

tuanhai1989
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

ML410 Dual Processor

Hardware Build
Using EDK 8.2i SP1

April 2007

www.BDTIC.com/XILINX
Overview
• Hardware Setup
• Software Requirements
• Generate a Bitstream
• Transfer the Bitstream onto the FPGA
• Loading a Bootloop into the Block RAM

www.BDTIC.com/XILINX
ML410 Dual Processor Design
• The ML410 Dual Processor
design hardware includes:
• Processor 1:
– 64 KB BRAM
– DDR Interface (64 MB)
– UART
– Interrupt Controller
– System ACE Interface
– IIC
– GPIO (LEDs and LCD)
– PLB2OPB Bridge
– PLB and OPB Arbiters
– Networking
– OPB2PLB Bridge
– OPB2PCI Bridge
– PCI Arbiter
• Processor 2:
– 64 KB BRAM
– DDR2 Interface (256 MB)
– UART
– Interrupt Controller
– PLB2OPB Bridge
– PLB and OPB Arbiters
– Networking
www.BDTIC.com/XILINX
Additional Setup Details
• Refer to ml410_overview_setup.ppt for details on:
– Software Requirements
– ML410 Board Setup
• Equipment and Cables
• Software
• Network
– Terminal Programs
• This presentation requires the
9600-8-N-1 Baud terminal setup

www.BDTIC.com/XILINX
Hardware Setup
• Connect the Xilinx Parallel
Cable IV (PC4) to the
ML410 board

• Connect the RS232 cable


to the ML410 board

www.BDTIC.com/XILINX
ISE Software Requirement
• Xilinx ISE 8.2i SP2 software

www.BDTIC.com/XILINX
EDK Software Requirement
• Xilinx EDK 8.2i SP1 software

www.BDTIC.com/XILINX
Extracting the Design
• Unzip the ml410_dual_design.zip file
– This creates ISE and EDK project directories

www.BDTIC.com/XILINX
Generate Bitstream
• Launch EDK project
<design path>\
ml410_dual_system.xmp 1

• Generate the libraries


needed to create the
bitstream
– Select Software →
Generate Libraries
and BSPs (1)

www.BDTIC.com/XILINX
Generate Bitstream
• Compile the TestApp
applications and
create the executables
(executable.elf) 1

– Select Software →
Build All User
Applications (1)

www.BDTIC.com/XILINX
Generate Bitstream
• Create the
hardware design, 1
ml410_dual_system.bit,
located in
<project directory>
/implementation
– Select Hardware →
Generate
Bitstream (1)
(Takes roughly
70 minutes)

www.BDTIC.com/XILINX
Download the Bitstream
• Right-click the
ppc405_0_bootloop
project and de-select
Mark to Initialize 1
2
BRAMs (1)
• Right-click the
ppc405_1_bootloop
project and de-select
Mark to Initialize
BRAMs (2)

www.BDTIC.com/XILINX
Download the Bitstream
• Select Mark to
Initialize BRAMs
for both
TestApp_Memory and
TestApp_Memory_1
(1) 1
• Now the Memory Test
applications will be
instantiated into the
block RAM rather
than the bootloop ELF

www.BDTIC.com/XILINX
Download the Bitstream
• Update the bitstream
(download.bit) with the 1

TestApp_Memory
ELF File
– Select Device
Configuration →
Update Bitstream (1)

www.BDTIC.com/XILINX
Download the Bitstream
• Download the new
bitstream 1
(download.bit)
– Open a terminal
program to view the
output of the TestApp
executable
– Select Device
Configuration →
Download
Bitstream (1)

www.BDTIC.com/XILINX
Download the Bitstream
• View the output of a successful bitstream download
in the terminal window

www.BDTIC.com/XILINX
Hardware Setup
• On the ML410 board,
move the RS232 null
modem cable from COM0
to the COM1 Port

• Push CPU Reset on the


ML410 Board

www.BDTIC.com/XILINX
Download the Bitstream
• View the output the second CPU DDR2 Memory test in the
terminal window

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• A concatenated software/hardware file, known as
an ACE file, is useful for loading large programs, such
as a VxWorks or Linux demo, into the external memory
• A bootloop program must be used to occupy the
processor until the software is loaded into memory
• The following pages show how to initialize a bootloop
program into block RAM and to test its existence

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• De-select Mark to
Initialize BRAMs
for both
TestApp_Memory and
TestApp_Memory_1
(1) 1
• This will prevent the
TestApp applications
from being inserted
into the block RAM
when the new
bitstream is created
www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• Right-click the
ppc405_0_bootloop
project and de-select
Mark to Initialize
BRAMs (1) 1
2
• Right-click the
ppc405_1_bootloop
project and de-select
Mark to Initialize
BRAMs (2)
• Now bootloop will be
instantiated into the
block RAM rather than
the Memory Test
applications
www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• Update the bitstream
(download.bit) with a 1

bootloop ELF file


(ppc405_0.elf)
– Select Device
Configuration →
Update Bitstream (1)

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• Load the new design
onto the FPGA and 1
load the bootloop
program into the block
RAM
– Select Device
Configuration →
Download
Bitstream (1)

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• A memory read can
be executed to test
if bootloop was
successfully loaded
1
– Select Debug →
Launch XMD (1)
– Select ppc405_0 (2)
2

www.BDTIC.com/XILINX
XMD Setup
• The first time XMD runs
on a project, the options
will be set
– Click OK (1)
– Click Save (2)

2
1

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• XMD opens and connects to the processor, using the default
options

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• To execute a memory read, type mrd 0xfffffffc
• This will read the memory address at the reset vector; the
value should be 0x48000000 as shown below

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• A memory read can
be executed to test
if bootloop was
successfully loaded
1
– Select Debug →
Launch XMD (1)
– Select ppc405_1 (2)
2

www.BDTIC.com/XILINX
XMD Setup
• The first time XMD runs
on a project, the options
will be set
– Click OK (1)
– Click Save (2)

2
1

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• XMD opens and connects to the processor, using the default
options

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• To execute a memory read, type mrd 0xfffffffc
• This will read the memory address at the reset vector; the
value should be 0x48000000 as shown below

www.BDTIC.com/XILINX
Loading Bootloop into BRAM
• Make a copy of the updated bitstream (download.bit) and
rename it ml410_dual_bootloop.bit
• This bootloop bitstream will be used in future designs

www.BDTIC.com/XILINX
Available Documentation
• Platform Studio Documentation
– Embedded Development Kit (EDK) Resources
http://www.xilinx.com/ise/embedded_design_prod/platform_studio.htm
– OS and Libraries Document Collection
http://www.xilinx.com/ise/embedded/oslib_rm.pdf
• ML410
– ML410 User's Guide
http://www.xilinx.com/bvdocs/userguides/ug085.pdf
– ML410 Overview
http://www.xilinx.com/ml410
– ML410 Schematics
http://www.xilinx.com/products/boards/ml410/docs/ml410_revE.pdf

www.BDTIC.com/XILINX

You might also like