Hardware-/Software-Entwicklung und Verifikation, Embedded Systems
Aktualisiert am 08.07.2018
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.01.2019
Verfügbar zu: 100%
davon vor Ort: 100%
Deutsch
Muttersprache
Englisch
gute Kenntnisse in Wort und Schrift, sehr gute fachspezifische Kenntnisse

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Weitere Länder: Abhängig von Projektdauer, Projektart, Erreichbarkeit und Auftraggeber

nicht möglich

Projekte

Projekte

2009

Formale Verifikation eines komplexen Bussystems für mehrere Prozessoren und Speicherblöcke einer Software-Defined-Radio Plattform von Infineon: Neubiberg bei München, 3 Monate
  • Einarbeitung in VHDL Design und bereits vorliegender Verifikationseigenschaften eines Verifikationsteams
  • Fertigstellen der vollständigen Verifikation von zwei Modulen des Bussystems
  • Werkzeuge: Onespin, Debussy, ClearCase

 

 

2008

Weiterentwicklung der Methodik zur vollständigen Verifikation industrieller Designs mit OneSpin: München, 2 Monate
  • Aufstellen von Designregeln zur Vereinfachung der Erreichbarkeitsanalyse
  • Systematische Durchführung von Erreichbarkeitsanalysen

 

 

2007
Formale Verifikation eines Memory-Controllers mit OneSpin: München, 5 Wochen
  • Eigenverantwortlicher Nachweis einiger essentieller Invarianten des Controllers
  • Entwicklung der Eigenschaften und deren Verifikation für unterschiedliche Arten von Speicherzugriffen nach dem AMBA AHB Standard in Zusammenarbeit mit einem zweiten Verifikationsingenieur
  • Analyse der Ursache gefundener funktionaler Entwurfsfehler und Herleitung von Designkorrekturen
  • Zusammenführen der entwickelten Eigenschaften und Nachweis der Vollständigkeit der Verifikation
  • Werkzeuge: Onespin, Debussy, CVS

 

 

2006 - 2007
Formale Verifikation am TriCore Prozessor von Infineon mit OneSpin: München, 8 Monate
  • Innerhalb eines Teams aus 4 Personen verantwortlich für die Entwicklung der Verifikationseigenschaften für eine Gruppe von multi-cycle Assembler Befehlen und deren Verifikation
  • Analyse der parallelen Ausführung der Assembler Befehle durch die Prozessor-Pipeline anhand des VHDL-Codes
  • Zusammenführen der entwickelten Eigenschaften von mehreren Teilen des Prozessors
  • Nachweis der Vollständigkeit der Verifikation
  • Projektübergabe an die Entwickler in Bristol / England
  • Werkzeuge: Onespin, Debussy, CVS

 

 

2006

Weiterentwicklung der Methodik zur vollständigen Verifikation industrieller Designs mit OneSpin: München, 5 Monate
  • Planung von Verifikationsaufgaben von der Durchsicht des VHDL/Verilog Codes bis zur Vollständigkeitsprüfung
  • Untersuchung von multi-cycle Befehlen

 

 

2005
Formale Verifikation an einem Controller für die Telekommunikation mit gateprop: Xian / China, 2 Monate
  • Einarbeitung in ein bestehendes Design mit Hilfe der Entwickler vor Ort und Festlegung der formal zu verifizierenden kritischen Operationen
  • Eigenverantwortliche formale Verifikation mit gateprop
  • Analyse der Ursache gefundener funktionaler Entwurfsfehler und Herleitung von Designkorrekturen
  • Werkzeuge: gateprop, ClearCase

 


 

 

1999 - 2004

Festanstellung als Wissenschaftlicher Mitarbeiter am Fachgebiet Rechnersysteme der TU Darmstadt:

  • Eigenverantwortliche objektorientierte Planung und Implementierung einer Software in C++ zum automatischen Beweisen von Assertions/Invarianten von Hardware-Designs, 3 Jahre 
    • Parsen einfacher HDL-Beschreibungen mit flex/bison
    • Automatische Generierung von verstärkenden Assertions nach einer selbst entwickelten Methode bis zum induktiven Beweis der Invarianten

 

  • Formale Verifikation mit gateprop: Kooperation mit der Siemens AG und der Infineon AG in München, 6 Monate 
    • UART: Senden und Empfangen von Daten, Interrupts, DMA
    • Microcontroller Bus-Interface: Formale Verifikation von Speicherzugriffen
    • Bus-Controller: Verifikation der Arbitrierung, Ausschluss von Buskollisionen
    • DMA-Controller: Verifikation einiger Corner-Cases

 

  • Tätigkeit in der Lehre zur Ausbildung von Studenten im Hauptstudium der Datentechnik, 2 Jahre 
    • Starke Erweiterung und Vertiefung meiner Kenntnisse in folgenden Bereichen: 
      • Verschiedene Konzepte von Rechner-/Prozessorarchitekturen und Pipelines für daten-/kontrollintensive Anwendungen
      • Optimierende Compiler-Techniken für Prozessoren mit Pipeline, auch superskalar
      • Speicherhierarchien, Cache-Organisation, virtueller Speicher
      • Multiprozessor-Techniken, Shared-Memory, Bussysteme
      • Echtzeitplanung

 


 

1994 - 1998 als Werkstudent, ca. 1 Jahr
1998 - 1999 in Festanstellung, 1 Jahr
Entwicklung von Software zur Daten- und Programmanalyse mit Logikanalysatoren:
  • Eigenverantwortliche Inbetriebnahme von Evaluation-Boards einzelner Prozessoren/Microcontroller von Motorola/Freescale: Erstellen von Testprogrammen in der jeweiligen Assembler-Sprache und Erfassung der Prozessorsignale mit dem Logikanalysator in Echtzeit
  • Entwicklung von Software in C/C++ zur Analyse der aufgezeichneten Rohdaten und anschließende Disassemblierung
  • Objektorientierte Entwicklung von Software in C++ zur Verknüpfung aufgezeichneter Rohdaten aus Programmen einer Hochsprache mit den Programmzeilen des ursprünglichen Quellcodes durch Analyse der Debuginformation aus dem ELF/DWARF Format
  • Messgeräte: DLI Logikanalysatoren Personal Line und Pro Line
  • Datenformate: ELF, DWARF

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. Ing. Elektrotechnik, TU-Darmstadt, 1998
Studienrichtung: Datentechnik
Vertiefung: Halbleiterelektronik

Studienschwerpunkt: Rechner-/Prozessorarchitekturen und Verifikation

Studienarbeit:
Entwurf eines RISC-Prozessors in der Hardwarebeschreibungssprache VHDL mit Hilfe von ModelSim
  • Entwicklung und VHDL-Implementierung der Pipelines und der gesamten Prozessorarchitektur nach folgender Literatur: J.L. Hennessy & D.A. Patterson: Computer Architecture - A Quantitative Approach, PowerPC MPC603e RISC Microprocessor User's Manual
  • Entwicklung einer Testbench und Simulation mit ModelSim

Diplomarbeit:
Entwicklungsumgebung für hardware-implementierte Java-Bytecode Interpretierer
  • Hardware/Software Co-Design, Garbage-Collection
  • Hardware-orientierte Umsetzung von Methoden aus dem Compilerbau zur Implementierung der Polymorphie
  • Eine Kurzfassung der Arbeit konnte ich 1998 auf dem Workshop "JAVA und Eingebettete Systeme" in Karlsruhe vorstellen

 

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Softwareentwicklung:
  • Objektorientierte Analyse und Design
  • Parser-Entwicklung mit flex/bison
  • Purify, Valgrind
  • Eclipse
  • Mantis
  • ISTQB Certified Tester - Foundation Level

 

Logikanalyse:
  • Inbetriebnahme von Evaluation-Boards mit Testprogrammen in Assembler
  • Aufzeichnung der externen Signale von Prozessoren in Echtzeit
  • Interpretation, Disassemblierung bzw. Verknüpfung mit dem Quellprogramm
  • Messgeräte: DLI Logikanalysatoren Personal Line und Pro Line
  • Datenformate: ELF, DWARF

Parallele Rechnerarchitekturen, Prozessorarchitekturen, superskalare Prozessoren, Zustandsautomaten:
  • Erfahrung durch Entwicklung eines VHDL-Modells mit ModelSim als Studienarbeit
  • Erfahrung durch Verifikation von großen industriellen Prozessoren, Controllern und Bussystemen in VHDL/Verilog
  • Werkzeuge: ModelSim, gateprop, Onespin, ClearCase, CVS

Hardware/Software Co-Design:
  • Grundkenntnisse durch Studium
  • Schwerpunkt der Diplomarbeit

Formale Verifikation:
  • Aufstellen von Verifikationsplänen aus gegebener Spezifikation bzw. Dokumentation
  • Formale Modellbeschreibung
  • Entwicklung von Eigenschaften und deren Verifikation
  • Nachweis der Korrektheit des Designs bzw. Aufdeckung von Fehlern
  • Nachweis der Vollständigkeit der entwickelten Eigenschaften
  • Werkzeuge: gateprop, Onespin, Debussy

Zügige Einarbeitung in die Hardware-Beschreibung von noch laufenden und abgeschlossenen Entwicklungen, auch unter schwierigen Bedingungen

Betriebssysteme

Linux: diverse Distributionen
Windows:

Programmiersprachen

Assembler
Erfahrung durch Programmierung von Testprogrammen für Evaluation-Boards sowie Entwicklung von Disassemblern; langjährige Erfahrung in der Umsetzung von Assembler Befehlen in Prozessorarchitekturen
C
Programmiererfahrung in systemnaher Software
C++
langjährige Programmiererfahrung in objektorientierter Software
Emacs
Perl
SVA
SystemVerilog
TCL
TeX, LaTeX
yacc/lex
Java-Bytecode              3 Monate Diplomarbeit
VHDL / Verilog             langjährige Erfahrung durch Entwicklung und Verifikation
UML

Datenbanken

ClearCase: Kenntnisse als Anwender
CVS:       Kenntnisse als Anwender

Datenkommunikation

TCP/IP: Grundkenntnisse im Zusammenhang mit netfilter/iptables

Hardware

Logikanalysatoren:
  DLI Personal Line und Pro Line

Mikroprozessoren und Mikrocontroller:
  Infineon:           TriCore
  Motorola/Freescale: 68HC11, 68HC16, MC68360

  PowerPC: MPC603e, MPC505

  ARM:                Cortex-M3

  Zilog:              Z380

Branchen

Branchen

Halbleiterindustrie
Digitale Messtechnik
Electronic Design Automation (EDA)
Qualitätssicherung

Einsatzorte

Einsatzorte

Deutschland, Österreich, Schweiz

Weitere Länder: Abhängig von Projektdauer, Projektart, Erreichbarkeit und Auftraggeber

nicht möglich

Projekte

Projekte

2009

Formale Verifikation eines komplexen Bussystems für mehrere Prozessoren und Speicherblöcke einer Software-Defined-Radio Plattform von Infineon: Neubiberg bei München, 3 Monate
  • Einarbeitung in VHDL Design und bereits vorliegender Verifikationseigenschaften eines Verifikationsteams
  • Fertigstellen der vollständigen Verifikation von zwei Modulen des Bussystems
  • Werkzeuge: Onespin, Debussy, ClearCase

 

 

2008

Weiterentwicklung der Methodik zur vollständigen Verifikation industrieller Designs mit OneSpin: München, 2 Monate
  • Aufstellen von Designregeln zur Vereinfachung der Erreichbarkeitsanalyse
  • Systematische Durchführung von Erreichbarkeitsanalysen

 

 

2007
Formale Verifikation eines Memory-Controllers mit OneSpin: München, 5 Wochen
  • Eigenverantwortlicher Nachweis einiger essentieller Invarianten des Controllers
  • Entwicklung der Eigenschaften und deren Verifikation für unterschiedliche Arten von Speicherzugriffen nach dem AMBA AHB Standard in Zusammenarbeit mit einem zweiten Verifikationsingenieur
  • Analyse der Ursache gefundener funktionaler Entwurfsfehler und Herleitung von Designkorrekturen
  • Zusammenführen der entwickelten Eigenschaften und Nachweis der Vollständigkeit der Verifikation
  • Werkzeuge: Onespin, Debussy, CVS

 

 

2006 - 2007
Formale Verifikation am TriCore Prozessor von Infineon mit OneSpin: München, 8 Monate
  • Innerhalb eines Teams aus 4 Personen verantwortlich für die Entwicklung der Verifikationseigenschaften für eine Gruppe von multi-cycle Assembler Befehlen und deren Verifikation
  • Analyse der parallelen Ausführung der Assembler Befehle durch die Prozessor-Pipeline anhand des VHDL-Codes
  • Zusammenführen der entwickelten Eigenschaften von mehreren Teilen des Prozessors
  • Nachweis der Vollständigkeit der Verifikation
  • Projektübergabe an die Entwickler in Bristol / England
  • Werkzeuge: Onespin, Debussy, CVS

 

 

2006

Weiterentwicklung der Methodik zur vollständigen Verifikation industrieller Designs mit OneSpin: München, 5 Monate
  • Planung von Verifikationsaufgaben von der Durchsicht des VHDL/Verilog Codes bis zur Vollständigkeitsprüfung
  • Untersuchung von multi-cycle Befehlen

 

 

2005
Formale Verifikation an einem Controller für die Telekommunikation mit gateprop: Xian / China, 2 Monate
  • Einarbeitung in ein bestehendes Design mit Hilfe der Entwickler vor Ort und Festlegung der formal zu verifizierenden kritischen Operationen
  • Eigenverantwortliche formale Verifikation mit gateprop
  • Analyse der Ursache gefundener funktionaler Entwurfsfehler und Herleitung von Designkorrekturen
  • Werkzeuge: gateprop, ClearCase

 


 

 

1999 - 2004

Festanstellung als Wissenschaftlicher Mitarbeiter am Fachgebiet Rechnersysteme der TU Darmstadt:

  • Eigenverantwortliche objektorientierte Planung und Implementierung einer Software in C++ zum automatischen Beweisen von Assertions/Invarianten von Hardware-Designs, 3 Jahre 
    • Parsen einfacher HDL-Beschreibungen mit flex/bison
    • Automatische Generierung von verstärkenden Assertions nach einer selbst entwickelten Methode bis zum induktiven Beweis der Invarianten

 

  • Formale Verifikation mit gateprop: Kooperation mit der Siemens AG und der Infineon AG in München, 6 Monate 
    • UART: Senden und Empfangen von Daten, Interrupts, DMA
    • Microcontroller Bus-Interface: Formale Verifikation von Speicherzugriffen
    • Bus-Controller: Verifikation der Arbitrierung, Ausschluss von Buskollisionen
    • DMA-Controller: Verifikation einiger Corner-Cases

 

  • Tätigkeit in der Lehre zur Ausbildung von Studenten im Hauptstudium der Datentechnik, 2 Jahre 
    • Starke Erweiterung und Vertiefung meiner Kenntnisse in folgenden Bereichen: 
      • Verschiedene Konzepte von Rechner-/Prozessorarchitekturen und Pipelines für daten-/kontrollintensive Anwendungen
      • Optimierende Compiler-Techniken für Prozessoren mit Pipeline, auch superskalar
      • Speicherhierarchien, Cache-Organisation, virtueller Speicher
      • Multiprozessor-Techniken, Shared-Memory, Bussysteme
      • Echtzeitplanung

 


 

1994 - 1998 als Werkstudent, ca. 1 Jahr
1998 - 1999 in Festanstellung, 1 Jahr
Entwicklung von Software zur Daten- und Programmanalyse mit Logikanalysatoren:
  • Eigenverantwortliche Inbetriebnahme von Evaluation-Boards einzelner Prozessoren/Microcontroller von Motorola/Freescale: Erstellen von Testprogrammen in der jeweiligen Assembler-Sprache und Erfassung der Prozessorsignale mit dem Logikanalysator in Echtzeit
  • Entwicklung von Software in C/C++ zur Analyse der aufgezeichneten Rohdaten und anschließende Disassemblierung
  • Objektorientierte Entwicklung von Software in C++ zur Verknüpfung aufgezeichneter Rohdaten aus Programmen einer Hochsprache mit den Programmzeilen des ursprünglichen Quellcodes durch Analyse der Debuginformation aus dem ELF/DWARF Format
  • Messgeräte: DLI Logikanalysatoren Personal Line und Pro Line
  • Datenformate: ELF, DWARF

Aus- und Weiterbildung

Aus- und Weiterbildung

Dipl. Ing. Elektrotechnik, TU-Darmstadt, 1998
Studienrichtung: Datentechnik
Vertiefung: Halbleiterelektronik

Studienschwerpunkt: Rechner-/Prozessorarchitekturen und Verifikation

Studienarbeit:
Entwurf eines RISC-Prozessors in der Hardwarebeschreibungssprache VHDL mit Hilfe von ModelSim
  • Entwicklung und VHDL-Implementierung der Pipelines und der gesamten Prozessorarchitektur nach folgender Literatur: J.L. Hennessy & D.A. Patterson: Computer Architecture - A Quantitative Approach, PowerPC MPC603e RISC Microprocessor User's Manual
  • Entwicklung einer Testbench und Simulation mit ModelSim

Diplomarbeit:
Entwicklungsumgebung für hardware-implementierte Java-Bytecode Interpretierer
  • Hardware/Software Co-Design, Garbage-Collection
  • Hardware-orientierte Umsetzung von Methoden aus dem Compilerbau zur Implementierung der Polymorphie
  • Eine Kurzfassung der Arbeit konnte ich 1998 auf dem Workshop "JAVA und Eingebettete Systeme" in Karlsruhe vorstellen

 

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Softwareentwicklung:
  • Objektorientierte Analyse und Design
  • Parser-Entwicklung mit flex/bison
  • Purify, Valgrind
  • Eclipse
  • Mantis
  • ISTQB Certified Tester - Foundation Level

 

Logikanalyse:
  • Inbetriebnahme von Evaluation-Boards mit Testprogrammen in Assembler
  • Aufzeichnung der externen Signale von Prozessoren in Echtzeit
  • Interpretation, Disassemblierung bzw. Verknüpfung mit dem Quellprogramm
  • Messgeräte: DLI Logikanalysatoren Personal Line und Pro Line
  • Datenformate: ELF, DWARF

Parallele Rechnerarchitekturen, Prozessorarchitekturen, superskalare Prozessoren, Zustandsautomaten:
  • Erfahrung durch Entwicklung eines VHDL-Modells mit ModelSim als Studienarbeit
  • Erfahrung durch Verifikation von großen industriellen Prozessoren, Controllern und Bussystemen in VHDL/Verilog
  • Werkzeuge: ModelSim, gateprop, Onespin, ClearCase, CVS

Hardware/Software Co-Design:
  • Grundkenntnisse durch Studium
  • Schwerpunkt der Diplomarbeit

Formale Verifikation:
  • Aufstellen von Verifikationsplänen aus gegebener Spezifikation bzw. Dokumentation
  • Formale Modellbeschreibung
  • Entwicklung von Eigenschaften und deren Verifikation
  • Nachweis der Korrektheit des Designs bzw. Aufdeckung von Fehlern
  • Nachweis der Vollständigkeit der entwickelten Eigenschaften
  • Werkzeuge: gateprop, Onespin, Debussy

Zügige Einarbeitung in die Hardware-Beschreibung von noch laufenden und abgeschlossenen Entwicklungen, auch unter schwierigen Bedingungen

Betriebssysteme

Linux: diverse Distributionen
Windows:

Programmiersprachen

Assembler
Erfahrung durch Programmierung von Testprogrammen für Evaluation-Boards sowie Entwicklung von Disassemblern; langjährige Erfahrung in der Umsetzung von Assembler Befehlen in Prozessorarchitekturen
C
Programmiererfahrung in systemnaher Software
C++
langjährige Programmiererfahrung in objektorientierter Software
Emacs
Perl
SVA
SystemVerilog
TCL
TeX, LaTeX
yacc/lex
Java-Bytecode              3 Monate Diplomarbeit
VHDL / Verilog             langjährige Erfahrung durch Entwicklung und Verifikation
UML

Datenbanken

ClearCase: Kenntnisse als Anwender
CVS:       Kenntnisse als Anwender

Datenkommunikation

TCP/IP: Grundkenntnisse im Zusammenhang mit netfilter/iptables

Hardware

Logikanalysatoren:
  DLI Personal Line und Pro Line

Mikroprozessoren und Mikrocontroller:
  Infineon:           TriCore
  Motorola/Freescale: 68HC11, 68HC16, MC68360

  PowerPC: MPC603e, MPC505

  ARM:                Cortex-M3

  Zilog:              Z380

Branchen

Branchen

Halbleiterindustrie
Digitale Messtechnik
Electronic Design Automation (EDA)
Qualitätssicherung

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.