Popis: |
Specification languages and automated design methods are increasingly being used to master the growing complexity in the development of embedded electronic systems. The work presented here uses the "Specification and Description Language" SDL as basis of an automated design process targeting application specific hardware particularly for hard real-time systems. The SDL specification is annotated with deadlines, event streams and event dependencies which capture the timing requirements and properties of the embedding system. The next step towards an electronic circuit is a VHDL description of the required behaviour. Different principles for the transformation of SDL into VHDL, the implementation models, are presented. The server model maps each SDL process to its own VHDL entity with its own message queue. The activity thread implementation in contrast executes all transitions, which are triggered in the SDL system by one external signal or timer output, directly one after the other, abolishing the internal communication between the processes. In the presented design process, a SDL-Compiler generates VHDL from textual SDL. The statemachine part is linked with so called run-time components, which implement reusable functions like message queues, timers, and communication channels. Commercial synthesis tools create the electronic circuit from the VHDL design. The complete design flow was integrated with a HW/SW rapid prototyping environment. Hard real-time systems require the beforehand proof that all deadlines will be met. A real-time analysis is presented which calculates the worst case response times to external events, considering the timing constraints, different implementation models and run-time components. An upper bound on the necessary length of the FCFS message queues is derived as well. The consideration of event dependencies during real-time analysis brings a relaxation of a possibly too pessimistic worst case scenario. The presented methods have been tested in the rapid prototyping environment on a FPGA-based target architecture with the help of several application examples. The results from these experiences allow an evaluation of both the resource requirements and real-time properties of the hardware automatically generated from SDL. Um die steigende Komplexität beim Entwurf eingebetteter elektronischer Systeme zu meistern werden immer häufiger Spezifikationssprachen und automatisierte Entwurfsmethoden eingesetzt. Die vorliegende Arbeit verwendet die "Specification and Description Language" SDL als Basis eines automatisierten Entwurfsprozeß für anwendungsspezifische Hardware speziell für harte Realzeitsysteme. Die SDL-Spezifikation wird mit Deadlines, Ereignisströmen und Ereignisabhängigkeiten annotiert, welche die zeitlichen Anforderungen und Eigenschaften des einbettenden Systems beschreiben. Der nächste Schritt zum elektronischen Schaltkreis ist eine VHDL-Beschreibung des erforderlichen Verhaltens. Es werden verschiedene Prinzipien der Umwandlung von SDL in VHDL, die sogenannten Implementierungsmodelle, vorgestellt. Beim Server-Modell wird jeder SDL-Prozess auf eine eigene VHDL-Einheit mit Warteschlange abgebildet. Im Gegensatz dazu werden beim Activity-Thread-Modell alle Transitionen, die im gesamten SDL-System durch ein externes Signal oder einen ablaufenden Timer ausgelöst werden, in einer VHDL-Einheit direkt nacheinander ausgeführt, wodurch die interne Kommunikation zwischen den SDL-Prozessen entfällt. In dem vorgestellten Entwurfsprozess generiert ein SDL-Compiler VHDL aus der textuellen SDL-Beschreibung. Der Zustandsmaschinenanteil wird mit sogenannten Laufzeitkomponenten verknüpft, die wiederverwendbare Funktionen wie Warteschlangen, Timer und Kommunikationskanäle implementieren. Kommerzielle Werkzeuge erzeugen die elektronische Schaltung aus dem VHDL-Design. Dieser Ablauf wurde in eine automatisierte Hardware/Software Rapid Prototyping Entwurfsumgebung integriert. Bei harten Realzeitsystemen ist ein a-priori Beweis nötig, daß das entworfene System alle Deadlines einhalten wird. Die in der Arbeit vorgestellte Realzeitanalyse ermittelt die Worst-Case Reaktionszeiten auf externe Ereignisse unter Berücksichtigung der zeitlichen Randbedingungen, der Implementierungsmodelle und der verwendeten Laufzeitkomponenten. Die Berücksichtigung von Ereignisabhängigkeiten bringt hierbei eine Entspannung von unter Umständen zu pessimistischen Worst-Case Annahmen. Als Nebenprodukt der Realzeitanalyse kann zusätzlich die maximal nötige Tiefe der First-Come-First-Serve-Warteschlangen bestimmt werden. Die vorgestellten Methoden wurden in einer Rapid-Prototyping-Umgebung auf einer FPGA-basierten Zielarchitektur an einer Reihe von Anwendungsbeispielen getestet. Die Ergebnisse dieser Versuche erlauben eine Evaluierung des Ressourcenverbrauchs sowie der Realzeiteigenschaften von aus SDL automatisch erzeugter Hardware. |