CHRON: Entwurf und Simulation digitaler Schaltungen im Programmpaket

Abbildung 1: Das Simulations- und Editorprogramm CHRON

Das Ingenieurbüro Harald Prillwitz in München entwickelte das Programmpaket Chron, das aus folgenden Bausteinen besteht: Einem Programm zur Schaltungseingabe und Logiksimulation, Hilfsprogrammen für die Definition neuer Bauteile und Bauteilsymbole, sowie je nach Version mehr oder weniger umfangreichen Bibliotheken.

Die Grundversion enthält nur diese Programme sowie eine Grundbibliothek von sogenannten Primitives. Dieses voll einsatzfähige Paket kostet 249 DM.

Die Profi Version für 1800,- DM, die ab Mai erhältlich sein wird, ist darüberhinaus mit einem Plottertreiber für HP-GL-fähige Plotter, einer Schnittstelle zu dem Platinenlayoutsystem Habacad PI sowie mit TTL-Bibliotheken erweitert. Der Plottertreiber erlaubt das Ausplotten der mit dem Chron-Simulationsprogramm erstellten Schaltpläne. Zusammen mit der Platinenlayout-Systemschnittstelle ist es so möglich, eine Schaltung nur ein einziges Mal für alle wichtigen Arbeitsschritte (Simulation, Layout, Dokumentation usw.) einzugeben. Das erhöht nicht nur den Komfort, sondern reduziert auch die Fehlerwahrscheinlichkeit. Die zusätzlichen Optionen des Profipaketes sollen auch einzeln erhältlich sein, so daß man die Basisversion, die auch über Händler vertrieben werden soll, stufenlos auf den Stand der Profiversion ’upgraden’ kann.

Für diesen Test stand uns die Basisversion des Paketes zur Verfügung, allerdings mit einer unfertigen Anleitung, die uns die Bedienung nicht gerade leicht machte. Chron wird deswegen erst mit dem endgültigen Handbuch, das auch unerfahrene Benutzer mit der Materie des Programmpakets vertraut machen soll, geliefert werden. Wenn dieser Test erscheint, dürfte es bereits soweit sein.

Anleitung wie Bedienungsoberflächen der Programme sind übrigens vollständig in deutscher Sprache verfaßt.

Von den Optionen der Profiversion abgesehen, besteht Chron aus drei Programmen. Das wichtigste ist der Schaltplaneditor und Logiksimulator, der dem Paket seinen Namen gab: Chron. Damit können Schaltungen vollkommen maus- und menügesteuert eingegeben werden. Dabei stehen Bibliotheken mit Bauelementen zur Verfügung. Der Erweiterung der mitgelieferten Bibliotheken dienen die beiden übrigen Programme. Synchron ist ein GEM-gesteuerter Editor für die Symbole, mit denen die Bauelemente im Schaltplaneditor erscheinen. Mit dem Programm Chronbau, das als einziges völlig auf GEM verzichtet, werden diesen Symbolen dann elektrische Eigenschaften zugewiesen. Dabei ist es sowohl möglich, neue elementare Logikfunktionen zu der 'Primitives'-Bibliothek hinzuzufügen, als auch größere mit Chron erstellte Schaltungen quasi als Makro in ein Symbol zu packen. Zum Beispiel könnte man aus dem Primitive ’Nand mit zwei Eingängen’ ein SR-Flipflop zusammenschalten und dieses dann als Makro abspeichern.

Doch zunächst zu dem Kernstück des Pakets, dem Logiksimulator: Chron zeigt nach dem Laden Menüleiste und drei Fenster, die mit Schaltung, Trace und Liste betitelt sind. Das Schaltungsfenster dient der Schaltungseingabe, die beiden anderen Fenster zur Verfolgung einer Logiksimulation. Eine Schaltung wird sehr einfach eingegeben: Zuerst wählt man aus den auf Diskette gespeicherten Bibliotheken ein Bauteil aus und plaziert es auf dem Schaltbild. Die Blattgröße des Schaltplans läßt sich in Millimetern einstellen; für gute Lesbarkeit kann ein beliebiger Ausschnitt vergrößert werden. Hat man einige Bauteile plaziert, kann man einfach mit der Maus die gewünschten Anschlüsse verbinden. Selbstverständlich können Teile der Schaltung auch wieder gelöscht werden.

Abbildung 2: Die Eingabebox für Stimuli

Zusätzlich lassen sich die Bauteilsymbole und Leitungen auch verschieben, Symbole können auch kopiert werden. Den Leitungen werden in der Reihenfolge, in der sie gezeichnet werden, Nummern zugeteilt. Man kann auch Namen vergeben, was vor allem nützlich ist, um Logiksimulationen übersichtlicher zu machen. Außerdem werden die Namen von Bauteilen und Leitungen in variabler Textgröße auf dem Schaltplan dargestellt und natürlich mitgeplottet, wenn man einen Plottertreiber besitzt.

Insgesamt ist das Editieren von Schaltungen recht einfach und komfortabel. Die Plazierung der Bauteile wird durch eine Art Snapfunktion erleichtert, was exakte Positionierung ermöglicht. Bauteile können nicht rotiert werden. Um trotzdem ein übersichtliches Design des Schaltplans zu erzielen, kann man natürlich mit dem Symchron-Symboleditor neue, um jeweils 90 Grad gedreht Symbole mit gleichen elektrischen Eigenschaften erzeugen.

Etwas Kritik verdient die Maussteuerung: Nicht immer ist logisch, welche Maustaste für welche Funktion zuständig ist. Die meisten Zeichenfunktionen werden mit der rechten Maustaste betätigt (warum?), manche auch nicht (warum?). Dieser Punkt könnte sicher mit geringem Aufwand geschickter gelöst werden. Außerdem wäre eine Funktion zum Löschen der ganzen Schaltung wünschenswert; um eine neue zu beginnen, muß nämlich die alte Stück für Stück gelöscht werden. Schön wäre auch eine Kopierfunktion nach dem Cut&Paste-Prinzip zum Kopieren von Schaltungsausschnitten. Zu bemerken wäre schließlich, daß der Menüpunkt 'Schaltung laden’ nach einmaliger Benutzung gesperrt wird. Zum Laden einer weiteren Schaltung muß also das Programm verlassen werden, was jedoch wegen kurzer Ladezeit erträglich ist. Insgesamt ist der Editor zwar nicht perfekt, aber sehr brauchbar.

Nach der Eingabe einer Schaltung wird es spannend: Ohne zum Lötkolben greifen zu müssen, kann die Funktion der Schaltung unter verschiedenen Bedingungen überprüft werden. Die zeitliche Auflösung beträgt dabei 1/10 Nanosekunde.

Ms Simulationsbedingung kann die minimale, typische oder maximale Rise- bzw. Falltime der Bauteile verwendet werden. Auch ein 'Worst Case’-Modus, in dem die minimale und die maximale Zeit verwendet werden, ist möglich. Die Rise- und Fallzeiten werden bei der Bauteilerstellung definiert, sie können jedoch auch im Schaltplan noch verändert werden.

Welche Leitungen bei der Simulation im Trace- und Liste-Fenster verfolgt werden (sogenannte ’Traces'), kann man frei auswählen. Dabei zeigt das 'Trace'-Fenster die Zustände der Leitungen grafisch, das 'List'-Fenster dagegen jede Zustandsänderung der Simulation mit Zeitpunkt und neuem Zustand aller verfolgten Leitungen.

Um die Schaltung für die Simulation mit sinnvollen Eingangswerten zu versehen, können sogenannte 'Stimuli' eingegeben werden. In einer Dialogbox kann jede Leitung mit den Zuständen 1,0 oder unbekannt versehen werden. Zusätzlich kann jedem Zustand ein Attribut, das die Art des logischen Zustands angibt, beigegeben werden. Dabei stehen die Typen strong, resistive und hiz (hochohmig) zur Verfügung. Weiterhin kann ein Zeitpunkt angegeben werdden, zu dem eine Leitung den gewünschten Zustand annimmt und ob sich der Vorgang gegebenenfalls wiederholen soll. Um z. B. einen Takt mit der Periode 50 ns auf einer Leitung zu definieren, müßte man die Leitung zum Zeitpunkt 0 auf log. 1 setzen und dies alle 50 ns wiederholen lassen. Dann müßte man die Leitung zur Zeit 25 ns auf log. 0 setzen und auch hier wieder einen Wiederholungsfaktor von 50 ns eingeben. Leider existiert keine Ubersichtsdarstellung aller gesetzten Zustandsveränderungen einer Leitung. Bei Fehlern muß man sehr genau wissen, was man bisher eingegeben hat, um die Korrektur zum richtigen Zeitpunkt durchzuführen. Sonst spuken auf den Eingabeleitungen plötzlich ungewollte Impulse herum.

Störend ist beim Setzen und Editieren von Stimuli und Traces, daß imme rnur alle Stimuli oder Traces gelöscht werden können. Glücklicherweise lassen sich Stimuli und Traces abspeichern. Das Abspeicherungsformat ist ein ASCII-File, so daß es sich bei komplizierteren Stimuli-Verläufen unter Umständen anbietet, sie mit einem Texteditor einzugeben oder zu editieren.

Abbildung 3

Selbstverständlich kann die Laufzeit der Simulation eingegeben werden. Wie bei allen Zeitangaben kann auch hier zwischen relativer und absoluter Angabe gewählt werden (die relative Eingabe erlaubt die Fortführung einer bereits begonnenen Simulation). Treten während der Simulation Störungen an irgendwelchen Leitungsnetzen auf, meldet sich der Simulator mit dem Angebot, den betroffenen Ausschnitt vergrößert im Schaltungsfenster zu zeigen. So hat man eine schnelle Kontrolle über eventuelle Schaltungsoder Eingabefehler. Die Ergebnisse der Simulation lassen sich als Liste speichern und dann als ASCII-File weiterverwenden. Leider gibt es keine Möglichkeiten, die Timingdiagramme aus dem Trace-Fenster auszudrucken. Für beide Simulationsfenster besteht die Möglichkeit, mit den Cursortasten durch die Ergebnisse hindurchzuscrollen, die Ausgabe des Trace-Fensters besitzt darüber hinaus noch eine Zoom-Funktion.

Darüberhinaus gibt es eine besondere Anzeigefunktion, mit der sich ein bestimmtes Leitungsnetz suchen oder ein bestimmter Zeitbereich in den Simulationsfenstern ausgeben läßt.

Bei allen von uns getesteten Schaltungen waren die Ergebnisse von Chron korrekt und vor allem sehr schnell. Die Worst-Case-Betrachtung erlaubt auch eine Beurteilung kritischer Zeitverläufe, so daß Fehler, die durch schlechte Bauteile (bfzw. Bauteile, die am unteren oder oberen Ende der Spezifikationen angesiedelt sind) entstehen, leicht schon im Entwurf entdeckt und behoben werden können.

Nützlich ist die Möglichkeit zur Entwicklung eigener Bauelement-Bibliotheken. Dadurch ist es zum Beispiel nicht notwendig, einen Addierer jedesmal wieder komplett als Schaltung einzugeben. Man definiert sich einmal einen Addiererbaustein, indem man mit Chron die dazugehörige Schaltung zeichnet, dann mit dem Programm Symchron das Symbol entwirft, unter dem die Schaltung auf dem Bildschirm erscheinen soll, und schließlich mit dem dritten Programm des Paketes, Chronbau, beides zusammenfügt.

Die Schaltungsentwicklung für ein Makro funktioniert genauso wie für jede andere Schaltung. Man baut mit dem Chron-Editor die Schaltung aus den vorhandenen Primitives oder früher definierten Makros auf und simuliert sie, um ihre Funktionsfähigkeit sicherzustellen. Der einzige Unterschied zur normalen Entwicklung ist, daß Schaltungen für Makros in einem bestimmten Ordner auf Diskette gespeichert werden sollen, damit das Chronbau-Programm sie dort findet.

Symchron ist ein GEM-unterstützter Symboleditor. Damit können die Umrisse des Schaltungssymbols entworfen, die Lage der Anschlußpins festgelegt und schließlich das ganze Symbol beschriftet werden. Bauteile können mit unterschiedlichen Pinrastern entworfen werden; in Chron können jedoch nur Bauteile mit gleichem Pinrasterabstand gemeinsam verwendet werden.

Abbildung 4: Der Symboleditor SYMCHRON

Als Hilfsmittel für die Editierung steht ein Raster zur Verfügung. Die Größe des Zeichenblatts (und damit die maximale Größe des Symbols) können in Millimetern eingestellt werden. Es stehen Funktionen zum Linien- und Kreisezeichnen zur Verfügung, Ausschnitte können kopiert, verschoben oder gelöscht werden. Pins werden mit einer besonderen Funktion eingezeichnet.

Die Editierung von Symbolen geht schnell und komfortabel. Je schöner das Design der Symbole ist, desto besser sieht ein mit dem Plottertreiber ge-plotteter Schaltplan aus; die Symchron-Symbole werden auch für die Plotterausgabe verwendet.

Das Chronbau-Programm ist der einzige Teil des Paketes, der völlig auf GEM verzichtet. Dieses Programm dient dem Zusammenfügen von Symbolen und den dazugehörigen Schaltungen bei Makros beziehungsweise bei der Erstellung der elektrischen Eigenschaften für Symbole von Primitives.

Für Bedienungskomfort und Übersichtlichkeit wäre es wohl erheblich günstiger gewesen, die Funktionen von Chronbau in das Symchron-Programm einzufügen; schließlich ist es die Hauptaufgabe von Chronbau, den Pins der Symbole aus Symchron elektrische Eigenschaften (Ein-/Ausgabe, Rise-/Fallzeiten usw.) zuzuordnen. Darüber hinaus können den Bauteilen für die Schnittstelle zum Platinenlayoutsystem Informationen über die Gehäuseform und die Anschlußnummern, die den Symbolpins entsprechen sollen, zugeordnet werden.

Das Chronbau-Programm ist zwar sehr unübersichtlich, es erfüllt jedoch seinen Zweck.

Insgesamt ist Chron in der Basisversion ein sehr preisgünstiges und leistungsfähiges System. Besonders der Logiksimulator ist komfortabel und schnell. Die Bedienung ist recht einfach, es gibt jedoch eine Reihe lästiger Kleinigkeiten, die den Gesamteindruck ein wenig beeinträchtigen. Der Symboleditor ist völlig okay, das Chronbau-Programm bedarf noch einiger Verbesserungen in Sachen Komfort. Allerdings wird man die meiste Zeit mit dem Schaltplaneditor und Logiksimulator verbringen, so daß die Bedienung von Chronbau weniger ins Gewicht fällt.

Die Entwicklung digitaler Schaltungen kann mit Chron erheblich vereinfacht werden. Der Preis ist für ein derartiges Programm überaus günstig. Man darf auf die Erweiterungsoptionen zum Profipaket gespannt sein. Wir werden Sie auch weiterhin darüber informieren.

(CS)



Aus: ST-Computer 05 / 1987, Seite 139

Links

Copyright-Bestimmungen: siehe Über diese Seite