Kann ich zwei (oder mehr) verschiedene Symbole für denselben LTspice-Schema haben? Wie?

Ich habe zwei Komponenten in meinem Top-Level-Schaltplan und festgestellt, dass die Schaltpläne dieser Komponenten tatsächlich gleich sind. Um doppelte Änderungen an diesen Teilschaltungen zu vermeiden, wäre es schön, nur eine davon beizubehalten und die andere Komponente nur ein anderes Symbol zu verwenden, aber tatsächlich auf denselben Schaltplan zu verweisen.

Ich habe versucht, das TypeFeld einer der Komponenten so zu ändern, dass es den gleichen Namen wie die andere Komponente hat, aber dadurch öffnet LTspice den Schaltplan nicht mehr beim Doppelklicken und das Dialogfeld „Schaltplanblock navigieren/bearbeiten“ wird angezeigt Wenn Sie mit der rechten Maustaste auf eine Komponente klicken, wird jetzt der generische "Komponentenattribut-Editor" für diese Komponente angezeigt.

Beachten Sie, dass ich aus Gründen der Lesbarkeit auf der obersten Ebene unterschiedliche Symbole für diesen freigegebenen Schaltplan beibehalten muss .

Bearbeiten 1:

Ich habe gerade versucht, eine Netzliste mit der geänderten Zeichenfolge zu generieren Type, es verursacht eine ...

>>> ERROR: Couldn't find schematic for symbol: alternative_symbol_name

Antworten (2)

Sie können ein Symbol ohne Namen erstellen, d. h. ohne „fest codierte“ Bearbeitungen innerhalb des Symboleditors. Bearbeiten Sie die Attribute, aber nicht die Namen. Wenn Sie dieses Symbol dann im Schaltplan platzieren, benennen Sie einfach seinen Instanznamen in einen beliebigen Unterschaltkreis um. Platzieren Sie dann die andere und machen Sie dasselbe für die andere Teilschaltung, während Sie die richtigen .incoder .libKarten auf dem Schaltplan hinzufügen. Das impliziert natürlich in beiden Fällen die gleiche Anzahl Pins, aber dafür kann es einen Cheat geben: Wenn der 1. Teilkreis 3 Pins hat und der andere 4, dann fügen Sie dem 3-Pin-Teilkreis einfach einen Dummy-Pin hinzu.

Wenn Sie zwei Symbole am und davon haben müssen, kein Problem, verwenden Sie einfach nur ein Symbol und ändern Sie den Instanznamen, das andere Symbol ist da und kann verwendet werden. Der größte Hinweis für hierarchische Schaltpläne (nach Ihren Worten vermute ich, dass Sie dies haben) besteht darin, den Namen des Symbols nicht fest zu codieren - das macht es für einen bestimmten Teilkreis eindeutig -, es sei denn, dies ist Ihr Zweck von der Anfang.


Bearbeiten: Nur um sicherzugehen, dass ich alles buchstabiere, zwei Symbole für dieselbe Teilschaltung oder denselben hierarchischen Schaltplan zu verwenden, bedeutet, einfach ein Symbol auf dem Schaltplan zu platzieren, seinen Instanznamen umzubenennen, dann das andere (oder dasselbe) Symbol zu platzieren und zu tun die gleiche Umbenennung, die den Namen der gewünschten Teilschaltung oder des hierarchischen Schemas widerspiegelt. All dies, während darauf geachtet wird, dass das Symbol selbst keinen eingebauten (bearbeiteten, fest codierten) Instanznamen hat – was beim Bearbeiten des Symbols leicht zu erledigen ist.


Bearbeiten 2: Ich kam nach Hause und stellte fest, dass ich eine andere Möglichkeit ausgelassen hatte, die sich mit hierarchischen Schaltplänen befasst. Die Symbole und Schaltpläne können nur einen Namen haben, Groß- und Kleinschreibung wird nicht beachtet. Wenn Sie also zwei Symbole benötigen, die auf denselben Schaltplan zeigen (um Duplikate des Schaltplans zu vermeiden, aber mehr als ein Symbol zu behalten), können Sie einfach das zweite Symbol mit einem ähnlichen erstellen name als ersten (z. B. hierarchical.asyund hierarchical2.asy) und erstellen Sie einen Symlink zum Schema der unteren Ebene (z. B. hierarchical.ascund den Symlink hierarchical2.asc). Es sollte eine ziemlich einfache Aufgabe sein, egal ob Sie Linux, Mac oder Witwen verwenden. Ich bin auf Linux -- ln -s file link-- war noch nie auf einem Mac -- ich verstehe, dass es ungefähr dasselbe ist -- und habe ein kleines Freeware-Dienstprogramm in Windows verwendet -- hard link shell ext oder so etwas, aber Sie können es verwenden Eingabeaufforderung auch.

Vielen Dank für Ihren Beitrag, Sie haben Recht, da ich über hierarchische Schemata spreche. Leider verstehe ich nicht, was Sie mit "fest codierten" Änderungen meinen. Da meine LTspice-Schaltpläne und -Symbole alle ASCII-Textdateien sind, habe ich sie mir angesehen (mit einem Texteditor) und konnte keine Verweise auf den Schaltplan finden, zu dem sie "gehören". Da ich außerdem eine Versionskontrolle verwende, die symbolische Links im Dateisystem als Dateien behandelt, kann ich sie nicht verwenden (ich arbeite auf Windows- und GNU/Linux-Plattformen).
Dann fürchte ich, dass Ihre einzige andere Möglichkeit darin besteht, einen Teilkreis zu verwenden. Sie können einen hierarchischen Schaltplan mit einem Symbol verwenden, aber nicht mit zwei, sie müssten den gleichen Namen haben. Für das andere Symbol benötigen Sie eine Unterschaltung (mit einem "Block"-Symbol). Mit "fest codiert" meine ich, wenn Sie sich im Symboleditor befinden, bearbeiten Sie die SpiceModelLinie nicht oder fügen Sie ihren Instanznamen in kein Feld ein, lassen Sie es leer und fügen Sie nur den Instanznamen aus dem Schaltplan hinzu. Stellen Sie es sich als leeres Symbol vor, wo Sie es in den Schaltplan einfügen und seinen Namen, Wert usw. im Handumdrehen hinzufügen, aber das ist eher für Teilschaltungen.
Ein weiteres schlechtes Beispiel für "Hardcoding" ist das Hinzufügen der Bibliothek/des Modells mit oder ohne Pfad. Dies führt zu Fehlern für alle, die das Symbol verwenden, und nicht für Ihren Computer. Nicht jeder hat dieselben Pfade und/oder Bibliotheken wie Sie. Im Allgemeinen besteht der sicherste Weg , Projekte zu handhaben, .incob hierarchisch oder nicht, darin, alle relevanten Schaltpläne, Modelle, Bibliotheken, Symbole usw .libAktuelles Verzeichnis). Auf diese Weise funktioniert das Exportieren des Ordners auf jedem Computer.

Dies ist bei Virtuoso üblich (zum Beispiel kann ein Logikgattersymbol sich selbst und seine DeMorgan-äquivalente Darstellung darstellen). Ich bin mit LTSpice nicht ganz vertraut, gehe aber davon aus, dass sie ähnlich sind.

Angenommen, das ursprüngliche Symbol wird als Zellenname.symbol gespeichert

Kopieren Sie das Originalsymbol nach cellname.symbol_alt1 (im selben Ordner wie das Original) und ändern Sie es entsprechend.

Wenn Sie nun das Symbol instanziieren, wählen Sie cellname.symbol_alt1 aus. Wenn dies nicht funktioniert, wählen Sie es nach der Instanziierung von cellname.symbol aus und gehen Sie zu Eigenschaften.
Ändern Sie hier den Symbolpfad so, dass er auf cellname.symbol_alt1 zeigt.

Dies scheint mit LTspice nicht zu funktionieren, ich kann den Zielschaltplan eines platzierten Symbols nicht innerhalb des Programms bearbeiten . Bisher sieht es so aus, als müsste ich auch den Schaltplan kopieren, nur um mit dem Namen des neuen Symbols übereinzustimmen ... und genau das versuche ich zu vermeiden.