ARM Cortex M3 Designstart Eval Fpga User Guide
ARM Cortex M3 Designstart Eval Fpga User Guide
Revision: r0p0
Document History
Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use
the information for the purposes of determining whether implementations infringe any third party patents.
THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES,
EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE
WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, ARM makes no representation with respect to, and has
undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other
rights.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES,
INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR
CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING
OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure of
this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof is
not exported, directly or indirectly, in violation of such export laws. Use of the word “partner” in reference to ARM’s customers is
not intended to create or refer to any partnership relationship with any other company. ARM may make changes to this document at
any time and without notice.
If any of the provisions contained in these terms conflict with any of the provisions of any signed written agreement covering this
document with ARM, then the signed written agreement prevails over and supersedes the conflicting provisions of these terms.
This document may be translated into other languages for convenience, and you agree that if there is any conflict between the
English version of this document and any translation, the terms of the English version of the Agreement shall prevail.
Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited or its affiliates in the EU and/or
elsewhere. All rights reserved. Other brands and names mentioned in this document may be the trademarks of their respective
owners. Please follow ARM’s trademark usage guidelines at http://www.arm.com/about/trademark-usage-guidelines.php
LES-PRE-20349
Confidentiality Status
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in
accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2
Non-Confidential
ARM® Cortex®-M3 DesignStart™ Eval
Product Status
The information in this document is Final, that is for a developed product.
Web Address
http://www.arm.com
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3
Non-Confidential
Contents
ARM® Cortex®-M3 DesignStart™ Eval FPGA User
Guide
Preface
About this book ...................................................... ...................................................... 7
Feedback .................................................................................................................... 10
Chapter 1 Introduction
1.1 About Cortex®-M3 DesignStart™ Eval ................................... ................................... 1-12
1.2 About the ARM Versatile Express Cortex-M Prototyping System (V2M-MPS2+) . . 1-14
1.3 Using the documentation ............................................ ............................................ 1-15
1.4 FPGA Evaluation Flow directory structure ............................... ............................... 1-17
1.5 Limitations ....................................................... ....................................................... 1-18
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 4
Non-Confidential
3.6 Arduino adapter board .............................................. .............................................. 3-30
3.7 Embedded Trace Macrocell interface ...................................................................... 3-31
3.8 CMSDK APB subsystem ............................................ ............................................ 3-32
3.9 AHB GPIO ....................................................... ....................................................... 3-33
3.10 Serial Peripheral Interface ........................................... ........................................... 3-34
3.11 Color LCD parallel interface .......................................... .......................................... 3-35
3.12 Ethernet ......................................................... ......................................................... 3-36
3.13 VGA ............................................................ ............................................................ 3-37
3.14 Audio I2S ........................................................ ........................................................ 3-38
3.15 Audio configuration .................................................................................................. 3-40
3.16 FPGA system control and I/O .................................................................................. 3-41
Chapter 4 Clocks
4.1 Source clocks .......................................................................................................... 4-43
4.2 Derived clocks .................................................... .................................................... 4-44
Appendix A Revisions
A.1 Revisions - Cortex®-M3 DesignStart™ Eval .......................... .......................... Appx-A-59
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 5
Non-Confidential
Preface
This preface introduces the ARM® Cortex®-M3 DesignStart™ Eval FPGA User Guide.
It contains the following:
• About this book on page 7.
• Feedback on page 10.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 6
Non-Confidential
Preface
About this book
Intended audience
This book is written for hardware engineers, software engineers, system integrators, and system
designers, who might not have previous experience of ARM products, but want to run a complete
example of a working system.
Glossary
The ARM® Glossary is a list of terms used in ARM documentation, together with definitions for those
terms. The ARM Glossary does not contain terms that are industry standard unless the ARM meaning
differs from the generally accepted meaning.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 7
Non-Confidential
Preface
About this book
Typographic conventions
italic
Introduces special terminology, denotes cross-references, and citations.
bold
Highlights interface elements, such as menu names. Denotes signal names. Also used for terms
in descriptive lists, where appropriate.
monospace
Denotes text that you can enter at the keyboard, such as commands, file and program names,
and source code.
monospace
Denotes a permitted abbreviation for a command or option. You can enter the underlined text
instead of the full command or option name.
monospace italic
Denotes arguments to monospace text where the argument is to be replaced by a specific value.
monospace bold
Denotes language keywords when used outside example code.
<and>
Encloses replaceable terms for assembler syntax where they appear in code or code fragments.
For example:
MRC p15, 0, <Rd>, <CRn>, <CRm>, <Opcode_2>
SMALL CAPITALS
Used in body text for a few terms that have specific technical meanings, that are defined in the
ARM® Glossary. For example, IMPLEMENTATION DEFINED, IMPLEMENTATION SPECIFIC, UNKNOWN, and
UNPREDICTABLE.
Timing diagrams
The following figure explains the components used in timing diagrams. Variations, when they occur,
have clear labels. You must not assume any timing information that is not explicit in the diagrams.
Shaded bus and signal areas are undefined, so the bus or signal can assume any value within the shaded
area at that time. The actual level is unimportant and does not affect normal operation.
Clock
HIGH to LOW
Transient
HIGH/LOW to HIGH
Bus stable
Bus change
Signals
The signal conventions are:
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 8
Non-Confidential
Preface
About this book
Signal level
The level of an asserted signal depends on whether the signal is active-HIGH or active-LOW.
Asserted means:
• HIGH for active-HIGH signals.
• LOW for active-LOW signals.
Lowercase n
At the start or end of a signal name denotes an active-LOW signal.
Additional reading
This book contains information that is specific to this product. See the following documents for other
relevant information.
ARM publications
• Cortex®-M3 DesignStart™ Eval publications:
— ARM® Cortex®-M3 DesignStart™ Eval RTL and Testbench User Guide (ARM 100894).
— ARM® Cortex®-M3 DesignStart™ Eval RTL and FPGA Quick Start Guide (ARM 100895).
— ARM® Cortex®-M3 DesignStart™ Eval Customization Guide (ARM 100897).
• Other ARM publications:
— ARM® Cortex®-M System Design Kit Technical Reference Manual (ARM DDI0479).
— ARM® TrustZone® TRNG True Random Number Generator Technical Reference Manual
(ARM 1009676).
— ARM® PrimeCell™ Real Time Clock (PL031) Technical Reference Manual (ARM DDI
0224).
— ARM® PrimeCell® Synchronous Serial Port (PL022) Technical Reference Manual (ARM
DDI 0194).
— ARM® Versatile™ Express Cortex®-M Prototyping System (V2M-MPS2 and V2M-MPS2+)
Technical Reference Manual (ARM 100112).
— Application Note AN531 uSDCARD SPI Adapter for the Cortex-M Prototyping System
(MPS2+) (ARM DAI 0531).
— Application Note AN502 Adapter for Arduino for the Cortex-M Prototyping System
(MPS2 and MPS2+) (ARM DAI 0502).
— ARM® AMBA® 3 AHB-Lite Protocol Specification (v1.0) (ARM IHI 0033).
— ARM® Architecture Reference Manual ARMv7, for ARMv7-M architecture profile (ARM
DDI0403).
— ARM® Cortex®-M3 Technical Reference Manual (ARM 100165).
— ARM® Cortex®-M3 Devices Generic User Guide (ARM DUI0552).
Other publications
None.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 9
Non-Confidential
Preface
Feedback
Feedback
Feedback on content
If you have comments on content then send an e-mail to [email protected]. Give:
• The title ARM Cortex-M3 DesignStart Eval FPGA User Guide.
• The number ARM 100896_0000_00_en.
• If applicable, the page number(s) to which your comments refer.
• A concise explanation of your comments.
ARM also welcomes general suggestions for additions and improvements.
Note
ARM tests the PDF only in Adobe Acrobat and Acrobat Reader, and cannot guarantee the quality of the
represented document when used with any other PDF reader.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 10
Non-Confidential
Chapter 1
Introduction
This chapter introduces Cortex-M3 DesignStart Eval and gives an overview of the FPGA Evaluation
Flow, its directory structure, and limitations.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-11
Non-Confidential
1 Introduction
1.1 About Cortex®-M3 DesignStart™ Eval
1.1.1 RTL
The RTL in Cortex-M3 DesignStart Eval includes the components and peripherals that are required to
implement a complete example system in an FPGA.
The example system is intended to provide a reference starting point for a typical IoT endpoint
application and is a supported ARM mbed™ platform when implemented on the ARM Versatile Express
Cortex-M Prototyping System (V2M-MPS2+) platform.
The Cortex-M3 DesignStart Eval RTL provides an example system that includes:
• A Cortex-M3 processor in a fixed configuration (obfuscated but synthesizable).
• A modified CoreLink SSE-050 subsystem supporting a single Cortex-M3 processor with support for
debug and trace.
• A memory subsystem supporting Execute In Place (XIP). The MPS2+ platform preloads a code file
at powerup.
• Two timers for Operating System use (privileged access only).
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-12
Non-Confidential
1 Introduction
1.1 About Cortex®-M3 DesignStart™ Eval
• Peripherals for:
— Application use, including Timers, UART, Watchdog, Real Time Clock (RTC), True Random
Number Generator (TRNG).
— MPS2+ platform, including Color LCD, Audio, and Ethernet.
— Arduino Shield expansion using the adapter for the Arduino board.
• SPI interface supporting application persistent storage on microSD card.
• Reusable ARM Advanced Microcontroller Bus Architecture (AMBA) SoC interconnect components
for system level development.
You must not modify the obfuscated Cortex-M3 processor (cortexm3ds_logic.v).
You are only permitted to redistribute the following files (modified or original), with the original headers
unchanged, and any modifications clearly identified:
• fpga_top.v
• m3ds_user_partition.v
• m3ds_peripherals_wrapper.v
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-13
Non-Confidential
1 Introduction
1.2 About the ARM Versatile Express Cortex-M Prototyping System (V2M-MPS2+)
1.2 About the ARM Versatile Express Cortex-M Prototyping System (V2M-MPS2+)
The MPS2+ platform is a small FPGA development board that contains:
• A Motherboard Configuration Controller (MCC).
• An Altera Cyclone V FPGA.
• Various memories and debug connectors.
• A color LCD touch screen.
• Connectors for Ethernet, VGA, Audio, and serial interfaces.
• User switches and LEDs.
• An SPI to microSD card adapter.
You can program the FPGA with the FPGA image built using ARM Cortex-M3 DesignStart Eval.
The MPS2+ platform enables hardware and software developers to rapidly design and test hardware and
software components as part of a Cortex-M3 processor ecosystem.
For more information on the MPS2+ platform specification, see the ARM® Versatile™ Express Cortex®-M
Prototyping System (V2M-MPS2 and V2M-MPS2+) Technical Reference Manual.
This section contains the following subsection:
• 1.2.1 Decryption Key on page 1-14.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-14
Non-Confidential
1 Introduction
1.3 Using the documentation
Other documents
The following table shows the documents that relate to the design flow processes for Cortex-M3
DesignStart Eval:
ARM® Cortex®-M3 DesignStart™ Eval RTL and FPGA Quick Start Describes how to run basic tests using an RTL simulator and an
Guide FPGA platform.
Note
This is a procedural user-level document that gives a complete
example of a working system. This document is highly
recommended for users who do not have previous experience of
ARM products.
ARM® Cortex®-M3 DesignStart™ Eval Customization Guide Describes the high-level steps to integrate your own peripherals,
and make other modifications to the Cortex-M3 DesignStart Eval
system.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-15
Non-Confidential
1 Introduction
1.3 Using the documentation
• The MPS2+ platform, see the ARM® Versatile™ Express Cortex®-M Prototyping System (V2M-MPS2
and V2M-MPS2+) Technical Reference Manual.
• The True Random Number Generator (TRNG), see the ARM® TrustZone® TRNG True Random
Number Generator Technical Reference Manual.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-16
Non-Confidential
1 Introduction
1.4 FPGA Evaluation Flow directory structure
<install_directory>/
docs/
cmsdk/
m3designstart/
fpga/
logical/
software/
m3designstart_iot/
rtc_pl031/
smm/
trng/
boards/
Recovery/
Directory Description
docs/ Contains documentation for Cortex-M3 DesignStart Eval.
cmsdk/ Contains the RTL for:
• ARM Cortex-M System Design Kit (CMSDK) components. Some CMSDK components are
used in the example system in Cortex-M3 DesignStart Eval.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-17
Non-Confidential
1 Introduction
1.5 Limitations
1.5 Limitations
This section describes the limitations of the Cortex-M3 DesignStart Eval FPGA Evaluation Flow.
You should not use the processor technology or the supporting deliverables as an indicator of what is
received under a full technology license of the ARM Cortex-M3 processor.
This section contains the following subsections:
• 1.5.1 Deliverables on page 1-18.
• 1.5.2 Processor support on page 1-18.
1.5.1 Deliverables
Cortex-M3 DesignStart Eval does not contain the EDA tools used for simulation or compilation.
You must obtain the software tools separately.
The following table shows the supported software tools for Cortex-M3 DesignStart Eval:
Compile RTL and FPGA build software The recommended minimum version is:
• Intel Quartus version 16.1.
Note
The Cyclone device on the ARM MPS2+ platform is also
supported by the free Lite Edition of Quartus Prime. No Quartus
license is required to build the Cortex-M3 DesignStart Eval FPGA
Evaluation Flow.
For more information on how to compile and simulate the RTL, see the ARM® Cortex®-M3 DesignStart™
Eval RTL and Testbench User Guide.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 1-18
Non-Confidential
Chapter 2
Using the prebuilt FPGA image
Cortex-M3 DesignStart Eval includes a prebuilt FPGA image file of the Cortex-M3 DesignStart Eval
example system. This chapter describes how to set up the MPS2+ platform to load the prebuilt file and
run a self-test program.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2-19
Non-Confidential
2 Using the prebuilt FPGA image
2.1 Setting up the MPS2+ FPGA platform
Note
Ensure that the APPFILE:an511_v1.txt line is uncommented, and that all other APPFILE
lines are commented. Only one APPFILE line may be enabled.
/MB/HBI0263C/mbb_v221.ebf
Copy the file.
/SOFTWARE/iot_test.axf
Copy the file.
/config.txt
Copy the file.
Note
In this file, RTC = TRUE. This setting is different from other Application Notes. The Real
Time Clock (RTC) is enabled because Cortex-M3 DesignStart Eval supports RTC, which is
updated at boot-up by the Motherboard Configuration Controller (MCC).
If you are starting with a blank microSD card in the MPS2+ motherboard card slot, you can copy the
entire contents of the boards/Recovery directory (not including the Recovery part of the path) into
the root of the microSD card.
4. Power up the MPS2+ platform.
When the platform is first powered up with a new BIOS file mbb_v221.ebf, the BIOS file is copied
internally. This is indicated by the rapid flashing of LED[0]. After the new BIOS has been successfully
copied, the platform resumes with its standard FPGA loading process, which is indicated by a count
sequence on LED[7:0]. After the FPGA is fully loaded, then the color LCD screen displays a self-test
splash screen.
If the MPS2+ platform does not boot correctly, then refer to the log.txt in the root directory of the
MPS2+ platform, which provides a log of the files loaded at bootup.
For more information on the instructions to set up the platform, see the ARM® Versatile™ Express
Cortex®-M Prototyping System (V2M-MPS2 and V2M-MPS2+) Technical Reference Manual.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2-20
Non-Confidential
2 Using the prebuilt FPGA image
2.2 Running the self-test program
Configuration Value
Data bits 8
Stop bits 1
Parity None
V2M-MPS2 revison C
Summary of results
====================================
1 AACI (Audio) : Not Run
2 CLCD (Video) : Not Run
3 TSC (touchscreen) : Not Run
4 LEDs/Switches/Buttons : Not Run
5 SSP (eeprom) : Not Run
6 Ethernet : Not Run
7 Memory : Not Run
8 Timer : Not Run
9 RTC : Not Run
Choice:
Note
To run Test 1, AACI (Audio), you must connect a 3.5mm stereo jack lead from the audio output
connector to the audio input connector.
When the test runs, the console window displays the self-test status:
Versatile Express Cortex-M Prototyping System (V2M-MPS2) Test Suite
Version 1.0.0 Build date: Mar 8 2017
Copyright (C) ARM Ltd 2015. All rights reserved.
V2M-MPS2 revison C
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2-21
Non-Confidential
2 Using the prebuilt FPGA image
2.2 Running the self-test program
Summary of results
====================================
1 AACI (Audio) : PASS
2 CLCD (Video) : PASS
3 TSC (touchscreen) : PASS
4 LEDs/Switches/Buttons : PASS
5 SSP (eeprom) : PASS
6 Ethernet : PASS
7 Memory : PASS
8 Timer : PASS
9 RTC : PASS
Choice:
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2-22
Non-Confidential
2 Using the prebuilt FPGA image
2.3 Connecting to a debugger
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 2-23
Non-Confidential
Chapter 3
FPGA platform overview
This section gives an overview of the FPGA components that are used in Cortex-M3 DesignStart Eval.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-24
Non-Confidential
3 FPGA platform overview
3.1 System overview
FPGA
User Domain
IoT Subsystem
Cortex-M3
DAP Cortex-M3 ETM
Debug TPIU
Trace
D-Code
System
I-Code
WIC
SPI
Spare AHB
to Timer
AHB Mux APB
Timer
AHB to AHB to AHB to AHB to
MCC SRAM SRAM SRAM SRAM
Spare UART x2
flash AHB to
SRAM TRNG Watchdog
SRAM0 SRAM2
RTC Dual Timer
SRAMF SRAM1 SRAM3
Spare AHB
FPGA Peripherals
AHB Mux AHB to APB
Peripherals
Arduino
System
GPIO
GPIO
GPIO
GPIO
IoT subsystem
User domain
FPGA level
Flash subsystem modeled
using SRAM
Note
This block diagram shows the functional hierarchy of the FPGA design.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-25
Non-Confidential
3 FPGA platform overview
3.2 Memory map
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-26
Non-Confidential
3 FPGA platform overview
3.3 Block RAM instances
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-27
Non-Confidential
3 FPGA platform overview
3.4 External Zero Bus Turnaround SSRAM
The ZBT SSRAM2 and ZBT SSRAM3 are connected through the AHB.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-28
Non-Confidential
3 FPGA platform overview
3.5 External PSRAM
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-29
Non-Confidential
3 FPGA platform overview
3.6 Arduino adapter board
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-30
Non-Confidential
3 FPGA platform overview
3.7 Embedded Trace Macrocell interface
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-31
Non-Confidential
3 FPGA platform overview
3.8 CMSDK APB subsystem
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-32
Non-Confidential
3 FPGA platform overview
3.9 AHB GPIO
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-33
Non-Confidential
3 FPGA platform overview
3.10 Serial Peripheral Interface
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-34
Non-Confidential
3 FPGA platform overview
3.11 Color LCD parallel interface
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-35
Non-Confidential
3 FPGA platform overview
3.12 Ethernet
3.12 Ethernet
The FPGA design connects SMSC LAN9220 through the AHB to the external memory block.
The Soft Macro Model (SMM) self-test code includes an example code for a simple loopback operation.
The Ethernet interface is supported in mbed.
Related references
2.2 Running the self-test program on page 2-21.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-36
Non-Confidential
3 FPGA platform overview
3.13 VGA
3.13 VGA
The following table shows the memory map for controlling a screen using the VGA interface:
Address Description
0x41100000 - 0x4110FFFF 512x128 image area at the top right of the screen.
0x41100000 is the top left of the image area and 0x4110FFFF is
the bottom right.
Pixels are mapped into memory from the base address using an
offset address of {YYYYYYYXXXXXXXX,0b00}, where X
and Y are the horizontal and vertical pixel offset respectively.
For the image data, each pixel requires one 32-bit word, therefore, a total of 256KB are needed. The
values in the data buffer are packed as 4 bits per channel in the format 0x00000RGB.
The pixel in the top left corner of the display occupies address 0x41100000 with each successive row
using an offset of 0x00000400 from the previous row. For example: the Left-Most Pixel (LMP) of the
second row is at 0x41100400 and the LMP of the third row is at 0x41100800.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-37
Non-Confidential
3 FPGA platform overview
3.14 Audio I2S
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-38
Non-Confidential
3 FPGA platform overview
3.14 Audio I2S
0x40024014 RXBUF Receive Buffer FIFO Data Register. This is a read-only register.
[31:16] Left channel
[15:0] Right channel
0x40024018 - RESERVED -
0x400242FC
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-39
Non-Confidential
3 FPGA platform overview
3.15 Audio configuration
The serial data is driven LOW when SDOUTEN_n is driven high, otherwise it is configured as an input
pin.
The audio I2C control interface drives the Cirrus Logic CS42L52 codec chip on the baseboard.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-40
Non-Confidential
3 FPGA platform overview
3.16 FPGA system control and I/O
0x40028004 - Reserved
0x40028008 BUTTON Buttons
[31:2] Reserved
[1:0] Buttons
0x4002800C - Reserved
0x40028010 CLK1HZ 1Hz up counter
0x40028014 CLK100HZ 100Hz up counter
0x40028018 COUNTER Cycle Up Counter Increments when the 32-bit prescale counter reaches
zero.
0x4002801C PRESCALE Contains the reload value for the prescale counter.
0x40028020 PSCNTR 32-bit prescale counter – current value of the prescaler counter. The Cycle
Up Counter increments when the prescale down counter reaches zero. The
prescaler counter is reloaded with PRESCALE after reaching zero.
0x40028024 - Reserved
0x4002804C MISC Miscellaneous control
[31:7] Reserved
[6] CLCD_BL_CTRL
[5] CLCD_RD
[4] CLCD_RS
[3] CLCD_RESET
[2] Reserved
[1] SPI_nSS
[0] CLCD_CS
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 3-41
Non-Confidential
Chapter 4
Clocks
This chapter describes the source and derived clocks for the FPGA design.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 4-42
Non-Confidential
4 Clocks
4.1 Source clocks
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 4-43
Non-Confidential
4 Clocks
4.2 Derived clocks
The system clock is SYSCLOCK in the Table 4-2 Derived clocks on page 4-44.
The clock frequencies are controlled by the configuration file an511_v1.txt located in the following
directory:
MPS2+/MB/HBI0263C/AN511
As OSCCLK[0] controls the Cortex-M3 DesignStart Eval system clock (SYSCLK), it is possible to
increase the clock by changing the OSC0 value. This value can be set from 2MHz to 230MHz, with a
1% accuracy, subject to the constraints of FPGA timing performance.
Note
If the source clocks are changed, you must modify the AN511_SMM_CM3DS.sdc in the
<install_directory>/m3designstart/fpga/AN511_SMM_CM3DS/synthesis/ directory to reflect the
new clock frequencies.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 4-44
Non-Confidential
Chapter 5
Serial Communication Controller
This chapter describes the Serial Communication Controller (SCC) used in the Cortex-M3 DesignStart
Eval FPGA image.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 5-45
Non-Confidential
5 Serial Communication Controller
5.1 SCC interface overview
FPGA
read address
Write interface
11 0
43 32 31 0
Read interface CFGDATAIN
31 0
CFGDATAOUT
0
MCU
CFGLOAD
Read data CFGWnR
CFGCLK
fpga_scc_if.v
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 5-46
Non-Confidential
5 Serial Communication Controller
5.2 SCC memory map
0x00000020 - - Reserved
0x0000009C
0x000000AD – - Reserved
0x000000FC
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 5-47
Non-Confidential
5 Serial Communication Controller
5.2 SCC memory map
0x00000104 – - Reserved
0x00000FF4
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 5-48
Non-Confidential
Chapter 6
FPGA build
This chapter describes the steps that are required to build an FPGA bit file from the supplied source
code.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 6-49
Non-Confidential
6 FPGA build
6.1 Build flow
This converts the SOF file to an RBF file, titled an511_01.rbf, in the current directory.
Note
To allow for a degree of traceability between different user bit files, the final digit can be used as a
version number.
The Motherboard Configuration Controller (MCC) for the MPS2+ platform only supports a format
of 8:3 characters for the filename, so only one digit is possible as the suffix. To change this digit
when generating the RBF file, modify the REV variable in the header of the makefile with any text
editor. If you provide an RBF file that uses a long file name, the MPS2+ platform will not boot.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 6-50
Non-Confidential
6 FPGA build
6.1 Build flow
To select an image, remove the comment ';' in front of the appropriate line and ensure that all other
APPFILE: references are preceded by the comment character. In the following example, the
board.txt selects Application Note 511 which is the Cortex-M3 DesignStart Eval.
BOARD: HBI0263
TITLE: Motherboard configuration file
[MCCS]
MBBIOS: mbb_v217.ebf ; MB BIOS IMAGE
5. When you have completed steps 3 and 4, save and close both files. Eject the V2M_MPS2 volume using
Windows Explorer.
6. Press the ON button on the MPS2+ platform. When the bit file completes loading, either the board
LEDs stop flashing, or a splash screen is displayed on the LCD display. The board is then ready to
use.
Note
If the FPGA does not seem to have loaded correctly, then check the log.txt in the root directory of
the MPS2+ platform. This log file contains the details of which files were loaded at boot-up.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 6-51
Non-Confidential
6 FPGA build
6.2 Build requirements
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 6-52
Non-Confidential
Chapter 7
Integrating with mbed™ OS
This chapter describes the support available for integrating the FPGA system with mbed OS.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 7-53
Non-Confidential
7 Integrating with mbed™ OS
7.1 Compatibility with mbed™ OS
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 7-54
Non-Confidential
Chapter 8
Performance and utilization
This chapter describes the performance, resources, and utilization for the default system of the FPGA
design in Cortex-M3 DesignStart Eval.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 8-55
Non-Confidential
8 Performance and utilization
8.1 Performance and clocks
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 8-56
Non-Confidential
8 Performance and utilization
8.2 Utilization of default system
Resources Value
Memory 3.9Mbit
DSP 342
PLLs 7
The following table shows the Cortex-M3 DesignStart Eval code utilization of FPGA resources:
Resources Utilization
LUTs 20%
DFFs 6%
Memory 32%
DSP <1%
PLLs 42%
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. 8-57
Non-Confidential
Appendix A
Revisions
This appendix describes the technical changes between released issues of this book.
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. Appx-A-58
Non-Confidential
A Revisions
A.1 Revisions - Cortex®-M3 DesignStart™ Eval
First release - -
ARM 100896_0000_00_en Copyright © 2017 ARM Limited or its affiliates. All rights reserved. Appx-A-59
Non-Confidential