ISSCC 2019 Toshiba zeigt SoC mit DNN-Beschleuniger und ISP für Automotive

Bild 1. ADAS-Anwendung zur Verkehrs-steuerung mit Künstlicher Intelligenz

Fahrzeuge mit ADAS-Funktionen sind auf dem Markt. Technologien zur Bilderkennung sind wesentliche Elemente für ADAS und SoCs für die Bilderkennung wurden entwickelt. Toshiba hat ein 20.5 TOPS und 217.3 GOPS/mm2 Multicore SoC mit DNN-Beschleuniger und Bildsignalprozessor nach ISO2626262 vorgestellt.

Da Fahrzeuge, die ADAS unterstützen, immer komplizierter werden, müssen diese Technologien verbessert werden. In jüngster Zeit haben Deep Neural Networks (DNNs) eine höhere Erkennungsgenauigkeit erreicht als herkömmliche merkmalsbasierte Matching-Algorithmen und können auf Anwendungen wie die Straßenerkennung angewendet werden. In der Folge wurden mehrere Bilderkennungs-SoCs mit DNN-Prozessoren entwickelt. Funktionale Sicherheit ist für Automobilanwendungen wichtig, so dass diesbezügliche SoCs der ISO2626262 genügen müssen. Die Anforderungen an SoCs, die ADAS-Funktionen unterstützen, sind: hohe Leistung bei der Erkennung verschiedener Objekte, geringer Energieverbrauch, um die Ausführung in der sich schnell verändernden Umgebung von fahrenden Fahrzeugen stabil zu halten, und hohe Sicherheit zur Vermeidung schwerer Unfälle.

In der Präsentation von Toshiba wird ein Bilderkennungs-SoC für ADAS-Anwendungen implementiert. Bild 1 zeigt das Blockdiagramm des SoC. Da das SoC sowohl Bilderkennungsprozesse mit hoher Rechenleistung als auch Steuerungsprozesse mit hoher Zuverlässigkeit durchführt, wurde das SoC in zwei Regionen unterteilt. Eine Region wird für Bilderkennungsprozesse als "Processing Island" (PI) und die andere als "Safe Island" (SI) für Steuerungsprozesse bezeichnet. PI beinhaltet zwei Cluster von vier Arm Cortex-A53 Prozessoren als Anwendungsprozessoren, vier DSPs für verschiedene Bildverarbeitungsaufgaben, acht Arten von Hardware- Beschleunigern, eine zweikanalige 32-bit- LPDDR4-Schnittstelle, 16 Mb On-Chip SRAM und mehrere I/O-Schnittstellen. Die Beschleuniger sind ein DNN-Beschleuniger zur Klassifizierung und Segmentierung, zweikanalige Bildsignalprozessoren (ISPs) zur Erzeugung von Farbbildern aus Rohbildern, AKAZE zur Merkmalspunktverfolgung, STMAT zur Anpassung von Stereobildern, PYRAM zur Erzeugung von Pyramidenbildern, MATCH zur Objektverfolgung, AFFINE zur Erzeugung von Bildern mittels affiner Abbildung und HOX zur Erkennung verschiedener Objekte. SI beinhaltet zwei Dual-Core Lock-Step Arm Cortex-R4 Prozessoren für Steuerungsprozessoren, ein Hardware Secure Module (HSM) zur Verwaltung von Sicherheitsdaten wie kryptographische Schlüssel und zur Ver- und Entschlüsselung, 8 Mb On-Chip SRAM und verschiedene I/O-Schnittstellen. Zusätzlich gibt es Speicherschutzeinheiten (MPUs) in jedem Beschleuniger und jeder Speichereinheit.

Bild 2 zeigt eine Übersicht über den DNN-Beschleuniger. DNN-Anwendungen erfordern viele Multiply-Accumulate (MAC)-Berechnungen und eine hohe Speicherbandbreite für Gewichts- und Feature-Map-Daten. Der DNN-Beschleuniger hat 1024 MAC-Einheiten in seiner Ausführungseinheit, und seine Leistung erreicht 1,6 TFLOPS. Die MAC-Einheiten unterstützen das Binär-16-Format IEEE754, da Automobilanwendungen mehr Genauigkeit erfordern als Konsumer-Anwendungen. Der Beschleuniger hat zwei Merkmale zum Reduzieren der Bandbreite des externen Speichers: die Dekompressionsschaltung in der DMA-Einheit kann die Bandbreite des externen Speichers durch Laden komprimierter Gewichtsdaten und Dekomprimieren der Daten reduzieren und den lokalen Speicher zum Reduzieren des Bandbreitenbedarfs für die Übertragung temporärer Daten. Die Ausführungseinheit greift nur auf den lokalen Speicher zu und die DMA-Einheit überträgt Daten zwischen dem externen Speicher und dem lokalen Speicher.

Bild 3 zeigt eine Übersicht über den ISP. Der ISP unterstützt HDR-Bilder, da Bilder von Automobilanwendungen einen hohen Dynamikbereich benötigen, um Objekte unabhängig von den Fahrbedingungen bei Tag und Nacht kontinuierlich zu erkennen. Der ISP beinhaltet nicht nur eine Demosaik-Einheit, sondern auch mehrere Bildqualitäts-Korrektureinheiten, eine HDR-Kompressionseinheit, eine Auto-Belichtungseinheit, eine Auto-Weißabgleich-Korrektureinheit und eine Histogrammeinheit. Da alle diese Funktionen ausgeführt werden können, ohne temporäre Daten im externen Speicher zu speichern, erreicht der ISP eine geringe Latenzzeit und benötigt eine geringe Bandbreite zum externen Speicher. Die Pixelrate jedes ISPs beträgt 600 Mpixels/s, und seine Leistung liegt bei über 4.4 TOPS.

Ziel der funktionalen Sicherheit ist es, das Unfallrisiko auf ein akzeptables Maß zu reduzieren. Die Ansätze zur Risikoreduzierung sind die Reduzierung der Ausfallraten und die Erhöhung der Fehlerabdeckung. ISO2626262 beschreibt ein Sicherheitsrisiko-Level, genannt Automotive Safety Integrity Level (ASIL), das aufgrund der Risikobewertung von ASIL-A bis ASIL-D klassifiziert wird. Zur Risikominderung ist die Einführung von Sicherheitsmechanismen (SMs) erforderlich. Da die Prozesse von SI mehr Integrität erfordern als die von PI, geht Toshiba davon aus, dass der ASIL von SI (ASIL-D) höher ist als der von PI (ASIL-B). Daher werden die SMs von SI implementiert, um sie robuster zu machen als die von PI. Die SMs von PI sind Parität/ECC-Schaltungen mit SRAM (nur SRAM im ISP hat ECC-Schaltungen, da die Ausgangsdaten des ISP von vielen Prozessen verwendet werden), Laufzeit-BIST-Schaltungen für Logikschaltungen, ECC-Schaltungen für den Bus zum Erkennen und Korrigieren von Fehlern beim Buszugriff und mehrere Überwachungsschaltungen, wie beispielsweise ein Taktmonitor. Die SMs von SI sind ECC-Schaltungen für SRAM, doppelte Schaltungen und Überwachungsschaltungen zur Fehlererkennung in der Zufallslogik, ECC-Schaltungen für den Bus und mehrere doppelte Überwachungsschaltungen. Darüber hinaus schützen MPUs von DDR-Schnittstelle und RAM von PI den vom SI zugewiesenen Speicherbereich, um unerwünschte Zugriffe von PI zu vermeiden. Die Anordnung und der Anschluss der MPUs sowie die Zugänglichkeit der einzelnen Busmaster sind in Bild 4 dargestellt.

Die Laufzeit-BIST der Beschleuniger kann von den Prozessoren gesteuert werden. Es ist jedoch für den Prozessor schwierig, die Laufzeit-BIST des ISP zu kontrollieren, da der Prozess des ISP beginnt, wenn ein neuer Frame von einem externen Imager empfangen wird. Daher wird eine dedizierte Steuerung für Runtime-BIST des ISPs eingeführt. Die Laufzeit-BIST-Steuerung des ISP ist in Bild 3 dargestellt. Da die internen Parameter des ISP in mehreren Frames verwendet werden, sichert und stellt die Backup-Einheit die Parameter über die Laufzeit BIST wieder her. Die BIST-Einheit führt den Laufzeit-BIST-Prozess in der V-Ausblendzeit aus. Bild 5 zeigt den zeitlichen Ablauf der Laufzeit BIST. Die Reihenfolge von Fall A ist die folgende: Um die Verarbeitung eines Frames zu beenden, sichert die Steuerung die Parameter, führt die Laufzeit-BIST durch und stellt die Parameter wieder her. Dann wartet der ISP darauf, den Hauptprozess auszuführen, bis er den nächsten Frame empfängt. Tb und Tr, die die Startzeiten von BIST und Wiederherstellung darstellen, werden von den Prozessoren vorgegeben. In Fall B, wenn die Endzeit des Backups aufgrund der hohen Buslatenz nach der Startzeit der BIST liegt, führt die Steuerung keine Laufzeit-BIST aus und sendet einen Alarm an die Steuerungsprozessoren.

Die Bilder 6 und 7 zeigen die Leistung und das Die-Foto des SoC, das in 16 nm implementiert wurde. Seine Größe beträgt 94,52 mm2. Die erreichte Spitzenleistung beträgt 20,5 TOPS und die Gesamtleistungsaufnahme 9,78 W. Die Energieverbräuche in Bild 6 sind Simulationen und stellen ein vollständiges Nutzungsszenario dar. Die vom Evaluation-Board gemessene Leistungsaufnahme von PI beträgt 2,73 W, wenn die Fußgänger- und Fahrzeugerkennung mit 2 Cores der Cortex-A53, 4 DSPs und 6 Arten von Beschleunigern, einschließlich DNN und HOX, durchgeführt wird.