Verifikation. Simulation und formale Methoden

Ähnliche Dokumente
VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Der Design- und Verifizierungsprozess von elektronischen Schaltungen. Y Diagramm

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Hardware Praktikum 2008

Einführung in die technische Informatik

Teil 1: Digitale Logik

Entwurf und Simulation einfacher Logikelemente

2.2 Register-Transfer-Synthese

Das große All-in-All CPLD/FPGA Tutorial

EHP Einführung Projekt A

Entwurfsverfahren digitaler Schaltungen

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

4.Vorlesung Rechnerorganisation

Formale Verifikation von Software. 10. Juli 2013

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

Hardware Praktikum 2008

Entwurf und Verifikation digitaler Systeme mit VHDL

Vom Chip zum Gehirn Elektronische Systeme zur Informationsverarbeitung

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

Laufzeitoptimierte VHDL Bibliothek zur Verifikation und Simulation kryptographischer Prozessoren

Laborübung 4. Zustandsautomaten (Finite State Machines)

Vertiefungsrichtung Rechnerarchitektur

Teil 1: Digitale Logik

Teil 1: Digitale Logik

Sudoku. Warum 6? Warum 6?

Formale Verifikation von Software. 8. Juli 2015

Entwurf digitaler Systeme mit VHDL-1076

13 Programmierbare Speicher- und Logikbausteine

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Semestralklausur Einführung in Computer Microsystems

Kapitel 6 Programmierbare Logik. Literatur: Kapitel 6 aus Oberschelp/Vossen, Rechneraufbau und Rechnerstrukturen, 9. Auflage

Digitaltechnik II SS 2007

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping

Safer Software Formale Methoden für ISO26262

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

Sicherheit bei lernenden Robotern

Simulative Verifikation und Evaluation des Speichermanagements einer Multi-Core-Prozessorarchitektur am Beispiel von SHAP

Hardware Programmierbare Logik

Digitalelektronik - Inhalt

Rechnerarchitektur und Betriebssysteme (CS201): Architektur, ALU, Flip-Flop

Technische Informatik (RO)

1. Praktische Übung zur Vorlesung Technische Informatik I

Team. Prof. Dirk Timmermann. Siemens AG (ICN Greifswald)

Digitale Systeme und Schaltungen

Teil 1: Digitale Logik

Was ist VHDL? V: very high speed integrated circuit HDL hardware description language. mächtige HW-Beschreibungssprache. Wozu hat man VHDL entwickelt?

HaPra Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

Inhaltsverzeichnis. 1 Boolesche Algebra, Schaltalgebra - Begriffsbestimmung 1. 2 Operationssystem der Schaltalgebra 4. 3 Boolesche Funktionen 6

D.4 Versuchsreihe 4: Integrierte Logikbausteine

Digitaltechnik. Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 3 Termin 1,

Programmierbare Logik mit GAL und CPLD. Einführung in die Schaltungsentwicklung mit Logikbausteinen in ISP-Technologie von Christian Ellwein

Praktikum Systementwurf mit VHDL HDL Design Lab

Digitales Hardwaredesign mit VHDL und FPGAs

Rechnergestützter VLSI-Entwurf

Validierung und Verifikation

Informationsverarbeitung auf Bitebene

Technische Informatik (RO)

Modellprüfung von UML-Zustandsmaschinen und UML-Kollaborationen in SAL

5.2 Endliche Automaten

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Digitaltechnik. Andreas König. Professur Technische Informatik Fakultät Informatik Technische Universität Chemnitz. Wintersemester 2001/2002

VHDL Verhaltensmodellierung

Erster Bug: eine Motte

Validierung und Verifikation!

Mikroelektronik-Ausbildung am Institut für Mikroelektronische Systeme der Leibniz Universität Hannover

Funktionale Sicherheit Testing unter

Einführung in VHDL. Dipl.-Ing. Franz Wolf

Logik. Vorlesung im Wintersemester 2010

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08

Theoretische Informatik

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Modeling Security Aspects of Network Aggregation Protocols. Fachgespräch Sensornetze August 2009

3.2 Verknüpfung von Variablen Sheffer- und Pierce-Funktion Übungen... 54

Hardware-Engineering

Field Programmable Gate Array (FPGA) Complex Programmable Logic Devices (CPLD)

Anwenderprogrammierbare

Was bisher geschah: klassische Aussagenlogik

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Einführung in. Logische Schaltungen

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Integrierte Digitalschaltungen Vom Transistor zu Integrierten Systemen Vorlesung 10,

Formale Methoden: Ein Überblick

N Bit binäre Zahlen (signed)

Verlustleistungsreduzierung in Datenpfaden

Praktikum Software Engineering: Verfahren und Werkzeuge

Grundlagen der Informationverarbeitung

Kapitel 10, VHDL, Teil 2. Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design. Grundlagen der Technischen Informatik

VHDL Verhaltensmodellierung

Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Prof. Dr.-Ing. J. Teich

Transkript:

Verifikation Simulation und formale Methoden

Motivation Thema: formale (=exakte) Hardwareverifikation Ziel der formalen Hardwareverifikation automatische, zuverlässige und frühzeitige Erkennung von Entwurfsfehlern in Hardware (riesiges) Problem: akkurate Modellbildung zur Formulierung der Verifikationsaufgabe Komplexität der algorithmischen Probleme Formale Hardwareverifikation ist "paperware"!?

Hardware-Fehler Historisch erster "Bug": erster amerikanischer Computer: MARK I (Harvard University) August 1945: Multi-Additionstest scheitert Ursache: Relais #70, Tafel F: "Motte im Relais" Erkennung von Hardwarefehlern: Aufgabe des Testens: Erkennung von herstellungsbedingten Defekten oder von Defekten, die während des Betriebes auftreten Aufgabe der Entwurfsvalidierung: Erkennung von Fehlern, die in der Entwurfsphase gemacht werden

Typischer Entwurfsablauf mit Standarddesignsystem Spezifikation (schematic entry oder HDL (=hardware description language)) entity VHDL is port( A, B : in INTEGER range 0 to 7; C : out INTEGER range 0 to 7; ); end VHDL; architecture VHDL_1 of VHDL is begin C <= A + B; end VHDL_1; Logiksynthese Layoutgenerierung Umsetzung der Schaltungsidee in formale Beschreibung Designer "engineering changes" in-house tools Fehlererkennung durch Verifikation

Grundsätzliche Möglichkeiten der Entwurfsvalidierung (Verifikation) Simulation Evaluierung des Entwurfs durch Simulation von Stimuli, die entweder nach funktionalen Gesichtspunkten oder zufällig erzeugt werden Emulation Aufbau eines Prototypen, z.b. durch programmierbare Bausteine (field programmable gate arrays (FPGAs)) formale Verifikation Anwendung exakter mathematischer Methoden zum formalen Nachweis (automatisches Beweisen) von Schaltungseigenschaften

Konventionelle Technik: Simulation Konventionelle Technik: Simulation 1993: Entwurfsfehler im INTEL PENTIUM Prozessor wird übersehen!! Gründe für formale Verifikation: Simulation oder Emulation können niemals das gesamte mögliche Verhalten eines Entwurfs erfassen Reduktion der time-to-market, Vermeidung von Entwurfsiterationen durch frühzeitige Erkennung von Entwurfsfehlern worst case scenario: Herstellung und Auslieferung eines Chips mit Entwurfsfehler

Warum kann Simulation scheitern? Die internen Knoten der Schaltung sind aufgrund der logischen Struktur durch Zufallsmuster nur schlecht "stimulierbar", d.h. viele Signale ändern niemals ihren Wert. ("random pattern resistant"). z.b. AND-Gatter mit 10 Eingängen Schaltungen können eine sehr große sequentielle Tiefe haben. z.b. Zähler

Ein Designexperiment gegeben : eine PLA (programmable logic array) mit 10 Eingängen, 11 Ausgängen und 18 Produkttermen (optimiert mit ESPRESSO) eine Bibliothek mit den Gattertypen NOT, NAND2, NAND3, NOR2, NOR3 Designaufgabe: 1) Führe eine manuelle Synthese zur Erzeugung einer mehrstufigen Schaltung mit möglichst wenig Gattern durch 2) Übertrage die Schaltung durch schematic entry auf einen Rechner 3) Verifiziere die Schaltung durch Simulation Teilnehmer: 22 Studierende der Elektrotechnik

Verifikationsstrategien Strategie 1: Strategie 2: Strategie 3: Jede(r) Designer(in) soll einen Testsatz angeben, den er (sie) für besonders geeignet hält Simulation von 210 Zufallsvektoren Simuliere alle 1024 Vektoren (erschöpfender Test) Ausserdem: Es werden atomare Syntheseoperationen definiert (einzelne Optimierungsschritte, z.b. Ausklammern einer Variablen, Substitution eines Gatters, Anwendung der DeMorgan-Regel auf Teilschaltung etc.) und für jeden Designer gezählt. Auswertung: Mittels Strategie 3 werden alle Designfehler erkannt und in einem Diagnoseprozess den atomaren Syntheseschritten zugeordnet

Designexperiment - Ergebnisse Strategie 1: - im Durchschnitt haben die Designer 14 Testvektoren definiert - 6 von 22 Designs enthalten nach Anwendung von Strategie 1 immer noch Fehler - die Designs enthalten durchschnittlich noch 1,68 Fehler Strategie 2: - 5 von 22 Designs enthalten nach Anwendung von Strategie 2 immer noch Fehler - die Designs enthalten durchschnittlich noch 0,41 Fehler

Auswertung der Entwürfe min max Durchschnitt Kosten für Fläche 126 245 153 # atomare Operationen 480 982 598 # man hours 7 26 16 # Entwurfsfehler 0 52 8,5

Typische Entwurfsfehler Welche Fehler traten auf? Fehlertyp Anzahl fehlender oder zusätzlicher Inverter 91 falscher Gattertyp 35 falsch platzierte Eingangsverbindung eines Gatters 32 fehlende Eingangsverbindung eines Gatters 17 fehlendes Gatter 9 andere 4

Modell eines typischen Entwurfsvorgangs 100% Quality Synthesis Verif. Synthesis Verif. Time Designqualität während des Entwurfsvorgangs

Was soll verifiziert werden? Entspricht die formale Spezifikation des Designs den Vorstellungen des Designers? - Können unerwünschte Situationen auftreten? - Gibt es unerwünschte Nebeneffekte? - Funktionieren bestimmte Dinge immer? Aufgabe: "design verification" Methode / Tool: "property checking"

Was soll verifiziert werden? t die Spezifikation korrekt in eine Implementierung mgesetzt? ögliche Fehlerursachen: - bugs in der Synthesesoftware - fehlerhaftes Zusammenwirken verschiedener Tools (Schnittstellenprobleme) - manuelle Interaktion des Designers Aufgabe: "implementation verification" Methode / Tool: "equivalence checking" Äquivalenzvergleich

Was ist machbar? Beweismethoden z.b.: SAT-solving Graphendarstellungen (Boolescher) Funktionen Traversierung endlicher Automaten automatisches Theorembeweisen (Boyer-Moore, HOL) formales Verifikationswerkzeug für digitale Systeme Sprache z.b.: Aussagenlogik temporale Logik Prädikatenlogik Methoden zur Layoutextraktion Modellbildung z.b.: Boolesches Netzwerk, endlicher Automat Methoden zur Abstraktion und Reduktion vo Modellen

In der industriellen Praxis Designverifikation: property checking mittels symbolic model checking SAT-basiertes model checking Verifikation der Implementierung: equivalence checking Äquivalenzprüfung kombinatorischer und sequentieller Schaltungen