01 · Viewer
Netzliste öffnen, Schaltplan sehen. Geschrieben wird erst, wenn Sie speichern
Ein Viewer öffnet eine SPICE- oder Spectre-Netzliste mit RNL-Einträgen samt den von ihr eingebundenen Dateien, zeichnet jede Ebene der Schaltung und zeigt daneben den Netzlistentext, die Probleme und die Hierarchie. Auch ein Netzlistentext aus der Zwischenablage lässt sich öffnen: Datei › Aus Zwischenablage laden zeigt zunächst den Text und öffnet ihn nach Ihrer Bestätigung.
Zeichnet jede Ebene
Die oberste Ebene und jede Teilschaltung sind jeweils eigene Zeichnungen, die einzeln angezeigt werden; ziehen Sie zum Verschieben, scrollen Sie zum Zoomen. Ein Doppelklick auf eine Teilschaltungsinstanz öffnet deren Zeichnung; Backspace führt wieder eine Ebene nach oben.
Der Netzlistentext
Die Netzliste und ihre eingebundenen Dateien, wobei RNL-Einträge und Netzlistenanweisungen farbig hervorgehoben sind; unwirksame Anweisungen sind dezent hinterlegt. Während eine Teilschaltung gezeichnet wird, ist der Text außerhalb ihrer Definition abgeblendet, und beim Öffnen der Teilschaltung scrollt die Ansicht an den Beginn ihrer Definition.
Probleme
Fehler, Warnungen und Hinweise werden unterhalb des Textes aufgelistet; ein Klick auf einen Eintrag springt zur entsprechenden Zeile. Auch die Zeilennummern dieser Zeilen sind farbig markiert.
Hierarchie
Der Instanzbaum unterhalb der obersten Ebene und darunter alle Teilschaltungen nach Namen, gruppiert nach Anfangsbuchstaben und mit Suchfeld; wählen Sie eine aus, um ihre Zeichnung zu öffnen.
Zeichnung und Text, miteinander verknüpft
Klicken Sie in der Zeichnung auf eine Instanz oder Leitung, markiert der Text ihre Anweisung und jede Stelle, die sie nennt; klicken Sie in den Text, wählt die Zeichnung das Objekt aus.
Nicht gezeichnete Objekte
Objekte ohne Position (oder ohne Symbol) werden nicht gezeichnet; die Ansicht „Nicht gezeichnet“ der Seitenleiste listet sie mit ihren Symbolen und den Netzen an ihren Anschlüssen auf, durchsuchbar nach Namen, und ein Klick auf einen Eintrag hebt seine Anweisung in der Netzliste hervor. Die Statusleiste meldet, wie viele Objekte nicht gezeichnet sind, und ein Klick auf diese Meldung öffnet die Ansicht.
Bearbeiten, übernehmen, speichern
Beide Viewer können den Text der Netzliste bearbeiten. Eine Änderung bewirkt von sich aus noch nichts: Gezeichnet wird sie beim Übernehmen, geschrieben beim Speichern, und gelöst wird niemals automatisch.
Text bearbeiten
Bearbeiten › Text bearbeiten (Ctrl+Q, auch unter macOS die Control-Taste) verwandelt die Netzlistenansicht in ein bearbeitbares Textfeld mit Zeilennummern für jede Datei. Ungespeicherte Änderungen werden durch einen Punkt neben dem Dateipfad markiert, und die Leiste über dem Text weist darauf hin, wenn Änderungen noch nicht übernommen wurden. Bearbeiten › Änderungen verwerfen verwirft noch nicht übernommene Änderungen und beendet die Bearbeitung.
Übernehmen
Bearbeiten › Übernehmen und Bearbeitung beenden (Ctrl+Enter) erstellt die Netzliste aus dem bearbeiteten Text neu, zeichnet den Schaltplan neu, aktualisiert Problem- und Hierarchieliste unter Beibehaltung der aktuellen Ebene, Ansicht und Auswahl und beendet die Bearbeitung. Schlägt das Erstellen fehl, bleiben Ihre Bearbeitungen geöffnet und der Viewer nennt die Ursache.
Speichern
Datei › Speichern (Ctrl+S; Datei › Datei herunterladen im Web-Viewer): Der Desktop-Viewer schreibt nur die bearbeiteten Dateien unter Beibehaltung ihrer jeweiligen Kodierung und Zeilenenden an ihren Ursprungsort zurück; da der Web-Viewer keine lokalen Dateien überschreiben kann, lädt „Datei herunterladen“ dort die angezeigte Datei herunter. Bei ungespeicherten Änderungen fragt der Viewer vor dem Öffnen einer anderen Datei, dem Neuladen oder dem Schließen nach.
Beide Viewer zeichnen exakt denselben Schaltplan: Ein gemeinsamer Rust-Kern berechnet die Position jeder Linie und jedes Textstücks – nativ auf dem Desktop und als WebAssembly im Browser – und setzt Text mit den mitgelieferten Schriftarten.
02 · Web-Viewer
Der Web-Viewer: keine Installation nötig
Im Tab „Bibliothek“ der Seitenleiste (dem ersten Tab) werden geöffnete Dateien ohne Duplikate zur Gruppe „Dateien“ hinzugefügt. „Datei einbinden“ und „Ordner einbinden“ fügen Dateien zur Bibliothek hinzu, ohne sie zu öffnen, während „Ausschließen“ eine Datei aus der Suche entfernt, ohne das aktuelle Dokument zu schließen. „Öffentliches Paket einbinden“ fügt auf dieser Website bereitgestellte Pakete wie SKY130 hinzu, ohne die GitHub-API zu nutzen. „Dateien“ ist anfangs ausgeklappt und die schreibgeschützte Gruppe „Integriert“ (Standardserien 0.3 und 0.2) eingeklappt; der Einklappzustand bleibt für die Sitzung erhalten, und Zeilen von Wurzeldateien sind hervorgehoben. Eingefügter Text aus der Zwischenablage erscheint als einzelne Zeile „temporär · nicht durchsucht“ außerhalb der Suche – klicken Sie darauf, um zum zuletzt übernommenen Text zurückzukehren, fügen Sie erneut ein, um ihn zu ersetzen, oder schließen Sie die Zeile, um ihn zu löschen. Da Browser keine beliebigen lokalen PATH-Verzeichnisse durchsuchen können, löst der Web-Viewer eingebundene Dateien und Pakete über die Bibliothek auf.
Der Web-Viewer ist eine statische Webseite, in der der zu WebAssembly kompilierte RNL-Kern läuft. Er öffnet Dateien oder ganze Ordner von Ihrem Computer oder eine Netzliste aus dem Web; auch auf die Seite gezogene Dateien werden geöffnet.
Beispiele ausprobieren
Die Beispiele stammen aus dem Konformitätskorpus von RNL und werden zusammen mit dem Web-Viewer veröffentlicht. Klicken Sie eines an, um es im Viewer zu öffnen.
- 04HierarchieEin zweistufiger Puffer: eine eigene Zeichnung für jede Teilschaltung, eine Ebene höher als Blocksymbol dargestellt, sowie eine eingebundene Datei.
- 17LinienstileJeder Linienstil auf jeder Grundform: gestrichelte, gepunktete, fette und doppelte Linien auf Rechtecken, Kreisen, Ellipsen, Kreisbögen und Kurven sowie auf einer Leitung.
Ihre Dateien bleiben im Browser
Dateien, die Sie von Ihrem Computer öffnen, werden lokal auf der Seite gelesen und nirgendwohin hochgeladen: Die Website besteht nur aus statischen Dateien ohne Server, der Daten empfangen könnte.
URL öffnen
Datei › URL öffnen liest eine Netzliste sowie die von ihr eingebundenen Dateien von einem anderen Webserver. Dieser Server muss Cross-Origin-Zugriffe (CORS) erlauben, wie es etwa die Raw-Links von GitHub tun.
Browser
Chrome und Edge ab Version 109, Safari ab 16 sowie Firefox ab 114 (die ersten Versionen mit Unterstützung für Module-Worker).
Wie oben beschrieben, bearbeitet der Web-Viewer den Text und zeichnet den Schaltplan nach dem Übernehmen der Änderungen neu. Da eine Browserseite keine lokalen Dateien überschreiben kann, lädt Datei › Datei herunterladen (Ctrl+S) die angezeigte Datei in UTF-8 mit ihren ursprünglichen Zeilenenden herunter. Nur der Desktop-Viewer verfügt über den Solver; der Web-Viewer hat kein Menü „Lösen“.
Die Adresse des Viewers kann die zu öffnende Netzliste direkt enthalten, sodass sich ein Link bequem teilen lässt: viewer/?url=https://raw.githubusercontent.com/…/04-hierarchy.sp öffnet eine Netzliste auf GitHub samt der von ihr eingebundenen Datei.
In andere Webseiten einbetten
Verwenden Sie viewer/?embed=1 in einem iframe für einen interaktiven Viewer, der nur die Zeichenfläche zeigt. Wechseln Sie Netzlisten, Ebenen und Hintergründe per postMessage ohne Neuladen. Siehe die Einbettungs-API mit Beispiel oder testen Sie die Demo.
Der Web-Viewer hier wird aus dem neuesten Commit auf dem Zweig main gebaut; Hilfe › Info über RNL Viewer zeigt seine Version und seinen Commit, und Hilfe › Desktop-Viewer führt zurück auf diese Seite.
03 · Desktop-Viewer
Der Desktop-Viewer für Windows, Linux und macOS
Der Desktop-RNL-Viewer liest und schreibt Dateien auf der Festplatte über ihre Dateipfade: Von einer Netzliste eingebundene Dateien werden an ihrem jeweiligen Speicherort gefunden, F5 lädt eine geänderte Datei neu, bearbeiteter Text wird direkt an seinen Ursprungsort zurückgeschrieben, und Datei › Speichern unter speichert die Netzliste unter neuem Namen. Er teilt sich die Oberfläche mit dem Web-Viewer und ergänzt sie um ein Menü „Lösen“ für das automatische Layout.
Auf dem Desktop zeigt die Bibliothek zwischen „Dateien“ und „Integriert“ geordnete PATH-Gruppen an – anfangs eingeklappt und mit Bedienelementen zum Hinzufügen, Verschieben und Entfernen. Klappen Sie eine Gruppe aus, um .rnl-Dateien direkt in diesem Ordner oder eine Ebene tiefer in einem Versionsnummer-Unterordner zu sehen; das Öffnen einer Zeile fügt sie auch zu „Dateien“ hinzu. Verzeichnisse werden beim Öffnen der Bibliothek und nach PATH-Änderungen neu durchsucht. Alle Einstellungen – einschließlich Solver, Anzeige und PATH – werden in settings.json im Konfigurationsverzeichnis der Tauri-Anwendung gespeichert; vorhandene Web-View-Einstellungen werden beim ersten Start übernommen, und der genaue Pfad zu settings.json wird unten in der Bibliothek angezeigt. Eingebundene Dateien versuchen zuerst ihren relativen Pfad; reine Dateinamen greifen auf die Bibliothek und danach auf PATH zurück, wobei ein Hinweis die aufgelöste Datei nennt. Pakete durchsuchen die Bibliothek, PATH und die integrierten Pakete und verwenden den ersten Treffer für die angeforderte Version. Jedes Verzeichnis prüft zuerst name.rnl und version/name.rnl und durchsucht danach andere .rnl-Dateien nach ihren PACKAGE-Köpfen, sodass Dateinamen nicht mit den Paketnamen übereinstimmen müssen. Ein eigenes rnl-std kann die mitgelieferte Kopie überschreiben.
-
Installationsprogramm
RNL-Viewer-0.5.3-windows-x64-setup.exeInstalliert für den aktuellen Benutzer; für die meisten Nutzer die richtige Wahl.
-
MSI-Paket
RNL-Viewer-0.5.3-windows-x64.msiEin Windows-Installer-Paket für Administratoren zur Softwareverteilung.
-
Portabel
RNL-Viewer-0.5.3-windows-x64.exeEine einzelne ausführbare Datei, die sofort ohne Installation läuft.
-
Prüfsummen
SHA256SUMS.txtDie SHA-256-Prüfsumme jeder obigen Datei; vergleichen Sie sie mit der Ausgabe von
Get-FileHash FILEin PowerShell.
-
AppImage
RNL-Viewer-0.5.3-linux-x86_64.AppImageFür x86_64-Systeme ab Ubuntu 22.04. Führen Sie im Download-Verzeichnis
chmod +x RNL-Viewer-0.5.3-linux-x86_64.AppImageund anschließend./RNL-Viewer-0.5.3-linux-x86_64.AppImageaus. Ohne FUSE verwenden Sie./RNL-Viewer-0.5.3-linux-x86_64.AppImage --appimage-extract-and-run. -
Debian-Paket
RNL-Viewer-0.5.3-linux-x86_64.debAb Ubuntu 22.04; andere Debian-basierte Distributionen benötigen eine kompatible glibc sowie WebKitGTK 4.1. Führen Sie im Download-Verzeichnis
sudo apt install ./RNL-Viewer-0.5.3-linux-x86_64.debaus und starten Sie RNL Viewer über das Anwendungsmenü oder mitrnl-viewer. Deinstallation mitsudo apt remove rnl-viewer. -
Prüfsummen
SHA256SUMS.txtLaden Sie die Prüfsummendatei und das gewünschte Paket in dasselbe Verzeichnis herunter und führen Sie
sha256sum --check --ignore-missing SHA256SUMS.txtaus.
Öffnen Sie das zu Ihrem Chip passende DMG, ziehen Sie RNL Viewer in den Ordner „Programme“ und werfen Sie das Image aus. Die App ist ad-hoc-signiert und nicht von Apple notarisiert. Falls macOS das Öffnen blockiert, wählen Sie in „Systemeinstellungen → Datenschutz & Sicherheit“ die Option „Dennoch öffnen“ oder führen Sie für einen vertrauenswürdigen Download im Terminal xattr -dr com.apple.quarantine "/Applications/RNL Viewer.app" aus und öffnen Sie die App erneut. Zum Deinstallieren beenden Sie die App und legen sie in den Papierkorb.
Nutzen Sie im Finder „Öffnen mit → RNL Viewer“; über „Informationen“ lässt sich die App als Standardprogramm für diesen Dateityp festlegen. Dateien können auch direkt in das Fenster gezogen werden. Die meisten Tastenkürzel verwenden Cmd; beim Bearbeiten bleibt das physische Control+Q erhalten, und Cmd+Q beendet die App. Die Einstellungen liegen unter ~/Library/Application Support/io.github.rich-netlist.viewer/settings.json; dieses Verzeichnis kann nach der Deinstallation optional gelöscht werden. Prüfen Sie Downloads mit der Datei SHA256SUMS.txt des Releases und shasum -a 256.
-
Windows, portabel
RNL-Viewer-0.5.3-with-packages-windows-x64.zipDie einzelne Windows-Datei mit einem Ordner public-packages daneben, als zip: entpacken und die Datei ausführen.
-
AppImage, mit den Paketen
RNL-Viewer-0.5.3-with-packages-linux-x86_64.AppImageDasselbe AppImage wie oben, mit den öffentlichen Paketen darin; ausführbar machen und auf dieselbe Weise starten.
-
Debian-Paket der öffentlichen Pakete
RNL-Viewer-0.5.3-linux-public-packages.debFür das Debian-Paket des Viewers oben, der sie in /usr/share/rnl-viewer sucht. Im Download-Verzeichnis
sudo apt install ./RNL-Viewer-0.5.3-linux-public-packages.debausführen. - Apple Silicon, mit den Paketen
RNL-Viewer-0.5.3-with-packages-macos-arm64.dmg - Intel, mit den Paketen
RNL-Viewer-0.5.3-with-packages-macos-x86_64.dmg
Die Installationsprogramme oben bieten bei der Installation die öffentlichen Pakete an: das Windows-Installationsprogramm auf einer eigenen Seite, das MSI als Funktion. Hier stehen die anderen Varianten, mit den Paketen im selben Download. Es sind die neuesten Versionen der Pakete von rnl-packages zur Zeit des Builds der Version; der Viewer lädt sie nie selbst herunter, und Hilfe › Öffentliche Pakete sagt, welche diese Version enthält.
- Chinesische Schriftarten unter LinuxOberfläche und Netzliste greifen bei Bedarf auf die mitgelieferten Webfonts „Noto Sans SC“ zurück. Native GTK-Menüs, native Tooltips und System-Dateidialoge benötigen chinesische Systemschriftarten: Führen Sie unter Debian/Ubuntu
sudo apt install fonts-noto-cjkaus und starten Sie die Anwendung neu. Dies gilt auch für das AppImage. - WebView2Der Desktop-Viewer benötigt die Laufzeitumgebung Microsoft Edge WebView2, die unter Windows 10 und 11 standardmäßig vorhanden ist. Falls sie fehlt, kann sie bei Microsoft heruntergeladen werden.
- SmartScreenDa die Dateien noch nicht mit einem Code-Signing-Zertifikat signiert sind, meldet Windows SmartScreen möglicherweise „Der PC wurde durch Windows geschützt“: Klicken Sie auf „Weitere Informationen“ und dann auf „Trotzdem ausführen“.
- UpdatesHilfe › Nach Updates suchen prüft, ob eine neuere Version vorliegt.
Lösen als Vorschau
Das Menü „Lösen“ des Desktop-Viewers platziert Objekte ohne eigene Positionsangabe mithilfe des Solvers von rnl solve. Das Ergebnis wird nur im Fenster angezeigt; die Dateien selbst bleiben unverändert.
Gelöste Vorschau
Lösen › Lösen (F9) löst den übernommenen Text der Netzliste und ihrer eingebundenen Dateien auf dieselbe Weise wie rnl solve. Da der Vorgang im Hintergrund läuft, bleibt das Fenster bedienbar, während die Statusleiste die gerade berechnete Ebene und eine Schaltfläche „Abbrechen“ zeigt. Eine Leiste über der Zeichnung weist darauf hin, dass es sich um eine Vorschau handelt und die Dateien auf der Festplatte unverändert sind, und die Ansicht „Lösen“ in der Seitenleiste zeigt den Bericht des Solvers – klicken Sie auf einen beliebigen Eintrag, um zu seiner Zeile in der Netzliste zu springen. Lösen › Vorschau schließen kehrt zur Datei im geschriebenen Zustand zurück.
Gelöste Kopie speichern
Lösen › Gelöste Kopie speichern unter (Ctrl+Shift+S) speichert das Ergebnis am gewählten Ort: als einzelne Datei (vorgeschlagen als NAME-solved.EXT), wenn die Netzliste keine weiteren Dateien einbindet, andernfalls als Ordner mit den gelösten und den übrigen gelesenen Dateien, genau wie rnl solve -o DIR sie schreibt. Ein Speicherort, der eine der gelesenen Dateien überschreiben würde, wird abgelehnt.
Einstellungen des Solvers
Lösen › Einstellungen konfiguriert die Optionen des Solvers: Zeitlimit pro Ebene, Toleranz, Raster, Suchbreite, Aufwand für Suche und Router sowie die Ziele, nach denen Platzierungen bewertet werden – welche Ziele aktiviert sind, ihre Rangfolge und die Gewichte von Zielen in derselben Stufe. Die Priorität einer Bedingung (low, normal, high) steht in der Netzliste und wird nicht hier eingestellt. „Standardwerte wiederherstellen“ setzt alle Optionen auf ihre Vorgaben zurück, und die Einstellungen bleiben über Neustarts hinweg erhalten.
04 · Kommandozeile
Herunterladen, entpacken, ausführen
Mit rnl prüfen Sie Netzlisten, rendern SVGs und lösen Layouts. Eine Rust-Installation ist nicht erforderlich; unter Windows wird auch keine separate VC++-Laufzeitbibliothek benötigt. CLI und npm-Paket teilen sich die Versionsnummer des Kerns, unabhängig vom Viewer und vom Sprachstandard.
- Windows x64
.zip · MSVCEntpacken und anschließend
.\rnl.exe --versionausführen. - Linux x86_64
.tar.gz · muslStatisch gelinkt. Entpacken und anschließend
./rnl --versionausführen. - macOS · Apple Silicon
.tar.gz · arm64Für Macs mit Apple Silicon.
- macOS · Intel
.tar.gz · x86_64Für Macs mit Intel-Prozessoren.
SHA256SUMS.txt: Prüfen Sie vor dem Ausführen die SHA256-Prüfsumme des Archivs. rnl --version zeigt die Kern-Version und den Build-Commit; nutzen Sie rnl check my.sp zum Prüfen einer Netzliste und rnl render my.sp -o svg zum Exportieren von Zeichnungen.
Diese Links verweisen stets auf die neueste core-v*-Veröffentlichung. Die Dateien sind nicht signiert: Windows zeigt eventuell SmartScreen an; unter macOS im Browser heruntergeladene Dateien benötigen unter Umständen xattr -d com.apple.quarantine rnl. Linux arm64 erfordert derzeit das Kompilieren aus dem Quellcode. Befehle zum Herunterladen, Entpacken und Prüfen der Prüfsummen finden Sie im CLI-Leitfaden.
05 · Virtuoso-Export
Virtuoso-Schaltpläne nach RNL exportieren
rnl-virtuoso ergänzt RNL → Export RNL... im Schaltplaneditor von Virtuoso sowie File → Export → RNL... im CIW. Es exportiert eine einzelne Zelle oder eine ganze Bibliothek unter Beibehaltung von Hierarchie, benutzerdefinierten Blocksymbolen, Platzierung, Ausrichtung, Leitungen und Bussen und zeichnet mithilfe der Pakete eda-symbol und eda-style.
- Linux x86-64
.tar.gzLaden Sie das Paket von der Releases-Seite herunter und entpacken Sie es auf dem Virtuoso-Rechner; dort werden die Cadence-eigenen Exporter und deren Lizenzen benötigt.
- Installation und Verwendung
READMESchritte, Menüs und Optionen sind in der zugehörigen README beschrieben.
- RISCA reconfigurable ADC
galleryEin RNL-Beispiel, das tatsächlich aus Virtuoso exportiert wurde.
06 · Toolchain
Die RNL-Toolchain: lesen, lösen, zeichnen, bearbeiten
Die Toolchain trennt „RNL verstehen“ und „Entwurfsabsicht in Koordinaten umwandeln“ in separate Module: Sie können eine Zeichnung ohne Solver betrachten und nur bei Bedarf lösen. Heute bereits vorhanden: Laufzeitbibliothek, Host-Adapter, Renderer und Kommandozeile, die beiden oben vorgestellten Viewer sowie eine erste Version des Solvers in rnl solve und im Desktop-Viewer. Wählen Sie einen Pfad, um den Datenfluss zu verfolgen; klicken Sie auf ein Modul, um zu sehen, was es tut.
07 · Lizenzen
Open Source, frei nutzbar
Der Quellcode der Viewer und des gesamten RNL-Toolkits ist öffentlich auf GitHub verfügbar.
MIT
Der Code der Viewer steht unter der MIT-Lizenz: Sie dürfen ihn frei nutzen, ändern und weitergeben, sofern der Urheberrechtshinweis erhalten bleibt.
OFL-1.1
Text in den Zeichnungen wird mit der Schriftart Noto Sans SC (Copyright 2014–2021 Adobe) unter der SIL Open Font License 1.1 gesetzt und gezeichnet. Der Kern enthält die Schriftmetriken, der Desktop-Viewer bringt die Schriftdateien direkt mit, und der Web-Viewer lädt bei Bedarf nach (Entscheidung 0009).
Quellcode
Auf GitHub: Der Web-Viewer liegt unter apps/web, der Desktop-Viewer unter apps/desktop, ihre gemeinsame Oberfläche unter apps/viewer-ui und der Kern unter crates. Was sich in jeder Version ändert, steht in den jeweiligen Versionshinweisen.