Designing with SmartFusion

Wendy Lockhart Sr. Manager, Design Solutions Agenda

 SmartFusion Overview

 SmartFusion Design Flows  Embedded design  FPGA design  Analog design

 MSS Configurator and Embedded Example

 Ecosystem

 SmartFusion Design Hardware

Actel Corporation © 2010 2 What is SmartFusion?

Actel Corporation © 2010 3 SmartFusion: Innovative, Intelligent, Integration

 Proven FPGA fabric

 Complete ARM® Cortex™-M3 MCU subsystem...& it’s ‘hard’

 Programmable analog

 In a flash-based device

 In production now!

Actel Corporation © 2010 4 Why SmartFusion is a Smart Decision

 No-compromise integration  Complete ARM Cortex-M3 subsystem running at 100 MHz  Proven flash-based FPGA fabric  Programmable high-voltage analog

 Full customization  Design the exact system you need  Hardware and software co-design

 IP protection  FlashLock® technology with AES encryption

 Ease-of-use  Optimized for hardware and software co-design

Actel Corporation © 2010 5 No-Compromise FPGA Fabric

 Proven flash-based FPGA fabric  60,000 to 500,000 system gates  350 MHz system performance  Embedded SRAMs and FIFOs  Up to 128 FPGA I/Os

Actel Corporation © 2010 6 No-Compromise Subsystem (MSS)

 100 MHz 32-bit ARM Cortex-M3 processor  Bus matrix with up to 16 Gbps throughput  10/100 Ethernet MAC  SPI, I2C, UART, 32-bit Timers  Up to 512 KB flash and 64 KB of SRAM  External memory controller  8-channel DMA controller  32 GPIOs; Extendable via the FPGA Fabric  Up to 41 MSS I/Os

Actel Corporation © 2010 7 Programmable Analog

 Analog compute engine (ACE) offloads CPU from analog tasks  Voltage, current and temp monitors  12-bit (SAR) ADCs @ up to 600 Ksps  Sigma-Delta DACs  Up to ten 50 ns high-speed comparators  Up to 32 analog inputs and 3 outputs

Actel Corporation © 2010 8 Innovative Intelligent Integration

Actel Corporation © 2010 9 SmartFusion: New Level of Design

 SmartFusion is the combination of  FPGA, hard ARM Cortex-M3 and Programmable Analog

 Therefore we address three types of design  FPGA Design  Embedded Design  Analog Design

 The designers may be three individuals or more likely two  Have to address expectations of each type  Have to simplify analog usage for any user  Have to provide full capabilities of each traditional design flow

Actel Corporation © 2010 10 SmartFusion Design Flow

Actel Corporation © 2010 11 Embedded Design - Design Entry

 C/C++, Drivers, Hard Peripherals Design Entry

 Providing source code, drivers and examples speed time to market Build Options

 Partners for Middleware and OS Support Build

 Configure device with MSS configurator Simulation

 Automatically generate firmware drivers and sample code Download

Debug

Actel Corporation © 2010 12 Embedded Design – Convert to Target Device

 Compiler, Builder, Linker Design Entry

 The quality of the compiler affects performance of the Build Options design and size of code space required Build  SoftConsole includes GNU GCC Simulation  Keil MDK includes RealView C/C++ Download  IAR Workbench includes IAR ARM Compiler Debug

Actel Corporation © 2010 13 Embedded Design - Verification and Debug

 Debugger, SW Breakpoints, Design Entry

 A large amount of time is spent in debug iterations, so ease of Build Options use is critical

 SoftConsole includes GNU GDB Build debug

Simulation  Keil includes μVision Debugger

Download  IAR includes C-SPY Debugger

Debug

Actel Corporation © 2010 14 FPGA Design - Design Entry

 RTL, IP Cores, Soft Peripherals Design Entry  Graphical design entry helps integrate IP and RTL design blocks for ease of use Synthesis  Select IP cores from catalog  SmartDesign auto connects recognized ports Layout

Verification

Programming

Debug

Actel Corporation © 2010 15 FPGA Design - Convert to Target Device

 Synthesis, Place and Route Design Entry

 Using device specific features improves design efficiency and Synthesis performance

 Synplicity Synthesis from Layout automatically instantiates standard features Verification  Timing Driven Layout optimizes for performance Programming  Power Driven Layout optimizes for power Debug

Actel Corporation © 2010 16 FPGA Design - Verification and Debug

 Simulation, Testbench, Probe points Design Entry  Verifying designs early in the flow helps reduce cycle time  Use functional and post layout Synthesis Modelsim simulation from  Perform timing analysis for clock Layout frequencies  Reduce power consumption with power analysis and power driven Verification layout

Programming

Debug

Actel Corporation © 2010 17 Simplifying Analog Design

 Configuring the Analog Compute Engine  Voltage Monitor  Current Monitor  Temperature Monitor  Sample Sequence

Actel Corporation © 2010 18 SmartFusion Design Flow

 FPGA Design  Use Actel traditional design tools evolved over many years and users

 Embedded Design  Use Industry standard Embedded design tools and IP

 Analog Design  Develop graphical analog configurators that are intuitive but provide full design flexibility

Actel Corporation © 2010 19 MSS Configurator and Embedded Design Flow MSS Configurator Usage

 Provides a common method to configure MSS  Allows sharing of MSS configuration between designers  Allows Embedded designer to work without using FPGA design flow

Actel Corporation © 2010 21 Relating the Device to the Configurator

Actel Corporation © 2010 22 MSS Configurator

 Configure the MSS peripherals and I/Os

 Create or import hardware configuration

 Automatically generate drivers for peripherals

 Configure programmable analog components

 Enables connection of FPGA fabric designs MSS configurator enables and IP to MSS co-design between multiple users

Actel Corporation © 2010 23 New Embedded Design Flow

MSS Configurator  Take the standard Code Entry Embedded Design Flow

Compiler  Add the ability to configure your peripherals

Assembler  Auto generate memory Linker map

Simulation  Auto generate sample code and drivers Load

Debug

Actel Corporation © 2010 24 MSS Configurator

 Launch from your Embedded Software IDE

 So far supports GNU (SoftConsole), Keil and IAR . Can be setup in each one as External tool

 Launch from software IDE or standalone

 Generate drivers for selected software IDE

 Generates sample code projects for selected software IDE

Actel Corporation © 2010 25 Starting From Software IDE - SoftConsole

Actel Corporation © 2010 26 Invoking MSS Configurator

Actel Corporation © 2010 27 Replicates Device Block Diagram

Actel Corporation © 2010 28 MSS Clock Configurator

Actel Corporation © 2010 29 Analog Configuration

 Configuring the analog Compute Engine  Voltage Monitor  Current Monitor  Temperature Monitor

Actel Corporation © 2010 30 SmartFusion I/Os: Very Flexible

3 Types of I/Os Some I/Os are MUXed

FPGA

MSS

Analog

Actel Corporation © 2010 31 GPIO Configuration Dialog

Actel Corporation © 2010 32 Re-use I/O from Unused Peripherals

Actel Corporation © 2010 33 Control MSS I/O Options Directly

Actel Corporation © 2010 34 Generate Drivers and Sample Code

Actel Corporation © 2010 35 Program the Configuration to the Device

 Many device configurations do not require FPGA flow  Only GPIO extension through the FPGA fabric

 The MSS Configurator also creates the System Boot

 Continue with Embedded design after device configuration

 Standard program and debug performed  Through FlashPro for SoftConsole  Through J-Link or U-Link interfaces for Keil and IAR

Actel Corporation © 2010 36 Embedded Design Complete

 Once you have your device configured  You can work directly with the Cortex-M3

 But we have ignored the FPGA  What if I now want to add 2 more UARTs to my system  And a high performance timer

Actel Corporation © 2010 37 FPGA Design Made Easy

 From the FPGA design side  The Microcontroller subsystem is treated as block IP  And APB3 bus can be used to connect the MSS to the FPGA Fabric  Add peripherals such as UART, GPIO and Timers  SmartDesign auto connects recognized signals

Actel Corporation © 2010 38 Successful Integration

 Combining Hard ARM Cortex-M3 Processor

 Full set of peripherals

 On chip NVM and SRAM

 With full feature FPGA

 And Programmable Analog

Actel Corporation © 2010 39 Leads to Easy to Use Design Flow

 Start Embedded design before FPGA completion

 Clear definition of MSS Boundaries and memory map

 Ability to use industry standard compile and debug

 Ability to port RTOS and middleware for Cortex-M3

 Standard Program and Debug interfaces

 With the ability to add peripherals when need to the FPGA

Actel Corporation © 2010 40 SmartFusion Software Stack and Ecosystem www.actel.com/products/smartfusion/ecosystem.aspx SmartFusion Software Stack

Application Layer Customer Secret Sauce

Middleware TCP/IP, HTTP, SMTP, DHCP, LCD

OS/RTOS µC/OS-III, RTX, Unison, FreeRTOS

Drivers C Driver 2 I SPI Driver Timer Driver Timer UART Driver UART eNVM Driver Ethernet Driver

Hardware Abstraction Layer Actel CMSIS-based HAL

Hardware Platform Actel SmartFusion

SmartFusion stack accelerates application development

Actel Corporation © 2010 42 Ecosystem Partners: Still Growing

 Actel  HAL, drivers and IDE

 ARM Cortex-M3 processor  Leverage ARM ecosystem

RTOS  GNU, Keil and IAR  Compilers and debuggers

 Micrium, RoweBots  OS and middleware Compile/ EDA Debug  Mentor and Synopsys  Synthesis, simulation and debug

Actel Corporation © 2010 43 ARM Ecosystem

 Linked through our website  Instruction Set documentation  Design Examples  Design recommendations

 ARM Cortex-M3 Training resources  Both ARM or third party available

 IP for existing Cortex-M3 implementations  Easy to port to our architecture  Dependent on peripherals needed

 CMSIS  Cortex Microcontroller Software Interface Standard

Actel Corporation © 2010 44 Actel SoftConsole = GNU / GCC

 Some customers will want to use open source  This is almost a religion  Don’t want to be controlled with evil corporate software

 Although we supply SoftConsole it is open source  Eclipse based IDE

 We have GNU GCC Compiler  GDB Debugger

 Download from Actel website  Free license included in Libero

Actel Corporation © 2010 46 Keil

 MDK-ARM Microcontroller Development Kit

 Give customers access to the full ARM C/C++ Compiler quality  Includes RTX RTOS Kernel  µVision4 user friendly debug  Simulation without hardware  Includes Examples and Templates

 Availability  FREE Evaluation Version from Keil  Full version for sale from Keil . MDK-ARM, MDK-ARM-B  Already supplied by distribution in many areas  FAE licenses available free

Actel Corporation © 2010 47 IAR

 IAR Embedded Workbench  IDE with project management tools and editor  Highly optimizing C and C++ compiler for ARM  C-SPY® debugger with ARM simulator, JTAG support and support for RTOS-aware debugging on hardware

 Availability  FREE Evaluation Version from IAR  Full version for sale from IAR  Already supplied by distribution in many areas  FAE licenses available free

Actel Corporation © 2010 48 Software IDE Comparison

 Refer to SmartFusion PIB or Product Catalog

Actel Corporation © 2010 49 Micrium - µC/OS-III RTOS

 Leading RTOS for ARM based products in our markets

 Supporting SmartFusion with the following  µC/OS-II, The Real-Time Kernel with source code  µC/OS-III, The Real-Time Kernel with object code *NEW  TCP/IP stack object code  µC/Probe for debug

 Can be used in development  License required to use in a product  Time saved in development more than pays for the license

 Highly Recommend for information – mini videos  RTOS - Understanding why your customer should use an RTOS  µC/Probe – using µC/Probe to save time in debug

Actel Corporation © 2010 50 RoweBots – Unison OS

 Ultra Tiny Linux OS for SmartFusion  Modular Memory Footprint easily fits on chip Memory  Fully POSIX and LINUX compliant  Free - Unison V4 with non-Commercial TCP/IP  Licensed – Unison V5 with multiple Add-on modules  FAT file system, advanced networking, wireless, advanced TCP, graphics, bus support

Download Eval from Actel RoweBots Partner Page

Actel Corporation © 2010 51 Keil – RTX RTOS

 Royalty-free, deterministic RTOS with source code  Specifically designed for ARM and Cortex-M CPUs

 Availability of RTX for SmartFusion  RTX Kernel included as part of MDK-ARM (µVision4)  RTX Source code available in RL-ARM bundle

 Download Eval Version from Keil Website

Actel Corporation © 2010 52 FreeRTOS

 FreeRTOS™ mini Real Time Kernel  FreeRTOS is a scale-able real time kernel designed specifically for small embedded systems  FreeRTOS version is 6.0.1  Portable, open source, royalty free  Free to download and free to deploy RTOS under GPL . Can be used in commercial applications without any requirement to expose your proprietary source code  Delivered through Actel website . Webserver Demo design with source files for both Eval and Dev Kits

 SmartFusion Webserver Demo Using uIP and FreeRTOS  http://www.actel.com/documents/SmartFusion_Webserver_uIPRTOS_UG.PDF

Actel Corporation © 2010 53 SmartFusion Design Hardware Selection SmartFusion Evaluation Kit

 $99 - Low price compact evaluation kit for SmartFusion  Pre-programmed demo design  Source files and tutorials to accelerate learning curve  Demonstrate SmartFusion features as SoC . FPGA, ARM Cortex-M3, Peripherals and Analog with on-chip NVM

Actel Corporation © 2010 56 SmartFusion Development Kit

 $999 – Full feature development kit

 Use when additional interfaces and peripherals are needed

 Use when more code space is required.

 Use for developing complex systems with full RTOS

 Design Examples and tutorials to accelerate learning curve

Actel Corporation © 2010 57 Comparing Eval. Kit vs. Dev. Kit

Connections Eval. Kit Dev. Kit USB for power and HyperTerminal   Program and debug (Actel) Built into board LCPS RVI header for Keil and IAR debug   10/100 Ethernet interface   Mixed-signal header   Digital expansion header (A2F500) -  Memory expansion header (IGLOO® PLUS) -  RS485 DB9 connector -  2 x CAN DB9 connectors (to FPGA I/O) -  2 x RJ45 EtherCAT (to SPI) -  I2C headers (jumpers select target) -  SPI headers (jumpers select target) -  DirectC header - 

Actel Corporation © 2010 58 Comparing Evaluation Kit vs. Development Kit

Digital Resources Eval . Kit Dev. Kit 8 MB SPI flash memory   Off-chip SRAM 3.3 V – 2Mx16 SRAM –  1.8 V – 8Mx16 PSRAM Off-chip flash 3.3 V – 4Mx16 NOR flash –  1.8 V – 8Mx16 NOR flash

Device reset switch   Device PU-N switch   User switches for designs 2 5 User LEDs for designs 8 4 OLED  

Actel Corporation © 2010 59 Evaluation Kit vs. Development Kit

Analog Resources Eval. Kit Dev. Kit POT for current monitor   Connected to AT0 and AC0 Voltage monitor supply rails   10 V, 3.3 V, 1.5 V Temperature monitor connected to AT1  

SDD DACOUT to ADC0   in ADC to voltage input

 Additional Analog resources on the Development Kit  Review Dev Kit User’s Guide for full details

Actel Corporation © 2010 60 Additional Resources

 Online and live trainings  Live training Webinars  Customer 2 day Training Courses

 Design Flow Tutorials  Hello World design flow tutorial for SoftConsole, Keil and IAR  FPGA flow introduction tutorial for FPGA only design  Analog Front End Tutorial  FPGA Fabric tutorial – connecting to FPGA to Cortex-M3

 Design Examples – Short description and source files  Examples for each peripheral  Examples for grouped functions

Actel Corporation © 2010 61 Summary

 SmartFusion Design integrates many aspects  FPGA, Embedded, Analog, IP, Solutions…

 Ecosystem brings together experts to help you

 Actel & partners offer trainings and webinars for customers

 Visit web pages often for updates

Actel Corporation © 2010 62 Actel Corporation © 2010 63