tt_sopc_exdev.pdf

Using SOPC Builder
with Excalibur Devices Tutorial
101 Innovation Drive
San Jose, CA 95134
(408) 544-7000
www.altera.com
Document Version:
Document Date:
1.1
June 2003
Copyright
Using SOPC Builder with Excalibur Devices Tutorial
Copyright © 2003 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the stylized Altera logo,
specific device designations, and all other words and logos that are identified as trademarks and/or service marks are, unless
noted otherwise, the trademarks and service marks of Altera Corporation in the U.S. and other countries. All other product or
service names are the property of their respective holders. Altera products are protected under numerous U.S. and foreign patents
and pending applications, mask work rights, and copyrights. Altera warrants performance of its semiconductor
products to current specifications in accordance with Altera’s standard warranty, but reserves the right to make
changes to any products and services at any time without notice. Altera assumes no responsibility or liability
arising out of the application or use of any information, product, or service described herein except as expressly
agreed to in writing by Altera Corporation. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
ii
TU-SOPCTTRL1.1
Altera Corporation
About this Document
This tutorial introduces you to the Altera® SOPC Builder. It shows you
how to use the Quartus® II software to create and build your own SOPC
Builder system that runs on the EPXA1 development board.
Table 1 shows the tutorial revision history.
f
Refer to the SOPC Builder readme file (sopc_builder_readme) for latebreaking information that is not available in this tutorial.
Table 1. Tutorial Revision History
Date
How to Find
Information
June 2003
Updated for Quartus II version 3.0.
July 2002
First release.
■
■
■
■
Altera Corporation
Description
The Adobe Acrobat Find feature allows you to search the contents of
a PDF file. Click the binoculars toolbar icon to open the Find dialog
box.
Bookmarks serve as an additional table of contents.
Thumbnail icons, which provide miniature previews of each page,
provide a link to the pages.
Numerous links, shown in green text, allow you to jump to related
information.
iii
About this Document
How to Contact
Altera
Using SOPC Builder with Excalibur Devices Tutorial
For the most up-to-date information about Altera products, go to the
Altera world-wide web site at www.altera.com.
For technical support on this product, go to www.altera.com/mysupport.
For additional information about Altera products, consult the sources
shown in Table 2.
Table 2. How to Contact Altera
Information Type
Technical support
USA & Canada
All Other Locations
www.altera.com/mysupport/
www.altera.com/mysupport/
(800) 800-EPLD (3753)
(7:00 a.m. to 5:00 p.m.
Pacific Time)
(408) 544-7000 (1)
(7:00 a.m. to 5:00 p.m.
Pacific Time)
Product literature
www.altera.com
www.altera.com
Altera literature services
[email protected] (1)
[email protected] (1)
Non-technical customer
service
(800) 767-3753
(408) 544-7000
(7:30 a.m. to 5:30 p.m.
Pacific Time)
FTP site
ftp.altera.com
ftp.altera.com
Note:
(1)
iv
You can also contact your local Altera sales office or sales representative.
Altera Corporation
Using SOPC Builder with Excalibur Devices Tutorial
Typographic
Conventions
About this Document
The Using SOPC Builder with Excalibur Devices Tutorial uses the
typographic conventions shown in Table 3.
Table 3. Conventions
Visual Cue
Meaning
Bold Type with Initial
Capital Letters
Command names, dialog box titles, checkbox options, and dialog box options are
shown in bold, initial capital letters. Example: Save As dialog box.
bold type
External timing parameters, directory names, project names, disk drive names,
filenames, filename extensions, and software utility names are shown in bold type.
Examples: fMAX, \qdesigns directory, d: drive, chiptrip.gdf file.
Italic Type with Initial
Capital Letters
Document titles are shown in italic type with initial capital letters. Example: AN 75:
High-Speed Board Design.
Italic type
Internal timing parameters and variables are shown in italic type. Examples: tPIA, n + 1.
Variable names are enclosed in angle brackets (< >) and shown in italic type. Example:
<file name>, <project name>.pof file.
Initial Capital Letters
Keyboard keys and menu names are shown with initial capital letters. Examples:
Delete key, the Options menu.
“Subheading Title”
References to sections within a document and titles of on-line help topics are shown
in quotation marks. Example: “Typographic Conventions.”
Courier type
Signal and port names are shown in lowercase Courier type. Examples: data1, tdi,
input. Active-low signals are denoted by suffix n, e.g., resetn.
Anything that must be typed exactly as it appears is shown in Courier type. For
example: c:\qdesigns\tutorial\chiptrip.gdf. Also, sections of an actual
file, such as a Report File, references to parts of files (e.g., the AHDL keyword
SUBDESIGN), as well as logic function names (e.g., TRI) are shown in Courier.
1., 2., 3., and a., b., c.,... Numbered steps are used in a list of items when the sequence of the items is
important, such as the steps listed in a procedure.
■
Bullets are used in a list of items when the sequence of the items is not important.
v
The checkmark indicates a procedure that consists of one step only.
1
The hand points to information that requires special attention.
r
The angled arrow indicates you should press the Enter key.
f
The feet direct you to more information on a particular topic.
Altera Corporation
v
Contents
About this Document ................................................................................................................................. iii
How to Find Information .............................................................................................................. iii
How to Contact Altera .................................................................................................................. iv
Typographic Conventions ..............................................................................................................v
Overview ..........................................................................................................................................................9
Introduction ......................................................................................................................................9
Hardware & Software Requirements ..........................................................................................10
Directory Structure ........................................................................................................................10
More Information ...........................................................................................................................10
Design Entry .................................................................................................................................................11
Create a Quartus II Project ............................................................................................................11
Start the Quartus II Software ................................................................................................11
Create a Project .......................................................................................................................11
Create an Excalibur System Module ...........................................................................................16
Start SOPC builder .................................................................................................................17
Add CPU & Peripherals ........................................................................................................18
Excalibur Device ...........................................................................................................19
LCD Peripheral ...............................................................................................................25
Specify Base Addresses .................................................................................................27
Set the Excalibur Device ................................................................................................27
Generate the System ..............................................................................................................28
Add the Symbol to the .bdf ..................................................................................................30
Compilation ..................................................................................................................................................33
Create Compiler Settings ..............................................................................................................33
View the Compiler General Settings ...................................................................................34
Specify the Device Family & Device ...................................................................................35
Assign Signals to Device Pins ......................................................................................................37
Reserve Unused Pins .....................................................................................................................39
Compile the Design .......................................................................................................................42
Software Build & Programming ............................................................................................................45
Software Build ................................................................................................................................45
Altera Corporation
vii
Contents
Using SOPC Builder with Excalibur Devices Tutorial
Verify GNU Tools ..................................................................................................................45
Select Software Build Settings ..............................................................................................45
Using Quartus II Software Builder with the GNU Tools .........................................46
Using the excalibur-build Utility .................................................................................46
Simulate the Design .......................................................................................................................47
Download Files to the Board ........................................................................................................47
Next Steps .......................................................................................................................................48
viii
Altera Corporation
Overview
1
Overview
Introduction
This tutorial introduces you to using SOPC builder with the Excalibur
devices. It shows you how to use SOPC builder and the Quartus® II
software to create and process your own Excalibur device system module
design that interfaces with components provided on the EPXA1
development board.
This tutorial is for SOPC builder novices or users who are new to using
embedded systems in FPGAs. The tutorial guides you through the steps
necessary to create, build the software and simulate an Excalibur
hardware design system module, called xa_tutorial, and download it onto
the EPXA1 development board. This simple, single-master system
module has an Excalibur device processor and associated advanced
microprocessor bus architecture (AMBA) high-performance bus (AHB)
system peripherals and interconnections.
After you create the xa_tutorial design and connect to external pins, you
can download it to the Altera® Excalibur device on the EPXA1
development board. The external physical pins on the Excalibur device
are in turn connected to other hardware components on the EPXA1
development board, allowing the ARM-based Excalibur Stripe to interface
with SDRAM, flash memory, LEDs, switches, and buttons.
This tutorial is divided into the following three sections:
Altera Corporation
■
“Design Entry” on page 11 teaches you how to create the Excalibur
device system module in a block design file (.bdf) using the
MegaWizard® Plug-In Manager and SOPC Builder.
■
“Compilation” on page 33 teaches you how to compile SOPC Builder
design using compiler settings, pin assignments, and EDA tool
settings to control compilation processing.
■
“Software Build & Programming” on page 45 teaches you how to use
the Quartus II software to add the software files needed for the
xa_tutorial project, set the software build settings and select the links
for simulating the project. This section also teaches you how to
download the hardware and software image file to the device on the
EPXA1 development board.
9
Using SOPC Builder with Excalibur Devices Tutorial
Overview
Hardware &
Software
Requirements
This tutorial requires the following hardware and software:
Directory
Structure
This tutorial assumes that you create and save your files in a working
directory on the c: drive on your computer. If your working directory is
on another drive, substitute the appropriate drive name.
■
GNU Tools for ARM and Excalibur component available on the GNU
Tools and Excalibur Component CD-ROM
ModelSim® Altera Edition version 5.7c or higher
Quartus II software version 3.0 or higher
A EPXA1 development board, set up as described in the EXPA1
Development Kit Getting Started User Guide
■
■
■
The GNU Tools and Excalibur Component CD-ROM installation creates the
directories shown in Table 1 in the \altera\kits\xa directory by default:
Table 1. Directory Structure
Directory
Name
More
Information
10
Description
bin
Contains the GNU tools and Excalibur component scripts.
components
Contains the SOPC builder Excalibur device description files.
documents
Contains documentation for the the Excalibur devices and SOPC
builder.
examples
Contains Excalibur example designs.
tutorials
Contains the files for this tutorial.
SOPC builder includes support for the Excalibur device and peripheral
using the AHB protocol. For more Excalibur-related and SOPC builder
information see the documents available at
www. altera.com/literature/lit-index.html.
Altera Corporation
Design Entry
This design entry section shows you how to create the Excalibur system
module project, which includes how you create a top-level block-level
diagram (.bdf) that contains the Excalibur system module. You create and
instantiate the Excalibur system module using the SOPC builder.
Create a
Quartus II
Project
The instructions in this section assume that you are familiar with
the Quartus II software interface, specifically the toolbars. Refer
to the Quartus II Help for information that is not included in the
tutorial.
To create a Quartus II project, perform the following steps:
■
■
Start the Quartus II Software
Create a Project
Start the Quartus II Software
To start the Quartus II software and begin creating your project, choose
Start > Programs > Altera > Quartus II <version> (Windows Start menu)
to start the Quartus II software.
Create a Project
With the New Project wizard, you specify the working directory for the
project, assign the project name, and designate the name of the top-level
design entity. To create a new project, perform the following steps:
1.
Choose New Project Wizard (File menu).
2.
Click Next in the introduction (the introduction does not display if
you turned it off previously).
3.
Specify the working directory for your project. This tutorial uses the
following directory:
c:\altera\kits\xa\tutorials\xa_tutorial
4.
Altera Corporation
Specify the name of the project and the top-level design entity,
xa_tutorial (see Figure 1). Click Next.
11
Design Entry
1
2
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 1. Specify the Project Name & Directory
5.
12
Click Next to accept the default settings (see Figure 2).
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
Figure 2. Add Files [page 2 of 6]
2
Design Entry
Altera Corporation
6.
Click Next to accept the default settings.
7.
Choose Excalibur_ARM from the drop-down list and select Yes to
assign a specific device (see Figure 3).
13
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 3. Device Family [page 4 of 6]
8.
Click Next.
9.
Choose 484 in the Pin Count drop-down box to show all devices.
10. Choose EPXA1F484C1 from the Available devices list (see Figure 4).
11. Under Filters, specify the following options (see Figure 4):
–
–
–
14
Package: Any
Pin count: 484
Speed grade: Any
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
Figure 4. Select a Target Device
2
Design Entry
12. Click Next. A summary of project decisions you made displays (see
Figure 5).
Altera Corporation
15
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 5. New Project Wizard Summary
13. Click Finish.
You have finished creating your xa_tutorial Quartus II project.
Create an
Excalibur
System Module
This section describes how to create the top-level block design file (.bdf)
that contains an Excalibur system module. Altera provides a partial .bdf
file for you to start with. First, you will use SOPC builder to configure the
Excalibur device, configure system peripherals, and connect these
elements to make an Excalibur system module. Next, you connect the
Excalibur system module ports to the Excalibur device pins that are
connected to hardware components on the EPXA1 development board.
1
The xa_tutorial.bdf file is the Altera-provided top-level design
entity of the xa_tutorial project.
This section includes the following steps:
16
1.
“Start SOPC builder” on page 17
2.
“Add CPU & Peripherals” on page 18
3.
“Generate the System” on page 28
4.
“Add the Symbol to the .bdf” on page 30.
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
Start SOPC builder
SOPC builder is a wizard that guides you through the process of creating
a system module or a more general multi-master SOPC module. A
complete system module contains a master and its associated system
peripherals.
SOPC builder helps you easily specify options for the system module. The
wizard prompts you for the values you want to set for parameters and
which optional ports and peripherals you want to use. Once the wizard
generates the system module, you can instantiate it in the design file.
1.
In the Quartus II software, choose SOPC Builder (Tools menu).
2.
In the Create New System box, enter xa1 as the system name and
select Verilog as the language (see Figure 6).
Design Entry
To start SOPC builder, perform the following steps:
Figure 6. Create New System
3.
Altera Corporation
2
Click OK. The Altera SOPC Builder appears (see Figure 7).
17
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 7. SOPC Builder System Contents Page
4.
Select Excalibur in the Target Device family drop-down box.
5.
Enter 25 in the System Clock frequency box.
To build your system, you add the components from the left panel (system
builder pool) to the system table to create your system module.
Add CPU & Peripherals
The system peripherals allow the Excalibur device to connect and
communicate with internal logic in the Excalibur device, or external
hardware on the EPXA1 development board. Use SOPC builder to specify
the name, type, memory map addresses, and interrupts of the system
peripherals for your system module.
1
18
The following instructions ensure that the xa1 design functions
correctly on the EPXA1 development board, and allow you to
run the software examples provided in your project’s software
development kit (SDK) directory.
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
f
Design Entry
See EPXA1 Development Board Hardware Reference Manual for more
information about the Excalibur device board components.
You will add the following modules with SOPC builder:
■
■
Excalibur device
–
ARM processor
–
UART
–
Flash interface
–
PIO
LCD driver logic
2
Design Entry
Excalibur Device
To add the Excalibur device, perform the following steps:
1.
Choose Excalibur stripe under AHB Modules.
2.
Click Add. The Excalibur wizard displays.
3.
Specify the following options (see Figure 8):
–
–
–
–
–
–
Altera Corporation
Excalibur family: Excalibur_ARM
Available device: EPXA1
Boot from flash: turn on
Byte order: Little endian
SDRAM: turn off
UART: turn on
19
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 8. Select & Configure the Excalibur Device
4.
20
Click Next.
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
5.
Specify the following options (see Figure 9):
–
–
–
–
–
–
6.
Design Entry
Do you want to use the STRIPE-TO-PLD bridge?: turn on
Do you want to use the PLD-TO-STRIPE bridge?: turn off
Do you want to use the STRIPE-TO-PLD interrupt sources?:
turn off
Do you want to use the PLD-TO-STRIPE interrupt sources?:
turn off
Do you want to use processor debug extensions?: turn off
Do you want to use the GPIO?: turn on and select 4 bits
Click Next.
Design Entry
Figure 9. Excalibur MegaWizard Page 2: Specify Bridge Use and Interrupt
Altera Corporation
2
21
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
7.
Specify the following AHB1 and AHB2 clock options (see Figure 10):
–
–
–
–
8.
Enter External clock reference frequency: 25.0 MHz
Bypass PLL1: turn off
Enter AHB1 frequency: 200.00000 MHz
Select AHB2 frequency: 100.00000 MHz
Click Next.
Figure 10. Excalibur MegaWizard Page 3: Configure PLLs and Clock Frequency
9.
22
Select 016K for the SRAM0 size and 00000000 for the base address
(see Figure 11).
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
10. Select 16K for the SRAM1 size and 00020000 for the base address (see
Figure 11).
Figure 11. Excalibur MegaWizard Page 4: Specify PLD Memory Settings
2
Design Entry
11. Click Next. The wizard displays all the wizard-created files based on
the decisions that you made for the Excalibur device (see Figure 12).
Altera Corporation
23
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 12. Excalibur MegaWizard Directory Files Summary
10. Click Finish. This returns you to the SOPC builder xa1 window. The
Excalibur device is added to your system (see Figure 13).
Figure 13. SOPC Builder with Excalibur Device
24
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
LCD Peripheral
To import the provided LCD driver hardware design files, perform the
following steps:
1.
Choose Interface to User Logic from the SOPC Builder component
list and click Add.
2.
Click the Ports tab of the Interface to User Logic window (see
Figure 14).
2
Altera Corporation
3.
In the Bus Interface Type drop-down box, choose AHB Slave.
4.
Check Import Verilog, VDHL, EDIF or Quartus Schematic File.
5.
Click Add and browse to \xa_tutorial\lcd_peripheral.
Design Entry
Figure 14. Add LCD Peripheral
25
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
6.
Select ahb_lcd.v, lcd_addr_inc.v, and xa1_ahb_inc.v and click Open
7.
Specify ahb_lcd as the Top module.
8.
Click Read port-list from files. SOPC Builder reads the ports from
the Verilog HDL files and automatically assigns most of the pins
with the appropriate width, direction, and type.
9.
Change the type to export for the following ports: Lcd_rs, lcd_rw,
lcd_e, lcd_db, lcd_vo. This action displays the signals on the system
module so that they can be connected to device pins.
10. Click Next.
11. Select Simulate user logic.
12. Click Add to System.
13. In the SOPC Builder window, right click on
user_defined_interface_0 and rename it to lcd.
14. Choose Show Master Connections (View menu) to display the
matrix that shows the system master and slaves connected to it.
You are finished adding peripherals for the xa1 system (see Figure 15).
26
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
Figure 15. SOPC Builder System
2
Design Entry
Specify Base Addresses
SOPC builder assigns default base address values for the components in
your system module. However, you can modify these defaults by clicking
the base address and typing the a different value.
Set the Excalibur Device
To set the excalibur device, perform the following steps:
Altera Corporation
1.
Click the More “ARM_Stripe” Settings tab.
2.
Under software settings, specify the following options (see
Figure 16):
a.
Set Host Communication function to
ARM_Stripe/arm_stripe_uart at address 0x7fffc280.
b.
Set Program Memory function to
ARM_Stripe/arm_stripe_sram0 at address 0x00000000.
27
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
c.
3.
Set Data Memory function to ARM_Stripe/arm_stripe_sram0 at
address 0x00000000.
Under Simulation select Use Fast Stripe Simulation Model.
Figure 16. More “ARM_Stripe” Settings Tab
Generate the System
Before generating the design, perform the following steps:
1.
Select the System Generation tab.
2.
Under Options, specify the following options (Figure 17):
–
–
–
28
SDK: Turn on
HDL: Turn on
Simulation: Turn on
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
Figure 17. SOPC Builder System Generation Tab
2
Design Entry
To generate the design, perform the following steps:
1.
Click Generate.
The SOPC builder performs a variety of actions during design
generation, depending on which options you have specified. For the
design created using this tutorial, which has all available SOPC
builder options turned on, the SOPC builder performs the following
actions:
–
–
–
Generates the SDK, C, and Assembly language header and
source files
Generates the HDL source files
Creates the simulation project and source files
During generation, information and messages appear in the window
area of the System Generation tab.
When generation is complete, the SYSTEM GENERATION
COMPLETED message displays (see Figure 18).
Altera Corporation
29
Design Entry
Excalibur Devices Using SOPC Builder Tutorial
Figure 18. System Generation Completes
2.
Click Exit. This returns you to the Quartus II Software Symbol
dialog box.
Add the Symbol to the .bdf
During generation, SOPC builder creates a symbol for your SOPC builder
system module. You can add the xa1 symbol to your .bdf. In the
Quartus II software, the newly-created xa1 project directory displays. To
add the symbol, perform the following steps:
To open xa_tutorial.bdf and add the xa1 symbol to it, perform the
following steps:
30
1.
Choose Open (File menu).
2.
In the Files of Type drop-down box, choose Device Design Files.
3.
Choose xa_tutorial.bdf.
4.
Click OK.
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Design Entry
5.
Double click in the xa_tutorial.bdf to display the Symbol window.
6.
Under projects choose xa1.bsf. A preview of the xa1 symbol appears
in the Symbol dialog box.
7.
The xa1 symbol graphic is attached to the pointer. Click OK to
instantiate the xa1 symbol in the .bdf file.
8.
To place the graphic symbol, align the pins on the symbol with the
existing pins in the .bdf and click in the window (see Figure 19).
9.
Altera Corporation
Design Entry
Figure 19. Adding the xa_tutorial_system Symbol
2
Choose Save (File menu).
31
Design Entry
32
Excalibur Devices Using SOPC Builder Tutorial
Altera Corporation
Compilation
The Quartus II compiler consists of a series of modules that check a design
for errors, synthesize the logic, fit the design into an Altera device, and
generate output files for simulation, timing analysis, and device
programming.
This compilation section guide you through the steps necessary to create
compiler settings, assign signals to device pins, and compile the design.
The compilation section involves the following steps:
Create Compiler Settings
2.
Assign Signals to Device Pins
3.
Reserve Unused Pins
4.
Compile the Design
You can create compiler settings to control the compilation process. The
compiler settings specify the compilation focus, the type of compilation to
perform, the device to target, and other options. This section involves the
following steps:
1.
View the Compiler General Settings
2.
Specify the Device Family & Device
1
Altera Corporation
3
The procedures explain how to view and edit compiler settings
using menu commands and dialog boxes. However, you can also
easily specify compiler settings by following the steps in the
Compiler Settings Wizard (Processing menu).
33
Compilation
Create
Compiler
Settings
1.
Compilation
Excalibur Devices Using SOPC Builder Tutorial
View the Compiler General Settings
The General tab of the Compiler Settings dialog box (Processing menu)
allows you to select an existing group of compiler settings for use during
compilation, define and save a new group of compiler settings, specify the
compilation focus, or delete existing settings.
To view the default compiler general settings created for the current
project, perform the following steps:
1.
Choose Settings (Assignments menu).
2.
Under Compiler Settings category, choose General.
At this point in the tutorial, the General tab displays only the default
compiler general settings. These default settings are given the name of the
top-level design entity in the project, xa_tutorial (see Figure 20).
34
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Compilation
Figure 20. Default Compiler Settings
3
Compilation
Specify the Device Family & Device
The EPXA1 development board includes an EPXA1F484C1 device. In this
section, you will target this device in the compiler settings.
To select the device family and device, perform the following steps:
Altera Corporation
1.
Under Compiler Settings category choose Device (see Figure 21).
2.
In the Family list, choose EXCALIBUR_ARM.
3.
If you receive a message that asks if you want the Quartus II
software to choose a device automatically, click No.
4.
Under Target device, select Specific device selected in 'Available
devices' list.
35
Compilation
Excalibur Devices Using SOPC Builder Tutorial
5.
In the Available devices list, choose EPXA1F484C1.
6.
In the Show in ‘Available devices’ list, verify the following options:
–
–
–
Package: Any
Pin count: 484
Speed grade: Any
1
36
As you change these options from Any, the number of
available device listed decreases, making it easier for you to
find your target device.
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Compilation
Figure 21. Device Settings
3
Compilation
Assign Signals
to Device Pins
The EPXA1 stripe peripheral signals, such as the UART, EBI, and clock
signals, are automatically assigned to the correct pins by the Quartus II
software. Table 2 shows the pin assignments for the signals in the FPGA
that you must make.
Table 2. Pin Assignments (Part 1 of 2)
Signal
Altera Corporation
Pin Assignment
pld_clk
Pin_u1
reset
Pin_u18
lcd_db[0]
Pin_AB10
lcd_db[1]
Pin_M6
lcd_db[2]
Pin_M5
lcd_db[3]
Pin_M4
37
Compilation
Excalibur Devices Using SOPC Builder Tutorial
Table 2. Pin Assignments (Part 2 of 2)
Signal
Pin Assignment
lcd_db[4]
Pin_M3
lcd_db[5]
Pin_L3
lcd_db[6]
Pin_L2
lcd_db[7]
Pin_L1
lcd_e
Pin_R10
lcd_rs
Pin_T10
lcd_rw
Pin_T9
lcd_vo
Pin_AB9
gpo[0]
Pin_Y21
gpo[1]
Pin_Y18
gpo[2]
Pin_W21
gpo[3]
Pin_W17
To make the assignments, perform the following steps:
38
1.
Choose the pld_clk and reset pins in the .bdf (hold down the
shift key to select multiple pins).
2.
Right click and choose Assignment Editor.
3.
In the Assignment Editor window, in the Category drop-down box,
choose Locations > Pin.
4.
Double click in the Location field next to the pin name and choose
the correct pin assignment (see Table 2).
5.
Choose the gpo[3..0] pin in the .bdf, right click, and choose
Assignment Editor.
6.
In the Assignment Editor window, in the Category drop-down box,
choose Locations > Pin.
7.
Double click in the Location field next to the pin name and choose
the correct pin assignment (see Table 2).
8.
Choose the remaining pins from Table 2 (hold down the shift key to
select multiple pins), right click and choose Assignment Editor.
9.
Double click in the Location field next to the pin name and choose
the correct pin assignment (see Table 2).
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
1
Compilation
You may receive benign warning messages like the following
message, which you can ignore.
Warning: Assignment may contain error destination name not found
Reserve
Unused Pins
Before compiling the design, you must specify options that control the use
of unused pins. To specify options for reserving unused pins, perform the
following steps:
1
You must perform these steps. otherwise your design will not
run on the EXPA1 development board.
1.
Choose Settings (Assignments menu).
2.
Under Compiler Settings category, choose Device.
3.
Click Device & Pin Options (see Figure 22).
3
Figure 22. Device & Pin Options
Compilation
Altera Corporation
39
Compilation
Excalibur Devices Using SOPC Builder Tutorial
4.
Click the Unused Pins tab (see Figure 23).
Figure 23. Unused Pins Tab
40
5.
Under Reserve all unused pins, select As inputs, tri-stated.
6.
Click OK.
7.
Click Device & Pin Options.
8.
Click the Configuration tab (see Figure 24).
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Compilation
Figure 24. Device & Pin Options - Configuration
3
Compilation
9.
Choose Boot From Flash from the Configuration scheme dropdown list.
10. Click OK.
11. Click Device & Pin Options.
12. Click the General tab (see Figure 25).
Altera Corporation
41
Compilation
Excalibur Devices Using SOPC Builder Tutorial
Figure 25. Device & Pin Options - General Tab
13. Turn on Enable INIT_DONE output.
14. Click OK.
15. Click OK, to finalize the unused pin settings and return to the
Quartus II software window.
Compile the
Design
During compilation the compiler locates and processes all design and
project files, generates messages and reports related to the current
compilation, and creates the .sof file and any optional programming files.
v To compile the xa1 design, choose Start Compilation (Processing
menu).
42
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Compilation
The compiler compiles the xa_tutorial design entity, and any subordinate
design entities, using the xa_tutorial compiler settings. As the design
compiles, the Status window automatically displays, as a percentage, the
total compilation progress and the time spent in each stage of the
compilation. The results of the compilation are updated in the
Compilation Report window. The total compilation time may be 10
minutes or more, depending on your system.
The compiler may generate one or more of the following warning
messages that do not affect the outcome of your design (see Figure 26).
Figure 26. Quartus Compiler Messages
Warning
messages
3
If the compiler displays any error messages, you should correct them in
your design and recompile it until it is error-free before proceeding with
the tutorial.
1
Verify that all the pin assignments are correct. This is a common
error causing compilation errors.
You can select the message and choose Locate (right button pop-up menu)
to find its source(s), and/or choose Help (right button pop-up menu) to
display help on the message. Refer to the Compilation module in the
Quartus II on-line tutorial for more information about viewing compilation
results
Altera Corporation
43
Compilation
When compilation completes, you can view the results in the xa_tutorial
module Compilation Report window.
Software Build &
Programming
You have already completed creating and instantiating the xa_tutorial
system. This chapter guides you through the steps in SOPC Builder for
building the software code and running the design on the EPXA1
development board.
This section gives instructions for building the software code using either
the excalibur-build utility in the SDK Shell using GNU Tools or using
Quartus II Software Builder with GNU tools.
To create the software build, you will add the software files, select
software build settings, and establish the linking of the files. In this section
you will set up the Quartus II software to compile the program. The
various compiler and linker options will be set to produce a .hex file.
Programming
Software Build
4
Verify GNU Tools
Verify that the GNU Tools are selected as the software toolset. To specify
the directory of the software toolset, perform the following steps:
1.
Choose Settings (Assignments menu).
2.
Expand the Files & Directories category. and choose Toolset
Directories.
3.
In the Toolset directories list, select GNUPro for ARM.
4.
In Toolset directory, type the directory for the GNU Tools <installed
directory>/bin or select the software toolset directory using Browse.
5.
Click OK.
4
You can use either the software builder with GNU tools or the excaliburbuild utility to compile the software files.
Altera Corporation
45
Programming
Select Software Build Settings
Software Build & Programming
Excalibur Devices Using SOPC Builder Tutorial
Using Quartus II Software Builder with the GNU Tools
To use the Quartus II software builder with the GNU tools, perform the
following steps:
1.
Choose Tcl Scripts (Tools menu).
2.
Expand ARM_Stripe_sdk, choose make_quartus_sw_project.tcl,
and click Run.
3.
Choose Open (File menu).
4.
In Files of type choose Software files (*.c, *.cpp, *.h, *.s, *.asm).
5.
Turn on Add file to current project.
6.
Choose the ARM_Stripe_sdk directory.
7.
Choose the src directory.
8.
Choose the following software files:
main.c
xa_lcd_so1602.c
xa_lcd_so1602.h
9.
Click Open.
10. To create the xa_tutorial_flash.hex, choose Start Software Build
(Tools menu).
Using the excalibur-build Utility
To use the excalibur-build utility, perform the following steps:
1.
Choose Programs > Altera > GNU Tools and Excal Component >
XA SOPC SDK Shell (Windows Start menu).
2.
To create the main_flash.hex, type the following commands:
cd \<install directory>\arm_stripe_sdk\srcr
excalibur-build xa_lcd_so1602.c main.cr
You will use either the xa_tutorial_flash.hex or the main_flash.hex file in
“Download Files to the Board” on page 47 to program the flash on the
EPXA1 Development Board. Both files contain the same data.
46
Altera Corporation
Excalibur Devices Using SOPC Builder Tutorial
Simulate the
Design
f
Software Build & Programming
You can simulate the design using the simulation files that SOPC Builder
automatically generates. To run a simulation with the Excalibur stripe
simulation model (ESS), perform the following steps:
For more information on ESS, refer to the Excalibur Stripe Simulation User
Guide.
1.
In the Quartus II software, choose SOPC Builder (Tools menu).
2.
Select the System Generation page.
3.
Click Run ModelSim to launch your simulation project in
ModelSim. ModelSim opens and gives you a list of options to load,
compile, and run your simulation.
4.
To compile and load your simulation files, type ‘’s’’
5.
To bring up a waveform window, type ‘’w’’
6.
To launch the simulation, type run - allr
ESS launches a telnet window to emulate the output of the stripe UART
and displays the following text from the printf:
‘’Look for a message on the LCD’’
You can view the signals in the ModelSim waveform window as the
simulation shows code being executed.
To program flash memory on the EPXA1 development board with the
flash image that you created in “Software Build” on page 45, perform the
following steps:
1
Ensure that you have set up the board as described in the EPXA1
Development Board Getting Started Guide.
1.
Choose Programs > Altera > GNU Tools and Excal Component >
XA SOPC SDK Shell (Windows Start menu).
2.
If you used the Quartus II Software Builder to generate the flash
image, change to the following directory:
<install directory>\tutorials\xa_tutorial
or
Altera Corporation
47
4
Programming
Download Files
to the Board
Software Build & Programming
Excalibur Devices Using SOPC Builder Tutorial
If you used the excalibur-build utility to generate the flash image,
change to the following directory:
<install directory>\tutorials\xa_tutorial\arm_stripe_sdk\src
3.
At the command prompt, type:
exc_flash_programmer.exe -g xa_tutorial_flash.hexr
After programming completes, the message Flash programmed
successfully appears in the command prompt window
(see Figure 27). The EPXA1F484C1 device resets and boots from the data
programmed into the flash memory. The LEDs on the development board
illuminate a pattern and the following message is output through the
UART:
Look for a message on the LCD.....
A message then displays on the LCD module (see Figure 27).
Figure 27. Successful Download Message
Next Steps
Congratulations! You have finished creating, verifying, and running the
xa_tutorial system module using SOPC Builder.
See the Altera literature page for more information about SOPC Builder,
the Excalibur device, and the EPXA1 development board at
www.altera.com/literature/lit-index.html.
48
Altera Corporation