Willkommen bei Bartels diese Seite zur Startseite machen... diese Seite zu den Favoriten hinzufügen... diese Seite an einen Bekannten schicken... druckerfreundliche Seitenanzeige... Seitenübersicht anzeigen... Seitenübersicht mit allen Seiteninhalten anzeigen...
Autoplacement - Deutsche Version Autoplacement - English Version
Bartels

Bartels System GmbH
Bartels
Bartels AutoEngineer
BAE Produktinfo
BAE Preisliste
BAE Downloads
BAE Dokumentation
BAE Installationsanleitung
BAE Benutzerhandbuch
Vorwort
1 Einleitung
2 Schaltungsentwurf
3 Packager
4 Leiterkartenentwurf
4.1 Allgemeine Hinweise
4.2 Bibliotheksbearbeitung
4.3 Layouterstellung
4.4 Autoplacement
4.4.1 Bauteilmenge
4.4.2 Matrixplacement
4.4.3 Initialplacement
4.4.4 Platzierungsoptimierung
4.5 Autorouter
4.6 Spezielle Layoutfunktionen
4.7 CAM-Prozessor
4.8 CAM-View
5 IC-/ASIC-Entwurf
6 Regelsystem
7 Utilities
BAE Bibliotheken
User Language Programmierhandbuch
BAE Update-Historie
BAE Nächste Version Freigabemitteilungen Vorabinfo
BAE V8.0 Freigabemitteilungen
BAE V7.8 Freigabemitteilungen
BAE V7.6 Freigabemitteilungen
BAE V7.4 Freigabemitteilungen
BAE V7.2 Freigabemitteilungen
BAE V7.0 Freigabemitteilungen
BAE V6.8 Freigabemitteilungen
BAE V6.6 Freigabemitteilungen
BAE V6.4 Freigabemitteilungen
BAE V6.2 Freigabemitteilungen
BAE V6.0 Freigabemitteilungen
BAE V5.4 Freigabemitteilungen
BAE V5.0 Freigabemitteilungen
BAE V4.6 Freigabemitteilungen
BAE V4.4 Freigabemitteilungen
BAE V4.2 Freigabemitteilungen
BAE V4.0 Freigabemitteilungen
BAE V3.4 Freigabemitteilungen
BAE Support
BAE Contrib
BAE Entwickler und Dienstleister
Elektronikentwicklung
Sport
Firmenprofil
Impressum
Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: Leiterkartenentwurf :: Autoplacement
Bartels AutoEngineer® - Benutzerhandbuch

4.4 Autoplacement

Bartels AutoEngineer® Dokumentation

Das BAE-Layoutsystem ist mit mächtigen Autoplacement-Verfahren ausgestattet. Vor der automatischen Platzierung können die zu platzierenden Bauteile nach dem Mengenprinzip selektiert werden. Mit dem Matrixplacement-Verfahren kann eine selektierbare Menge von Bauteilen automatisch auf einem definierbaren Einbauplatzraster platziert werden. Die integrierten Initialplacement-Funktionen ermöglichen die vollautomatische Durchführung der Bauteilplatzierung. Die Platzierungsoptimierung bietet Funktionen zum automatischen Bauteil- und Pin-/Gattertausch an.

Die Autoplacement-Funktionen sind im Menü Bauteile des Layouteditors unter Bauteilmenge, Autoplacement und Matrixplacement untergebracht.

Sofern Sie sich nicht im Layouteditor befinden, sollten Sie diesen zunächst aufrufen und das Layout board aus der Datei demo.ddb laden.

Löschen Sie nun mit den folgenden Kommandos die Widerstände r100 und r101 sowie (mit der Hilfe der Gruppenfunktion) die Schalter s1000 bis s1009:

BauteileLinke Maustaste (LMB)
Loeschen BauteilLinke Maustaste (LMB)
Positionieren auf "r100",[1.0",2.4"]Linke Maustaste (LMB)
Loeschen BauteilLinke Maustaste (LMB)
Positionieren auf "r101",[1.6",2.4"]Linke Maustaste (LMB)
GruppenLinke Maustaste (LMB)
Gruppe PolygonLinke Maustaste (LMB)
BauteileLinke Maustaste (LMB)
SelektierenLinke Maustaste (LMB)
Positionieren auf [0.1",0.4"]Linke Maustaste (LMB)
Positionieren auf [0.6",0.4"]Linke Maustaste (LMB)
Positionieren auf [0.6",2.4"]Linke Maustaste (LMB)
Positionieren auf [0.1",2.4"]Linke Maustaste (LMB)
Rechte Maustaste (RMB)
FertigLinke Maustaste (LMB)
Gruppe loeschenLinke Maustaste (LMB)

In den folgenden Abschnitten werden die soeben gelöschten Bauteile mit Hilfe von Autoplacement-Funktionen wieder auf das Layout zurückplatziert.

 

4.4.1 Bauteilmenge

Über Bauteilmenge können die zu platzierenden Bauteile ausgewählt werden. Dabei ist die Selektion und Deselektion über Bibliotheksteilnamen, Bauteilnamen und Wildcards möglich.

Deselektieren Sie zunächst mit den folgenden Kommandos alle unplatzierten Bauteile:

BauteileLinke Maustaste (LMB)
BauteilmengeLinke Maustaste (LMB)
AllesLinke Maustaste (LMB)
DeselektierenLinke Maustaste (LMB)
Alle Bauteile deselektieren ?j Return-/Eingabetaste (CR)
AbbruchLinke Maustaste (LMB)

Werfen Sie mit den folgenden Kommandos einen Blick auf die Bauteilliste:

BauteileLinke Maustaste (LMB)
BauteilmengeLinke Maustaste (LMB)
BauteillisteLinke Maustaste (LMB)

Das System sollte nun die folgende Liste mit allen in der Netzliste definierten Bauteilen auf dem Bildschirm ausgeben:

Datei : demo.ddb  Plan : board  Bauteile : 23

 : c100   chip1210  P  : c101   chip1206  P  : ic10   dil14     P
 : k1     relais    P  : r100   r04a25    U  : r101   r04a25    U
 : r102   r04a25    P  : r103   r04a25    P  : r104   minimelf  P
 : r105   chip1206  P  : s1000  s1dilo    U  : s1001  s1dilo    U
 : s1002  s1dilo    U  : s1003  s1dilo    U  : s1004  s1dilo    U
 : s1005  s1dilo    U  : s1006  s1dilo    U  : s1007  s1dilo    U
 : s1008  s1dilo    U  : s1009  s1dilo    U  : v1     to92      P
 : v1000  d04a25    P  : x1000  xsubd9bl  P  - Ende -

Die Bauteilliste enthält alle in der Netzliste definierten Bauteile mit Bauteilname, Bibliotheksteilname und dem Hinweis, ob das Bauteil bereits platziert ist (P), oder ob es noch unplatziert ist (U). Der Eintrag S bedeutet, dass das betreffende, unplatzierte Bauteil für die Platzierung selektiert ist. Durch die Eingabe von A und Betätigen der Eingabetaste Return-/Eingabetaste (CR) gelangen Sie wieder in das Menü.

Selektieren Sie mit den folgenden Kommandos alle Bauteile, deren Namen mit r beginnen, zur Menge der zu platzierenden Bauteile:

BauteileLinke Maustaste (LMB)
BauteilmengeLinke Maustaste (LMB)
Bauteil(e)Linke Maustaste (LMB)
SelektierenLinke Maustaste (LMB)
Bauteilname ?r* Return-/Eingabetaste (CR)
Bauteilname ? Return-/Eingabetaste (CR)
SelektierenLinke Maustaste (LMB)
AbbruchLinke Maustaste (LMB)

Die Auswahl von Bauteilnamen für die Bauteilmenge mit den Optionen Selektieren und Deselektieren der Funktion Bauteil(e) aus dem Menü Bauteilmenge kann auch durch Mausselektion im angebotenen Popupmenü vorgenommen werden. Wahlweise kann ein Bauteilnamensmuster per Tastatur eingegeben werden. Im Auswahlmenü sind jeweils nur die unselektierten, bzw. selektierten Bauteile aufgelistet.

Mit obigen Kommandos wurden die beiden noch nicht platzierten Widerstände r100 und r101 für die Platzierung selektiert. Sie können dies mit Hilfe der Funktion Bauteilliste überprüfen (Eintrag S für diese beiden Bauteile).

Mit der Funktion Alles aus dem Untermenü Bauteilmenge können alle noch nicht platzierten Bauteile für für die Platzierung selektiert werden. Mit der Funktion Macro(s) besteht die Möglichkeit der Selektion über den Bibliotheksnamen (z.B. so16 für alle unplatzierten Bauteile mit der Gehäusebauform SO16, oder dil* für alle unplatzierten DIL-Gehäuse). Mit der jeweiligen Unterfunktion Deselektieren können Bauteile selbstverständlich auch wieder aus der Menge der zu platzierenden Bauteile entfernt werden.

Das Untermenü Bauteilmenge bietet darüber hinaus mit Blockliste und Block auch Funktionen zur selektiven Auswahl von Bauteilen, die in einem speziellen Blockschaltbild eines hierarchischen Schaltplanentwurfs definiert sind. Hierbei erfolgt die Selektion oder Deselektion der zu platzierenden Bauteile jeweils durch die Spezifikation des Blocknamens. Dieser Blockname wird bei hierarchischen Designs über das Attribut $blkname automatisch durch den Packager in den betroffenen Bauteilen eingetragen.

Im Kapitel 4.3.2 (Abschnitt Manuelle Platzierung) wurde bereits auf die Berücksichtigung der Bauteilmenge durch die Funktionen Neues Bauteil und Naechstes Bauteil hingewiesen. Stellen Sie mit den folgenden Kommandos die Koordinatenanzeige auf Inch ein, und platzieren Sie mit Hilfe der Funktion Naechstes Bauteil alle in der Bauteilmenge zur Platzierung selektierten Bauteile (es sind dies die Widerstände r100 und r101):

EinstellungenLinke Maustaste (LMB)
KoordinatenanzeigeLinke Maustaste (LMB)
inch AnzeigeLinke Maustaste (LMB)
BauteileLinke Maustaste (LMB)
Naechstes BauteilLinke Maustaste (LMB)
Positionieren auf [1.0",2.4"]Linke Maustaste (LMB)
BauteileLinke Maustaste (LMB)
Naechstes BauteilLinke Maustaste (LMB)
Positionieren auf [1.6",2.4"]Linke Maustaste (LMB)
BauteileLinke Maustaste (LMB)
Naechstes BauteilLinke Maustaste (LMB)

Ist die Bauteilmenge leer (weil alle zuvor selektierten Bauteile platziert wurden), dann gibt die Funktion Naechstes Bauteil die Meldung

Alle selektierten Bauteile sind bereits platziert!

aus.

 

4.4.2 Matrixplacement

Das Matrixplacement-Verfahren ist ein Initialplacement-Algorithmus, mit dessen Hilfe sich die in der Bauteilmenge enthaltenen Bauteile auf in Matrixform definierten Einbauplätzen automatisch platzieren lassen.

Selektieren Sie mit den folgenden Kommandos alle Bauteile mit dem Bibliotheksteilnamen s1dilo (dies sind die Schalter s1000 bis s1009) zur Bauteilmenge:

BauteileLinke Maustaste (LMB)
BauteilmengeLinke Maustaste (LMB)
Macro waehlenLinke Maustaste (LMB)
SelektierenLinke Maustaste (LMB)
Bibliotheksteilname ?s1dilo Return-/Eingabetaste (CR)
Bibliotheksteilname ? Return-/Eingabetaste (CR)

Stellen Sie den Standardwinkel für die Platzierung auf 270 Grad (ohne Spiegelung) ein (die Option hierfür ist ggf. im Bereich Bauteile des Dialogs Einstellungen aus dem Menü Einstellungen erreichbar):

BauteileLinke Maustaste (LMB)
StandardwinkelLinke Maustaste (LMB)
270 Grad linksLinke Maustaste (LMB)

Definieren Sie nun eine Platzierungsmatrix, Platzieren Sie die in der Bauteilmenge enthaltenen Bauteile auf die Matrix, und entfernen Sie die Matrix wieder:

BauteileLinke Maustaste (LMB)
MatrixplacementLinke Maustaste (LMB)
Matrix definierenLinke Maustaste (LMB)
Positionieren auf Matrix Ursprung,[0.2",2.3"]Linke Maustaste (LMB)
Positionieren auf Matrix Abstand,[0.3",2.1"]Linke Maustaste (LMB)
Positionieren auf Matrix Ende,[0.2",0.5"]Linke Maustaste (LMB)
Matrix platzierenLinke Maustaste (LMB)
Matrix entfernenLinke Maustaste (LMB)

Die Funktion Matrix platzieren platziert alle in der Bauteilmenge enthaltenen Bauteile auf die definierte Platzierungsmatrix, wobei auch der aktuell eingestellte Platzierungswinkel und ggf. der Spiegelungsmodus für die Platzierung mit berücksichtigt werden.

Es sind nun alle in der Netzliste definierten Bauteile platziert. Sie können dies mit der Funktion Bauteilliste aus dem Untermenü Bauteilmenge überprüfen.

 

4.4.3 Initialplacement

Die im System integrierten Initialplacement-Funktionen ermöglichen die vollautomatische Durchführung der Bauteilplatzierung. Hierbei werden die unplatzierten Bauteile innerhalb der Platinenumrandung auf dem aktuell eingestellten Platzierungsraster platziert, wobei vorplatzierte Bauteile (Stecker, LEDs, etc.) ebenso berücksichtigt werden wie die Vorgaben aus der Netzliste. Abblockkondensatoren und SMD-Bauteile werden automatisch erkannt. Die Lötseite kann für die SMD-Platzierung wahlweise gesperrt oder freigegeben werden. Die Bauteile werden selbsttätig in 90-Grad-Schritten gedreht, wobei sich die Freiheitsgrade bei der Bauteilrotation für eine fehlersichere Bestückung wahlweise einschränken lassen. Optional kann ein Bauteilexpansionsparameter zur Generierung von Freiflächen zwischen den Bauteilen definiert werden. Die automatische Platzierung wird durch einstellbare Gewichtungsfaktoren zur Berücksichtigung von Netzlistenvorgaben und zur Bewertung der Bauteil-Segmentpassung gesteuert. Bereits während der Platzierung werden Rip-Up/Retry-Läufe eingeschoben, um die Ausnutzung der Platinenfläche zu optimieren.

Die Initialplacement-Funktionen sind im Untermenü Autoplacement integriert, welches die folgenden Funktionen umfasst:

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
Voll-Autoplace
Clusterplacement
Flaechenplacement
Einzeloptimierung
Multi-Optimierung
[ Einstellungen ]
Bauteilpinfaktor
Segmentpassung
Spiegelungsmodus
Rotationsmodus
Bauteilexpansion
Retrydurchgaenge
Optimierungszahl
P/G-Swap Verfahren

Zur automatischen Bauteilplatzierung stehen die Funktionen Voll-Autoplace, Clusterplacement und Flaechenplacement zur Verfügung. Es werden jeweils die aktuell zur Bauteilmenge selektierten Bauteile platziert (siehe Kapitel 4.4.1). Damit lassen sich selektierbare Bauteilgruppen automatisch platzieren. Bereits platzierte Bauteile, die nicht in der Bauteilmenge enthalten sind, werden von den Platzierungsroutinen wie fixierte Bauteile behandelt und als solche nicht umplatziert.

Das erste für die Platzierung gewählte Bauteil wird auf einem Startpunkt positioniert, der durch die Funktion Voll-Autoplace automatisch ermittelt wird bzw. in den Funktionen Clusterplacement und Flächenplacement vom Anwender interaktiv festzulegen ist (Prompt Startpunkt fuer Platzierung waehlen!). Die Auswahl des Startpunkts ist von essentieller Bedeutung für die Qualität des Platzierungsergebnisses, da sich die Platzierung von Folgebauteilen jeweils an der Platzierung des ersten Bauteils ausrichtet. Wenn das erste zu platzierende Bauteil aus Platzmangel nicht am Startpunkt platziert werden kann, dann ist auch keines der Folgebauteile platzierbar. Wird ein Startpunkt außerhalb der Platinenumrandung gewählt, dann ist kein Bauteil platzierbar. Ist keine Platinenumrandung definiert, dann kann der Startpunkt frei gewählt werden, und Bauteile werden u.U. auch außerhalb der aktuell definierten Elementgrenzen platziert.

Der Fortgang der Bearbeitung während der automatischen Platzierung wird in der Statuszeile protokolliert (Anzeige Pass : 1/1 Bauteil : <b>/<n>). Dieser Prozess kann per Tastendruck abgebrochen werden, was ggf. mit der Meldung Autoplace abgebrochen! quittiert wird. Dabei ist zu beachten, dass es vor dem tatsächlichen Funktionsabbruch u.U. zu kurzen Wartezeiten kommen kann, da der aktuell aktive Ripup- und Retry-Pass in jedem Fall komplettiert werden muss.

Die erfolgreiche Beendigung der Initialplacement-Funktion wird durch die Meldung Es wurden keine Fehler festgestellt. angezeigt, was zugleich auch bedeutet, dass alle Bauteile platziert werden konnten. Eine durch die Platzierungsfunktion ausgegebene Meldung der Form <n> Bauteile konnten nicht platziert werden! gibt die Anzahl <n> der Bauteile an, die mit den eingestelltem Parametern nicht auf dem zur Verfügung stehenden Platz platziert werden konnten. In diesem Fall sind ggf. andere Parameter für die Platzierung (feineres Platzierungsraster, Reduzierung der Bauteilexpansion, Freigabe Bauteildrehung bzw. SMD-Spiegelung; Parametereinstellung siehe unten) zu wählen, um (nach einem Undo) in einem neuerlichen Platzierungslauf eine Komplettplatzierung zu ermöglichen.

Voll-Autoplace

Die Funktion Voll-Autoplace führt ein Clusterplacement (siehe unten) mit automatisch gewähltem Startpunkt für die Platzierung sowie anschließend eine (multi-pass) Platzierungs-Optimierung (siehe unten, Kapitel 4.4.4) mit den dafür eingestellten Parametern für Optimierungszahl und Pin/Gate-Swap-Verfahren durch. Der Startpunkt für die Platzierung ergibt sich dabei aus dem Schwerpunkt der Platinenumrandung. Liegt dieser Schwerpunkt nicht innerhalb der Platinenumrandung, dann können mit Voll-Autoplace keine Bauteile platziert werden, und es muss Clusterplacement oder Flächenplacement anstelle Voll-Autoplace verwendet werden.

Ist keine Platinenumrandung definiert, dann wird der absolute Nullpunkt des aktuell geladenen Layouts als Startpunkt gewählt. In diesem Fall sollte nach Ablauf der Platzierung auf die Übersichtsdarstellung umgeschaltet werden, da anschließend Bauteile u.U. außerhalb der aktuell definierten bzw. sichtbaren Elementgrenzen platziert sind.

Clusterplacement

Beim Clusterplacement ist zunächst der Startpunkt für die Platzierung zu wählen. Dieser Startpunkt wird zur Positionierung des ersten für die Platzierung ausgewählten Bauteils verwendet.

Die Funktion Clusterplacement wertet die Netzliste aus und nimmt eine Analyse und Klassifizierung der vorkommenden Netze und Bauteile vor. Danach werden Gruppen von Bauteilen zu Clustern zusammengefasst, die dann entsprechend der für die einzelnen Bauteilcluster ermittelten Platzierungsprioritäten nacheinander auf dem Layout platziert werden. Zur Clusterbildung werden jedem Bauteil mit mehreren Anschlüssen die jeweils verbundenen Bauteile mit einer geringen Anzahl von Anschlüssen (weniger als vier) zugeordnet. Bauteile die ausschließlich zu als Versorgungsnetzen klassifizierten Netzen Verbindungen haben (dies sind in aller Regel Abblockkondensatoren), werden zunächst nicht berücksichtigt und am Ende auf die mit den Versorgungsnetzen verbundenen Gruppen aufgeteilt. Dadurch ergibt sich anschließend automatisch eine sinnvolle Platzierung der Abblockkondensatoren in der Nähe der zugehörigen ICs. Die Aufteilung der Abblockkondensatoren erfolgt nach Alphabet. Da nicht zwischen Steckern und normalen Bauteilen unterschieden werden kann, ist es von Vorteil, bei der Namensgebung für die Bauteile die Stecker am Ende des Alphabets anzusiedeln (z.B. Namensmuster x??? für Stecker und ic??? für integrierte Schaltungen), um zu verhindern, dass Abblockkondensatoren an Stecker zugewiesen werden.

Flaechenplacement

Die Funktion Flaechenplacement führt eine Flächenplatzierung durch. Dabei ist zunächst der Startpunkt für die Platzierung zu wählen. Flächenplacement bedeutet, dass die Netzlistendaten nicht berücksichtigt werden, sondern dass lediglich die Bauteilabmessungen als Kriterium für die Platzierung herangezogen werden. Mit dieser Funktion lässt sich zum Beispiel leicht überprüfen, ob der auf der Leiterkarte zur Verfügung stehende Platz überhaupt ausreicht.

Bauteilpinfaktor

Der Bauteilpinfaktor steuert die Reihenfolge, in der die Bauteilgruppen platziert werden. Für die Auswahl des nächsten zu platzierenden Bauteils steht die Kombination zweier Strategien zur Verfügung. Die erste Strategie wählt einfach das Bauteil mit der größten Anzahl von Verbindungen zu den bereits platzierten Bauteilen aus, während die zweite Strategie das Bauteil auswählt, bei dem das Verhältnis der Pins mit Verbindungen zu bereits platzierten Bauteilen zur Gesamtzahl seiner Anschlüsse am höchsten ist. Über den Bauteilpinfaktor wird gesteuert welche Strategie höher zu bewerten ist. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
BauteilpinfaktorLinke Maustaste (LMB)
Pinanzahlgewichtung [0.0,1.0] (0.90) ?

können für den Bauteilpinfaktor Werte im Bereich von 0.0 (reine Bewertung der Verbindungsanzahl) bis zu 1.0 (reine Bewertung des Prozentsatzes verbundener Anschlüsse) angegeben werden. Der Defaultwert für den Bauteilpinfaktor beträgt 0.9. Von der Verteilung der Netze her sind hohe Bauteilpinfaktoren grundsätzlich besser als niedrige Faktoren. Allerdings führen hohe Bauteilpinfaktoren häufig dazu, dass besonders bei kleinem Platzangebot zu Beginn der Platzierung viele kleine Bauteile den vorhandenen Platz so fragmentiert belegen, dass später zu platzierende große Bauteile keinen Platz mehr finden.

Segmentpassung

Die Segmentpassung gibt an, inwieweit die Passung der Kantenlängen benachbarter Bauteile berücksichtigt wird, d.h. ob Bauteile gleicher Größe bevorzugt nebeneinander platziert werden. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
SegmentpassungLinke Maustaste (LMB)
Segmentpassung [0.0,1.0] (0.10) ?

wird der Bewertungsfaktor für die Segmentpassung festgelegt. Es können Werte von 0.0 (keine Berücksichtigung der Segmentpassung) bis 1.0 (Segmentpassung wird vergleichbar den Netzausdehungen bewertet) angegeben werden. Der Defaultwert für die Segmentpassung beträgt 0.1. Mit hoher Segmentpassung platzierte Layouts sehen in der Regel optisch ansprechender aus und sind bei Vorhandensein vieler Busverbindungen besser routbar. Layouts mit mehr "zufällig" verteilten Verbindungen und beengten Verhältnissen sind dagegen häufig bei einer Platzierung mit geringer Segmentpassung einfacher entflechtbar.

Spiegelungsmodus

Der Spiegelungsmodus ist nur für die Platzierung von SMD-Bauteilen von Bedeutung. Bei der Voreinstellung Kein SMD-Spiegeln werden SMD-Bauteile nur ungespiegelt platziert. Mit der Einstellung SMD-Spiegeln kann die automatische Platzierung wahlweise auf der Ober- bzw. Unterseite durchgeführt werden. Die Option 2 Pin-SMD-Spiegeln dient der Einschränkung der automatischen Bauteilspiegelung auf SMDs mit nicht mehr als 2 Pins und erlaubt somit die Platzierung von Abblockkondensatoren und anderen Kleinbauteilen auf der Lötseite, während SMD-Bauteile mit mehr als zwei Pins in jedem Fall auf der Bauteilseite platziert werden. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
SpiegelungsmodusLinke Maustaste (LMB)
Kein SMD-Spiegeln
SMD-Spiegeln
2 Pin-SMD-Spiegeln

kann die gewünschte SMD-Spiegelungsoption selektiert werden.

Rotationsmodus

Der Rotationsmodus gibt an um welche Winkel die Bauteile bei der automatischen Platzierung gedreht werden dürfen. Die Standardeinstellung für den Rotationsmodus ist 0-270 Grad Rotation, d.h. die Bauteile dürfen in beliebigen 90 Grad-Schritten platziert werden. Mit der Option 0- 90 Grad Rotation werden die Bauteile nur ungedreht oder um 90 Grad nach links gedreht platziert. Dieser Modus kann angewendet werden um eine fehlersicherere Bestückung zu erreichen; außerdem verläuft damit die automatische Platzierung schneller, da weniger Platzierungsmöglichkeiten geprüft werden müssen. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
RotationsmodusLinke Maustaste (LMB)
0- 90 Grad Rot.
0-270 Grad Rot.

kann zwischen den beiden Rotationsoptionen gewählt werden.

Bauteilgröße, Bauteilexpansion, Abblockkondensatoren, Platzierungsraster

Die Bauteile werden im aktuell eingestellten Eingaberaster platziert. Dieses Platzierungsraster sollte also vor Durchführung des Initialplacement im Menü Ansicht über die Funktion Raster/Winkel festgelegt werden. Der Platzbedarf (d.h. die Größe) eines Bauteils wird durch die Elementgrenzen des zugehörigen Makros bestimmt. Beim Erstellen von Bauteilbibliotheken sollte daher darauf geachtet werden, dass die Elementgrenzen nicht unnötig größer als die tatsächlichen Bauteilabmessungen sind. Um in weniger dicht gepackten Designs Platz zwischen den Bauteilen zu schaffen, kann eine Expansionsdistanz angegeben werden, um die die Bauteilumrandung vergrößert werden soll. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
BauteilexpansionLinke Maustaste (LMB)
Expansionswert ( 0.00mm) ?

wird der Wert für die Bauteilexpansion eingestellt. Der Defaultwert hierfür beträgt 0.0mm (d.h. keine Bauteilexpansion). Der mit der Funktion Bauteilexpansion angegebene Expansionswert wird auf jeden Bauteiltyp ohne Berücksichtigung individueller Makrogrößen gleichermaßen angewendet. Ausgenommen hiervon sind Abblockkondensatoren, die automatisch erkannt werden und mit geringstmöglichem Abstand zu den zu versorgenden Bauteilen platziert werden. Nach Möglichkeit werden die Abblockkondensatoren hierbei je nach Orientierung der zu versorgenden ICs vorzugsweise jeweils rechts bzw. oberhalb der integrierten Schaltkreise platziert.

Im Vollautoplacement wird ein Automatismus zur schrittweisen Reduktion der Bauteilexpansion aktiviert, wenn keine vollständige Platzierung mit dem eingestellten Wert möglich ist. Der Wert für die Bauteilexpansion wird nach Möglichkeit solange um jeweils 25 Prozent reduziert bis entweder eine vollständige Platzierung möglich ist, oder der Wert für die Bauteilexpansion 0.2mm unterschreitet und auf Null gesetzt wird.

Retrydurchgänge

Da bei der Platzierung jeweils nur die Verbindungen zu bereits platzierten Bauteilen berücksichtigt werden können, kann sich im Laufe der Platzierung für ein bereits platziertes Bauteil eine optimalere Position ergeben. Damit solche Positionen auch genutzt werden, werden bei der automatischen Platzierung Retrydurchgänge eingeschoben, bei denen für jedes platzierte Bauteil nach einer besseren Position gesucht wird. In dieses Verfahren werden auch vorplatzierte, unfixierte Bauteile einbezogen. Vorplatzierte Bauteile, die nicht umplatziert werden dürfen, müssen daher vorher im Layouteditor (mit Hilfe der Gruppenfunktionen) fixiert werden. Mit der Funktion

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
RetrydurchgaengeLinke Maustaste (LMB)
Anzahl Retrydurchgaenge [0,9] ( 2) ?

wird die Anzahl der Retrydurchgänge festgelegt. Die Voreinstellung beträgt zwei Durchgänge, d.h. es wird ein Retrydurchgang nach der Hälfte der platzierten Bauteile und ein Retrydurchgang am Ende der Platzierung durchgeführt. Es sollten nicht zu viele Retrydurchgänge angegeben werden, da dies einerseits stark in die Rechenzeit geht und andererseits bei der Umplatzierung von Bauteilgruppen Kleinbauteile (speziell Abblockkondensatoren) nicht immer an die neue Position mitgenommen werden können, wodurch sich für einzelne Verbindungen unverhältnismäßig lange Leiterbahnlängen ergeben können.

 

4.4.4 Platzierungsoptimierung

Die Platzierungsoptimierung ermöglicht den Aufruf eines Platzierungsalgorithmus, der iterativ Gehäuse gleicher Bauform gegeneinander vertauscht und Pin/Gate Swaps durchführt, um dadurch die Komplexität des Routingproblems zu entschärfen, d.h. eine Längenminimierung und Entflechtung der noch nicht realisierten Verbindungen ("Airlines", "Unroutes") herbeizuführen. Dieser Algorithmus kann einfach (Einzeloptimierung) oder mehrfach (Multi-Optimierung mit einstellbarer Optimierungszahl) durchlaufen werden, wobei mit der Funktion P/G-Swap Verfahren zwischen unterschiedlichen Swapverfahren gewählt werden kann; mit der Standardeinstellung Beide Swaps werden sowohl Bauteiltausch (Component Swap) als auch Pin-/Gattertausch durchgeführt, mit Nur Bauteil Swap wird der Pin/Gate Swap abgeschaltet, und mit Nur Pin/Gate Swap wird der Bauteiltausch abgeschaltet.

Führen Sie mit den folgenden Kommandos eine 3-fache Platzierungsoptimierung mit Bauteiltausch und Pin/Gate Swap durch:

BauteileLinke Maustaste (LMB)
AutoplacementLinke Maustaste (LMB)
EinstellungenLinke Maustaste (LMB)
OptimierungszahlLinke Maustaste (LMB)
Anzahl Durchgaenge : 2 (1..99) ?3 Return-/Eingabetaste (CR)
OKLinke Maustaste (LMB)
Multi-OptimierungLinke Maustaste (LMB)

Während der Optimierung zeigt das System in der Statuszeile den aktuellen Durchlauf und die Anzahl der bearbeiteten Bauteile an. Durch einen Tastendruck lässt sich die Platzierungoptimierung jederzeit abbrechen.

Beurteilen Sie mit Hilfe der Undo-Funktion das Resultat der Platzierungsoptimierung und beachten Sie dabei insbesondere die jeweilige Komplexität des "Airline-Geflechts".

Von der Platzierungsoptimierung ausgenommen sind fixierte Bauteile. Dürfen also bestimmte Bauteile (Stecker, Schalter, Leuchtdioden, usw.) durch die Platzierungsoptimierung nicht umplatziert werden, dann sind diese Bauteile vor dem Aufruf von Autoplacement-Funktionen (mit Hilfe der Gruppenfunktion) zu fixieren. Dasselbe gilt für Bauteile, für die kein Pin/Gate Swap durchgeführt werden darf (Relais, Mehrfach-Operationsverstärker, etc.). Wir weisen in diesem Zusammenhang auch mit Nachdruck darauf hin, dass ein automatischer Pin/Gate Swap nur dann durchgeführt werden darf, wenn alle in der logischen Bibliothek eingetragenen Swapdefinitionen auch wirklich zulässig sind. Ist dies nicht der Fall, oder bestehen darüber Zweifel, dann ist der automatische Pin-Gattertausch bei der Platzierungsoptimierung unbedingt mit Nur Bauteil Swap in der Funktion P/G-Swap Verfahren abzuschalten. Für Stecker darf in aller Regel kein Pin/Gate Swap definiert werden. Pin/Gate Swaps für Bauteile, bei denen spezielle Attributwerte (z.B. $val bei Widerstandsnetzwerken) gesetzt werden können, müssen als interne Swaps definiert sein, um zu verhindern, dass Gatter zwischen Bauteilen mit unterschiedlichen Werten getauscht werden. Die Definition von Pin/Gate Swaps erfolgt in der logischen Bibliothek mit Hilfe des Utilityprogramms loglib (siehe hierzu auch die entsprechende Beschreibung im Kapitel 7.11 dieses Handbuchs).

Bartels :: Bartels AutoEngineer :: BAE Dokumentation :: BAE Benutzerhandbuch :: Leiterkartenentwurf :: Autoplacement

Autoplacement
© 1985-2024 Oliver Bartels F+E • Aktualisiert: 11. October 2010, 10:30 [UTC]

© 1985-2024 Oliver Bartels F+E Bartels Startseite Kontakt und Impressum

Webentwicklung Baumeister Mediasoft Engineering

diese Seite zur Startseite machen... diese Seite zu den Favoriten hinzufügen... diese Seite an einen Bekannten schicken... druckerfreundliche Seitenanzeige... Seitenübersicht anzeigen... Seitenübersicht mit allen Seiteninhalten anzeigen... Autoplacement - Deutsche Version Autoplacement - English Version