UL_NET

Datenelemente

class UL_CLASS
Spalte Zeichenfolge (siehe Anmerkung)
Benennen Zeichenfolge (NET_NAME_LENGTH)
Zeile Zeichenfolge (siehe Anmerkung)

Loop-Members

portrefs() UL_PORTREF
pinrefs() UL_PINREF (siehe Anmerkung)
segments() UL_SEGMENT (siehe Anmerkung)

Siehe auch UL_SHEET, UL_SCHEMATIC.

Konstanten

NET_NAME_LENGTH Max. empfohlene Länge eines Netznamens (nur in formatierter Ausgabe verwendet)

Anmerkung

Das pinrefs()-Loop-Member kann nur verwendet werden, wenn sich das Netz in einem schematischen Kontext befindet. Das segments()-Loop-Member kann nur verwendet werden, wenn sich das Netz in einem Plankontext befindet.

Die column*- und *row-Elemente geben die Spalten- und Zeilenposition innerhalb des Rahmens auf dem Plan zurück, auf dem dieses Netz gezeichnet wurde. Da ein Netz über einen bestimmten Bereich erweitert werden kann, gibt jede dieser Funktionen zwei Werte zurück, die durch ein Leerzeichen getrennt sind. Im Fall einer Spalte sind dies die am weitesten links und rechts liegenden Spalten, die vom Netz berührt werden, und im Fall einer Zeile sind dies die oberste und unterste Zeile.

Beim Bestimmen der Spalte und Zeile eines Netzes auf einem Plan werden zuerst die Spalte und dann die Zeile in dieser Spalte berücksichtigt. Hier haben XREF-Beschriftungen Vorrang vor normalen Beschriftungen, die wiederum Vorrang vor Netzlinien haben.

Wenn auf diesem Plan kein Rahmen vorhanden ist, wird "? ?" (zwei Fragezeichen) zurückgegeben. Wenn ein Teil des Netzes außerhalb des Rahmens platziert wird, kann einer der Werte '?' (Fragezeichen) sein. Diese Elemente können nur in einem Plankontext verwendet werden.

Wenn das Netz mit UL_SCHEMATIC.allnets() abgerufen wird, lauten die gültigen Elemente: name, class und pinrefs(). Das pinrefs()-Loop-Member durchläuft auch die virtuellen Pinrefs, die von Modulinstanzen generiert werden.

Beispiel

schematic(S) {
  S.nets(N) {
    printf("Net: %s\n", N.name);
    // N.segments(SEG) will NOT work here!
    }
  // or with virt. nets:
  S.allnets(N) {
    printf("Net: %s\n", N.name);
    }
  }
schematic(S) {
  S.sheets(SH) {
    SH.nets(N) {
      printf("Net: %s\n", N.name);
      N.segments(SEG) {
        SEG.wires(W) {
          printf("\tWire: (%f %f) (%f %f)\n",
                 u2mm(W.x1), u2mm(W.y1), u2mm(W.x2), u2mm(W.y2));
          }
        }
      }
    }
  }