11
Configurable LLDB Debuggers for RISC-V Zdeněk Přikryl

Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Configurable LLDB Debuggers

for RISC-VZdeněk Přikryl

Page 2: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

2

The leading provider of RISC-V processor IP

o Introduced their first RISC-V processor in November 2015

Company founded in 2014 in the Czech Republic

o Based on 10 years of university research on processor design automation

Founding member of the RISC-V Foundation, www.riscv.org

Now Codasip GmbH

o Headquarters in Munich, Germany

o R&D in Brno, Czech Republic

o Office in Silicon Valley, US, and Shanghai, Pudong PRC

Codasip GmbH

Who is Codasip

Page 3: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Codasip Bk

Codasip Bk = the Berkelium

series, Codasip’s RISC-V

processors

Available immediately

Pre-verified, tape-out quality IP

Industry-standard interfaces

Fully customizable

Codasip GmbH 3

• Bk3 – entry-level 32bit RISC-V Core

3-stage single issue in-order pipeline

Very small, efficient design

• Bk5 – 32bit and 64bit RISC-V Cores with Balanced

Pipeline

5-stage single issue in-order pipeline

Optional dynamic branch prediction

Optional cache memories

• Bk7 – Linux-ready 64bit RISC-V Core

7-stage single issue in-order pipeline with branch prediction

MMU for Linux

Cache memories (I$, D$)

Page 4: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Configuration and Custom Extensions

RISC-V offers a wide range of ISA modules:

I/E for integer instructions

M for multiplication and division

C for compact instruction

F/D for floating point operations

WIP: B, P, V, …

RISC-V allows custom

extensions

SDK must be aware of the custom

extensions

High level of automation

needed

Codasip has tools for this task:

Codasip Studio

However, it may not be enough for

your application domain or if you are

looking for a key differentiator…

Codasip GmbH 4

Page 5: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

What is Codasip Studio?

Codasip Studio CodAL – processor description language

element i_mac {

use reg as dst, src1, src2;

assembly { “mac” dst “,” src1 “,” src2 };

binary { OP_MAC dst src1 src2 0:bit[9] };

semantics {

rf[dst] += rf[src1] * rf[src2];

};

};

Integrated processor development environment

SDK automation

Verification Automation

RTL Automation

Customization of base instruction set: Single-cycle MAC

Custom crypto functions

And many more…

Complete IP package on output: C/C++ LLVM-based compiler

C/C++ Libraries

Assembler, disassembler, linker

ISS (incl. cycle accurate), debugger, profiler

UVM SystemVerilog testbench

A unique collection of tools for fast & easy modification of RISC-V processors.

All-in-one, highly automated. Introduced in 2014, silicon-proven by major

vendors.

5Codasip GmbH

Page 6: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Bk Core Customization with Codasip Studio

Codasip GmbH 6

ISA extensions are quickly

implemented and analyzed during

design space exploration

Profiling of embedded application SW

enables processor optimizations

Your RISC-V

HDK

Your RISC-V CodAL

Models

Codasip Studio automatically generates all processor IP design kits and verifies for RISC-V

compliance (you still need to verify your own resources and instructions).

Hardware Design Kit

• RTL models

• Synthesis scripts

• Verification models

and simulators

• Virtual prototypes

Software Design Kit

• Compiler

• Assembler

• Linker

• Debugger

• IDE etc

Codasip Studio

Toolset

Your RISC-V

SDK

Start from Bk3/5/7 cores

1. Add instructions

2. Add resources

3. Modify pipeline

4. …

Page 7: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

What is LLDB

LLDB = open-source debugger built on libraries

provided by LLVM and Clang

o Clean architecture with easy-to-extend plugin system

o Its own commands – mapping to gdb commands exists

Part of SDKs

Aware of custom instructions

o Disassembly view and instruction stepping

Works with ISS, RTL Simulators, and on-chip

debugger

o Using RSP protocol

Codasip integrates LLVM 7.0.1 and 8.0.1 in its

Studio

Codasip GmbH 7

Page 8: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

LLDB Architecture

Plugin-based debugger

o ABI

• Register definition, call frame info, function return

objects, function calls, …

o Platform

• Initialize and run IA/CA ISS

o Process

• Communication with IA/CA ISS

o Disassembler

• Enhancements that supports customizations

o Symbol File

o Operating System

o …

Architecture definition

o In file ArchSpec.[h/cpp]

o Specification of architecture

(riscv32 and riscv64)

Codasip GmbH 8

Page 9: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

LLDB Interfaces

Command Line Interface (CLI)

Machine Interface (MI)

Codasip-enhanced MI interface with added functionality (e.g. watchpoints)

Codasip GmbH 9

Page 10: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Summary

Codasip GmbH 10

Codasip is the leading provider

of commercial-quality RISC-V IP

• Comprehensive off-the-shelf portfolio

• From 32bit embedded to 64bit Linux-ready

cores

• Complete, fully verified IP packages

• Available immediately

• Full-time, highly professional customer

support staff

Codasip offers easy, automatized

way to customize RISC-V

• Customization brings more performance, lower

power/area, and differentiation

• Codasip provides a complete set of tools and

resources to customize:

• CodAL – C-like language for processor description

• Codasip Studio – complete customization toolset

Page 11: Configurable LLDB Debuggers for RISC-V · Codasip Bk Codasip Bk = the Berkelium series, Codasip’sRISC-V processors Available immediately Pre-verified, tape-out quality IP Industry-standard

Thank youQuestions?

Codasip GmbH

[email protected]

www.codasip.com