SiFive

»RISC-V goes Automotive«

28. November 2022, 8:00 Uhr | Dr. Manfred Schlett, SiFive
Automotive IP Cores
© SiFive/WEKA Fachmedien

Von Infotainment, über Konnektivität, bis hin zu ADAS – die SiFive-Automotive-CPU-Kerne gibt es in verschiedenen Leistungsklassen: Von Effizienz bis High-Performance-Cores.

RISC-V basierte CPUs, ASICs und FPGAs gewinnen weltweit zunehmend an Bedeutung. Die Idee und Vision von RISC-V ist ein als Open Source standardisierter CPU-Befehlssatz (ISA), der allen zugänglich ist und von allen verwendet werden kann. Die Verwendung eines einheitlichen Befehlssatzes sichert Kompatibilität und Skalierbarkeit auch über Herstellergrenzen hinweg. Dies ist besonders in Hinblick auf eine Langzeitverfügbarkeit entscheidend, aber auch für Hersteller von Entwicklungswerkzeugen sowie Software-Entwickler wichtig.

Mittlerweile ist die RISC-V Community auf über 3000 Mitglieder angewachsen. Egal ob ASIC, FPGA, Mikrocontroller oder Mikroprozessor, das Produktportfolio mit der RISC-V-ISA verbreitet sich rasant. Die Vorteile liegen von RISC-V liegen auf der Hand: Rechtssicherheit, eine enorme Angebotsbreite und standardisierte Erweiterbarkeit.

SiFive mit mehr als 500 Mitarbeiter:innen ist einer der Hauptprotagonisten der RISC-V Szene. Mehr als 100 Kunden setzen Produkte von SiFive in über 300 Projekten bereits ein. Das Unternehmen hat sich auf skalierbare CPU-Prozessorkerne fokussiert, die mit dem RISC-V Befehlssatz konform sind. Im Rahmen von »Core Complex« bietet SiFive seine Prozessorkerne inklusive wesentlicher Prozessorperipherie, Interfacebausteine, Systembussen und Cache-Implementierungen an.

Kunden sind ASIC-Entwickler, FPGA-Hersteller und Anbieter von Mikrocontroller und Mikroprozessoren zumeist in Form von ASSPs bzw. SoCs. Acht von zehn der führenden SoC-Halbleiterfirmen nutzen bereits Kerne von SiFive.

Skalierbare RISC-V-IP-Cores

SiFive
Bild 1: SiFive Portfolio Überblick
© SiFive

Um einen möglichst großen Leistungsbereich abzudecken, bietet SiFive drei Klassen von validierten Kernen als Basis an: Essential, Intelligence und Performance. Die Kerne und das jeweils dazugehörige »Core Complex« zeichnen sich durch eine sehr hohe Leistungsdichte gemessen in SPECInt/mm2 aus und übertreffen die bisherigen Angebote um bis zu 40 Prozent.

Automotive-Kerne von SiFive

Im September dieses Jahres hat SiFive die Kerne der »SiFive Automotive«-Serie vorgestellt. Dabei werden einzelne Kerne der bisherigen Serien für Automotive-Anwendungen angepasst und validiert. Im Zentrum der Automotive-Kerne steht die Funktionale Sicherheit (FuSi) wie in der ISO26262-Norm beschrieben. Dabei werden nicht die eigentlichen IP-Kerne zertifiziert, sondern die Voraussetzungen geschaffen, dass Kunden basierend auf der IP zertifizierte Produkte entwickeln können. Es geht darum sog. »systematic« und »diagnostic faults« zu erkennen und letztlich abarbeiten bzw. verhindern zu können.

Bild 2
Bild 2: SiFive Portfolio RIC-V basierter CPU Kerne
© SiFive

Drei skalierbare Kerne werden Kunden zur Verfügung gestellt. Beginnend mit dem 32-bit E6-A-Core im Segment der Mikrocontroller, den S7-A für ASIL-D Inseln innerhalb größerer SoCs und den X280-A, der auch Vektoren unterstützt und für datenintensive Applikationen und AI-Unterstützung ausgelegt wurde. Bei dem S7 und X280 handelt es sich bereits um 64-bit Architekturen.

Angekündigt wurde auch bereits ein neues Mitglied der Performance-Klasse, der ebenfalls dem Automotive-Segment zugänglich gemacht werden soll. Die Zielrichtung dieser höchst performanten Cores sind Multicore-Cluster mit Vektorunterstützung und geeignetem Peripheriemix für ADAS und IVI bzw. Digital-Cockpit-Plattformen der nächsten und übernächsten Generation. Bis zu 32 64-bit-Cores können dank höchster Leistungsdichte (organisiert als acht 4-Core-Cluster) autonomes Fahren nach Level 3 und Level 4 ermöglichen. Die aufkommende Zonenarchitektur der Automobilhersteller mit integrierten High-Performance-Computern benötigt Leistungsdichten dieser Größenordnung. Dabei kommen auch eine Out-of-Order-Befehlsausführung und angepasste Cache- und Bus-Strukturen zur Anwendung.

E6-A, S7-A, X280-A

Bei den Cores der E6-A Serie geht es um harte Echtzeitanforderungen in klassischen Mikrocontroller-Chipsätzen, Safety-Inseln oder z.B. Hardware Security Module. Der Kern hat folgende Hauptmerkmale:

  • 32-bit-Architektur
  • RISV-V-ISA
  • Single-issue, in-order, 8-stufige Befehls-Pipeline
  • Single-, Double und Half-Precision Floating Point Units
  • Konfigurierbare Speicher- und SoC-Interface-Optionen
  • Konfigurierbare Port- und I/O-Interfaces
  • Lokaler Port für Peripherie und Beschleuniger
  • Split-lock und DCLS-Varianten (DCLS: Dual-redundant Core Lock-step)
  • Functional Safety Package
  • Worldguard Security

Mit dem S7-A beginnt die 64-bit-Roadmap. Konzipiert wurde der S7-A für Anwendungen wie ASIL-D SoC-Islands, Sensor-Fusion und vergleichbare Steueranwendungen. Insbesondere die Interrupt-Unterstützung mit geringer Latenz bei gleichzeitig hoher Leistungsklasse und 64-bit Architektur sind wichtige Merkmale dieser IP-Cores.

Die S7-Familie wurde für Multi-Core-Anwendungen optimiert. Derzeit werden bis zu acht kohärente Cores unterstützt. Weitere Merkmale sind eine 8-stufige Befehls-Pipeline, optionale optimierte L2-Cache-Strukturen, lokale Ports, integrierte Security-Schaltungen, Bit-Manipulations-Erweiterungen und eine Single-, Double- und Half-Precision Floating Point Einheit.

Das Mitglied X280 der SiFive Intelligence-Klasse ist ebenso eine 64-bit-Architektur und basiert auf dem RISC-V-Befehlssatz, erweitert den Kern aber über eine definierte Erweiterungsschnittstelle um eine 512-bit-Vektoreinheit. Diese wird eingesetzt zur effizienten Unterstützung von ML-Algorithmen (ML: Maschinenlernen). Als X280-A wird dieser Kern Teil der SiFive Automotive-Produktserie.

Zielanwendung des X280-A sind z.B. Sensor-Pre-Processing-Systeme wie sie zum Beispiel in autonom fahrenden Fahrzeugen notwendig sind. Der X280-A stellt eine Leistungsdichte von 4,8 TOPS, 5,57 CoreMarks/MHz, 3,26 DMIS/MHz und 4,6 SpecINT2k6/GHz zur Verfügung. Die Vektoreinheit hat eine Registerlänge von 512 bit (variabel), unterstützt an Integer-Datentypen von »INT8« bis zu »INT64«, im Floating-Bereich sind es »BF16«, »FP16«, »FP32« und »FP64«.

Autor:

Dr. Manfred Schlett/SiFive
Dr. Manfred Schlett/SiFive
© SiFive

Dr. Manfred Schlett ist Senior Director Business Development bei SiFive.


Das könnte Sie auch interessieren

Verwandte Artikel

SiFive

Connected Cars