High Level Synthesis with Catapult 8.0 Richard Langridge European AE Manager 21 st January 2015 Calypto Overview • Background – Founded in 2002 – SLEC released 2005 & PowerPro 2006 – Acquired Mentor’s Catapult HLS technology and team in 2011 • Operations – Headquarters in San Jose with R&D in California, Oregon, NOIDA India – Sales and support worldwide, with new support office opened in Korea • Technology – Patented Deep Sequential Analysis Technology for verification and power optimization – Industry leading High-Level Synthesis technology – 30 patents granted; 17 pending • Customers – Over 130 customers worldwide • FY14 Results - Record revenue

2 Calypto Design Systems Calypto Design Systems’ Platforms Catapult HL Design & Verification Platform PowerPro RTL Low Power Platform

3 Calypto Design Systems Why Teams Want to Adopt HLS • Accelerate design time by working at higher level of void func (short a[N], abstraction for (int i=0; i

• Cut verification costs with 1000x speedup vs RTL – Faster design simulation in higher level languages – Easier functional verification and debug

• Determine optimal microarchitecture – Rapidly explore multiple options for optimal Power Performance Area (PPA)

• Facilitate collaboration, reuse and creation of derivatives – Technology and architectural neutral design descriptions RTL are easily shared, modified and retargeted – HLS becoming an IP enabler

4 Calypto Design Systems Catapult Delivers QoR and Crushes RTL Design Time

Catapult results on customer designs

5 Calypto Design Systems High-Level Synthesis : Evolution

6 Calypto Design Systems Early Generations of HLS

Circa 1997 • Generation 1 (1997) Behavioral Complier 1 Monet – Incremental raising of abstraction – Limited value Circa 2004 Mentor Catapult C Forte 2 Circa 2009 • Generation 2 (2004) Calypto Catapult Cadence C2S – Move to standardized high level Forte languages – Raised abstraction level – Big gain in top down optimization algorithms – Circa 2009: Control logic improvements

7 Calypto Design Systems 3rd Generation HLS – Introducing Catapult 8

Circa 1997 • Control and predictability required Synopsys Behavioral Complier Monet to achieve design closure 1 – Configurable design hierarchy with 10x capacity

Circa 2004 Mentor Catapult C • Integration with corporate and Forte standard RTL methodologies 2 Circa 2009 Calypto Catapult – Creates verification-optimized RTL Cadence C2S Forte • Native unified SystemC and C++ support – Teams can choose, companies use both

• New “Catware” IP design libraries 2014 3 Calypto Catapult 8

8 Calypto Design Systems Catapult 8 – Customer Reception

The Third Generation High-Level Synthesis and Verification Platform Enabling Widespread Adoption of HLS

“Catapult 8 allows rapidly evolving “We write either C++ or SystemC, depending C++ algorithms to be explored and on the design and verification needs of each optimized to meet our area, power project, and then use Catapult’s configurable and performance goals.” hierarchy technology, which makes it possible to synthesize much bigger designs.” Michael Giovannini, Hardware project leader in Front-End team of Unified Platform Division for Emmanuel Liégeon, Head of ASIC/FPGA Design Group at STMicroelectronics Thales Alenia Space France

9 Calypto Design Systems High-level Synthesis : Catapult 8

10 Calypto Design Systems What is High -level Synthesis?

• Two core capabilities define HLS 1. Mapping from abstract transactions to pin-accurate protocols

Control i/f A A X X I I

2. Optimizing C/SystemC for performance/area/power in target technology

TP = 1 Control i/f LT < 100 300MHz i o = f(i,s) o

11 Calypto Design Systems Catapult HLS – Design at a Higher Level • Introduced in 2004 – 1000s of tape outs

void func (short a[N], for (int i=0; i

• Focus on function, not implementation – Fewer lines of code • Easier to understand • Easier to modify • Easier to maintain – Easy migration to new technology – Bridges the gap between specification & design RTL

12 Calypto Design Systems Catapult 8.0 : Native Dual -language Support • User choice of C++ or SystemC – Catapult has dual-language architecture – Projects may use either based on requirements • C/C++ provides intuitive algorithm implementation flow – Fewer lines of code – Untimed description – Streamlined flow • Robust SystemC support – Support OSCI synthesis subset – Calypto leads Accelera working group – Used for designs with complex timing dependent control and interface protocols

13 Calypto Design Systems Synthesizing to Hardware • Flow is the same for FPGA & ASIC technologies – Same C++/SystemC source code for synthesis irrespective of target technology – Technology libraries for FPGA base operators are provided in the Catapult installation – Additional libraries for hard macros/DSPs & memories – Catapult Library Builder provided to characterize ASIC libraries

14 Calypto Design Systems Supported FPGA Families (Catapult 8.0)

• Altera • – Arria GX, II GX, V – Artix-7 – Cyclone, II, III, III LS, IV E, IV – Kintex-7 GX, V – Spartan 2, 2E, 3, 3A, – Stratix, GX, II, II GX, III, IV, V 3ADSP, 3E, 6 – Excalibur ARM – Virtex, -E, -II, -II Pro, 4, 5, 6, 7 – Apex 20K, 20KC, 20KE, II

• New libraries added to meet Customer requests

15 Calypto Design Systems User Constrained Technology Based Scheduling

• User provides constraints to scheduler in GUI or as TCL script

• Scheduler uses technology information to allocate operations to clock cycles – Source is independent of target technology timing characteristics – Same source code gives different schedule based on constraints / technology

• Scheduler facilitates technology migration by re-scheduling to different target library – Migrate FPGA fabric or family – Migration to SOC

FPGA: Xilinx Kintex7 ASIC: @ 200MHz Sample 65nm @ 200MHz

16 Calypto Design Systems RTL Extraction/Generation

• RTL Generation creates : – Data & control path/state machine RTL – Bill of materials reports – Estimation of area & timing critical paths – Scripts for running backend synthesis/P&R – SCVerify testbench & execution scripts

17 © 2014, Calypto Design Systems Catapult 8 : Verification

18 Calypto Design Systems Catapult 8 Speeds Verification Closure • Catapult 8 re-architected for Verification Closure – Developed in partnership with leading Catapult customers – Engineered for a “drop-in” fit into existing verification flows – Considers verification coverage during synthesis – Extracts and passes design knowledge to verification tools and users

• New capabilities to assist in closing verification – Synthesizes assertions and cover points – Identifies and guarantees key equivalent points – Easily cross-probe between RTL and C++/SystemC – Integration with formal tools to identify unreachable states

19 Calypto Design Systems RTL Block Level Testing with SCVerify

• Catapult provides SCVerify, Original automated C-RTL co-simulation Testbench • Generated RTL Optimized for verification Driver – Embedded Assertions – Preserved probe points • Generated Test Infrastructure Original Generated RTL C++/SystemC – Leverages original C++/SystemC testbench – Verification of generated RTL vs original Monitor source – Checks assertions, probes and IO Golden DUT • Push-button Co-Simulation results Comparator results – Supports VCS, Incisive, Questa

• 2020Easy testing of RTL before handoffCalypto Design Systems SLEC -HLS – High Level Formal Verification • C-to-RTL formal verification

void func (short a[N], for (int i=0; i

21 Calypto Design Systems Catapult 8 : Implementation

22 Calypto Design Systems Output Generated by FPGA Flow • HDL outputs – VHDL and/or – Synthesizable RTL – “concat” RTL containing whole design in a single file • Synthesis scripts for backend RTL synthesis – Precision, SynplifyPro, Xilinx XST – Easy synthesis of generated RTL • Customer free to integrate RTL into upper levels of system as needed – Manual integration

23 Calypto Design Systems Migration • Catapult allows source code to be re-targeted to alternative technology – Scheduler is aware of target technology characteristics • Many design teams using : – FPGA targets for prototyping, then ASIC for production – FPGA for early access to algorithms in hardware, ASIC implementation lags due to lead time – IP blocks are independent of implementation target • Production quantities may necessitate migration from FPGA to ASIC – How to reduce power once in ASIC?

24 Catapult LP Synthesizes Power Optimized RTL • Available to support ASIC/SOC migration • PowerPro technology “under the hood” High-Level Synthesis – Leading RTL Power Optimization Technology Power Optimization Simulation • Built-in power analysis/measurement Power Analysis • Closed loop PPA exploration – PPA: Power, performance, area – Frequency exploration – Clock-gating – Memory access minimization

Use Mode Power • Use Mode Power Automatic clock gating Active 1.0 mw – Deep sequential optimizations Active 0.2 mw LowP 0.5 mw – Maximizes gating efficiency LowP 0.1 mw InActive 0.03 mw InActive 0.05 mw

25 Calypto Design Systems Customer Success : HEVC Decoder Design

26 Calypto Design Systems Google Designs VP9 in Half the Time

• Selected Catapult because – Uses C++ • gcc test flow • Best versioning and merging tools • Familiar language – Constantly evolving algorithms & specification – 50% faster design and verification cycle

• WebM - VP9 Video decoder – Built in under 6 months vs. 1 year for RTL – 69k lines of C++/ 14 blocks vs. ~300k lines RTL – 0.9mm2 at 28nm, 243MHz

• G2 (VP9 + HEVC) video decoder – Modifications in under 3 months http://www.webmproject.org/hardware

27 Calypto Design Systems WebM : VP9 G2

“The G2 VP9 decoder uses a completely new hardware architecture. A majority of its hardware modules are designed in C++ and converted to RTL using Calypto's Catapult C high-level synthesis tool. This higher abstraction level makes design implementation and verification much faster and cleaner than in a traditional RTL design flow.”

http://www.webmproject.org/hardware

28 Catapult 8 : Summary

29 Calypto Design Systems Catapult 8 : Summary • Catapult supports creation and implementation of production quality RTL – Superior QOR through easy architectural exploration • HLS methodology provides abstraction of implementation details and complexity, leading to : – Rapid specification – Easy technology migration – Easier/faster verification – Easier maintenance – Efficient IP re-use • Catapult HLS used today in production FPGA/ASIC projects – Usage growing

30 Calypto Design Systems