ToDoList von AbstractSpoon

Ok, kleine XML-Erweiterung. XML als Datenformat ist sowohl Menschen- als auch Maschinen-lesbar. Deswegen eignet es sich ideal zum Ablegen atomarer Daten. Es gibt eine riesige Infrastruktur von Editoren und Transformatoren. Ich sage nur XSLT. Auch DITA benutzt XML.

ToDoList erfüllt einige Wünsche von denen ich nur die gebräuchlichen in meiner Arbeit vorstelle. Es kam aus der Entwicklungsabteilung dass man Freemind als Mindmapping-Tool einsetzen sollte. Ich habe dagegen ToDoList favorisiert. Der Vorteil ist das es Listen-basiert ist, aber sowohl hierarchisch als auch linear einzusetzen ist.

Es ist hervoragend als MindMap einzusetzen, man kann Aufgaben jedoch mit unzähligen als auch erweiterbaren Attributen benutzen. Inzwischen ist die Software sehr stabil. Mir ist bisher keine meiner hundert Maps verloren gegangen.

Es eignet sich auch als Time-Tracking System. Es arbeitet mit Prioritäten sich frei konfigurierbar auch in Farben darstellen lässt. Schnell lässt sich eine Liste nach Priorität oder sonst irgendwas sortieren.

Ich liebe die Erweiterbarkeit so lassen sich Listen auch im Gantt-Zeitchart darstellen. Oder der Burn-Down von Aufgaben anzeigen. Der Screenshot zeigt nun eine Liste in der viele Dateilinks abgelegt werden. Es können zu jeder Aufgabe mehrere Dateilinks (oder Weblinks) darstellen. Man kann hierarchisch strukturieren und Kommentare in reinText oder RichText zu fügen. So können Webausschnitte über den Umweg über Copy+Paste in Word überführen.

Habt Freude beim Ausprobieren und spendet fleißig, damit der Entwickler abstractspoon der Software die Stange hält. Es sind vielfältige Import und Exportfunktionen verfügbar, für beispielsweise FreeMind, XML und HTML.

Viel Spaß beim Testen. Bei Fragen zu XML, TDL oder XSLT zur Datentransformation in andere Formate gerne Kontaktanfrage an mein Inhgenieurbüro. Wir arbeiten schon seit vielen Jahren mit diesen Technologien und haben schon schwierigste Projekte realisiert. Näheres auch auf meiner Homepage. Viel Spaß beim Reposten.

Diagramme erstellen mit yEd von yWorks (Tübingen)

Jetzt aufgepasst… Jeder deutsche Ingenieur muss ab und zu Diagramme zeichnen. Sie vereinfachen das Verständnis und die Wissensvermittlung. Nachdem nun das papierlose Büro Einzug gehalten hat. Bleibt die Frage wie skizziert man kurz mal was…

Von Mindmap abgesehen, braucht ein Diagramm Erweiterbarkeit, damit es entsprechend den Anforderungen wachsen kann. Hiermit stelle ich mein absolutes Lieblingstool aus meiner Nachbarstadt vor… yEd von yWorks… Es ist überragend…

Ein toller Vorteil ist die Speicherung in XML. Damit kann ein Suchen & Ersetzen einfach über Texte in der Datei vorgenommen werden. Damit sind häufige Namenänderung überhaupt kein Problem, im Quelltext in der Doku und im Diagramm gleichzeitig geändert. Und wer SVG liebt, kommt mit yEd auf jeden Fall auf seine Kosten.

Runterladen und Probieren… Wer Probleme mit dem Programm oder mit XML hat, oder vor einen riesigen Datenchaos steht, ist bei mir richtig aufgehoben. Meine Programme durchforsten das gesamte Dateisystem, lesen sich in XML, SVG oder anderen Maschinen(-und Mensch-)lesbaren Formaten durch… Erstellen daraus Bäume, Websites oder Zusammenfassung… von HTML bis PDF kann alles daraus generiert werden. Einfach Anfrage an

FPGA-Framework für kollaboratives Arbeiten

Wenn man FPGAs erstellt, stellt jede Implementierung eine Dateninsel dar. Um dem aus dem Wege zu gehen, sollten FPGA die gleichen Sourcen benutzen. Gleiche Sourcen sorgen für gesteigerte Qualität, weil Lerneffekte aus verschiedenen Quellen zusammenfliesen. Aus diesem Grund wurde ein Framework erstellt, um Sourcen zeitgerecht zu pflegen. Bei Einsatz des FPGA-Framework können Varianten und Release mit massiver Zeitersparnis erstellt werden.

Vorteile des Frameworks

Integration von svn

Durch die Übereinanderlegung von Sourcen ist es einfach, die Quellen fachgerecht einzuordnen. Jedes Top-Entity enthält sein eigenes Verzeichnis. Die Build-Dateien wie pinning und constraints werden zu den Implementierungen zugeordnet. So ergibt sich ein sauberes Verzeichnisbild.

Automatische Erstellung vom Projektfile

FPGAs die aus vielen Sourcen bestehen sind schwer zu klonen. Die Sourcen liegen in verschiedenen Verzeichnissen und sind schwer zu fassen. Die Abhängigkeiten zwischen ihnen können nur manuell durch Trial-und-Error bestimmt werden. Das Framework bindet alle erforderlichen Quellen einer Technologie automatisch ein und bildet ein Projekt-File. So dass Lattice Diamond sie einfach öffnen kann.

Screenshot von Lattice-Diamond aufgerufen vom FPGA-Framework

Einfache Erstellung von Varianten

Oft werden Varianten von FPGAs erstellt, manchmal ist es ein veränderter Zuschnitt der Leiterplatte, manchmal ein Redesign der Leiterkarte oder eine Teilbestückung. Mittels einfacher Variablen lässt sich der FPGA mit einfachen Mitteln konfigurieren. In XML-Dateien stehen leserlich Beschreibungen der Konfiguration. Somit können Sie in den FPGA top in die testbench sowie in die Beschreibung fehlerlos einfliessen. Dadurch dass die Konfiguration nur an einer Stelle steht erhält man die Qualität eines Single-Source-Designs.

Alle erforderlichen Aufrufe über einfache Kommandozeilenbefehle

Es gibt unterschiedliche Aufgaben während der Entwicklung eines FPGA. Der wohl wichtigste Schritt ist die Synthese. Davor kommt die Simulation und die Dokumentation. Der Ablauf ist der folgende, man legt eine Variante fest. Dann ruft man den erforderlichen Schritt auf. Die Entwicklungsumgebung Diamond, Active-HDL, die Synthesewerkzeuge werden automatisch aufgerufen. Der letzte Schritt ist das Release. Hierbei können alle gewünschten Daten automatisch an die erforderlichen Stellen kopiert werden. Das Tool erstellt auch die Programmierdateien an unterschiedlichen Dateiorten.

Automatische Erstellung

der Dokumentation

Während bei der konventionellen Entwicklung die Dokumentation parallel erstellt werden muss, erstellt sie das Framework zeitgleich. Dabei fliessen Konfiguration ein, Build-Reports. Die Struktur des FPGA kann durch Beschreibung in der Dokumentensprache DITA nachvollzogen werden, so dass ein hierarchisch gegliedertes HTML-Dokument entsteht, dass die Hierarchie des Designs entspricht. Zeitgleich entsteht auch ein PDF zum schnellen Nachschlagen für die Programmierer.

Aufbau des Frameworks

Grundstruktur im Dateisystem

Dateisystem im FPGA-Framework zum kollaborativen Arbeiten

Das System ist wie folgt gegliedert: In src/ liegen Ihre Entwicklungsdateien. Darin enthalten sind commons/: Das sind allgemeine Dateien, die in mehreren Dateien verwendet werden. In functions/ können funktionorientiert strukturierte Sourcen liegen, das hat den Vorteil, dass man eine bessere Übersicht über implementierte Funktionen bekommen. In specifics/ liegen alle spezifischen Dateien für ein Design wie das top und das testbench.
In cmd/ liegen alle Dateien die das Framework betreffen. Diese Dateien werden geliefert und bedienen das Framework.
In beds/ sind alle Implementierungen nach Artikelnummer der Leiterplatte geordnet. In beds/ bekommt jedes Design sein eigenes Verzeichnis. Dort laufen die Synthese- und Simulationsprogramme ab. Die Endausgabedateien und die Dokumentation wird hierin abgelegt sein.
Andere Verzeichnisse werden nur auf Wunsch im Release-Schritt beschrieben.

Auszeichnungsdateien in XML

Die Magie des Frameworks ist auf die XML-Technolgie zurückzuführen. Durch XML-Dateien wird die Struktur der Sourcen beschrieben. Es kann zu jeder Source bzw. zu jeder Funktion eine eigene Datei erstellt werden. In dieser Datei ist folgendes beschrieben:

  • Name der Source und der evtl. vorhandenen Testbench
  • Konfigurationskonstanten. Diese Konstanten werden im HDL eingebunden und sind auch in der Dokumentation beschrieben.
  • Es können Register beschrieben werden. Z.B. bei RAM Architekturen. Für jedes Register können Adressen und Daten beschrieben werden. Die Daten können 8-64 Bit breit sein. Es können Bitserien und einfache Bits beschrieben werden. Im HDL werden diese Einzelheiten mit vielerlei Konstanten zugänglich gemacht.

    register.xml – Beschreibungsdatei für den kollaborativen Framework für FPGA

Aufruf des Frameworks

Im Verzeichnis cmd/ liegt eine Verknüpfung zu einer DOS-Kommandozeile. Dort wählt man als erstes die zu erstellende Variante aus. Dies funktioniert mit einem einfachen set Befehl. Als nächstes startet man die Arbeit mit einem chore Befehle. Z.B. chore compile synth release. Die Befehle lassen sich nacheinander ausführen, damit zeit-intensive Schritte automatisch nacheinander ausgeführt werden.

Integration des Frameworks

Das Framework ist durchweg dokomentiert. Es ist einfach es zu implementieren. Man beginnt mit dem Erstellen des Dateisystems. Die verwendeten Sourcen müssen alle in src/ eingepflegt werden. Es empfiehlt sich die src nach obigen Schema ordnerorientiert abzulegen. Es gibt funktionsorientierte Sourcen und systemorientierte.

Als nächstes wird eine XML-Struktur eingepflegt, hier werden die Sourcen erfasst und es werden Namen festgelegt, mit denen man sie instanzieren kann.

In specifics/ kommt eine Sonderrolle zu tragen. Jedes top instanziert seine Subfunktionen. Des Weiteren werden hier Dateinamen, Spezialverzeichnisse und sonstige Designspezifische Daten eingetragen.

Bei Fragen zum Framework können Sie sich jederzeit im Kontaktformular eintragen. Ich berate Sie dann gerne individuell und lasse Ihnen ein maßgeschneidertes Angebot zu kommen.

Website spare-benzin.de aus DITA und XSLT

Die kürzlich erstellte Website spare-benzin.de ist jetz online. Sie wurde wie folgt erzeugt:

  1. aus DITA Topics wird per Transformation aus dem DITA Open Toolkit eine XHTML-Website erstellt. Dabei kommen Tasks, Concepts und References zum Einsatz. Unter anderem sind auch aufwendige javascript im Einsatz die die Fahrphysik simulieren. Die Eingabe erfolgt via Bootstrap-Formulare. Diese Eingaben werden durch backbone MVC-Techniken an die Simulation geleitet. Die Visualisierung wird durch D3.js in übersichtliche farbliche Diagramme geführt. Dadurch werden Diagramme dynamisch.
  2. die transformierte XHTML wird durch ein XSLT-Verarbeitung mit Menüs, Seitensuche und .PHP-Skripts angereichert. Dadurch erhalten eine Vielzahl von Seiten mit verlässlicher Qualität das gleiche Erscheinungsbild.
  3. die angereichertem .HTML-Dateien kommen auf einem Apache Server zum Einsatz. Zum Erscheinungsbild tragen Webschriftarten die mittels CSS integriert sind.

Machen Sie sich ein Bild und gehen sie auf spare-benzin.de. Eine vollautomatisch erstellte Website aus DITA-Quellen. DITA hat den Vorteil der Wiederverwendbarkeit. Durch die Trennung von Inhalt und Aussehen können die gleiche Inhalte in verschiedenen Publikationen verwendet werden.