CRAZE

CRAZE

Resistance simulation for thin-film layouts.Widerstandssimulation für Dünnschicht-Layouts.

Open a GDSII file and get the resistance of a thin-film structure together with its potential, current density and power density. For resistors, heaters and Pt100/Pt1000 sensors, where corners, pads and current crowding make length / width wrong.GDSII-Datei öffnen und den Widerstand einer Dünnschichtstruktur erhalten, zusammen mit Potential, Stromdichte und Leistungsdichte. Für Widerstände, Heizer und Pt100/Pt1000-Sensoren, bei denen Ecken, Pads und Stromverdrängung die Rechnung Länge durch Breite verfälschen.

v1.0macOS & WindowsRustGDSII in, GDSII outGDSII-Import und -ExportMIT

From layout to resistanceVom Layout zum Widerstand

Every conductor pixel becomes a node in a resistor network. CRAZE solves it and shows where the current actually flows.Jedes Leiterpixel wird zu einem Knoten in einem Widerstandsnetzwerk. CRAZE löst es und zeigt, wo der Strom tatsächlich fließt.

Current density in a Pt1000 meander with resistance and operating point
Current density in a Pt1000 meander, with resistance, number of squares and the operating point.Stromdichte in einem Pt1000-Mäander, mit Widerstand, Anzahl der Quadrate und Arbeitspunkt.
Potential with equipotential lines
Potential with equipotential lines.Potential mit Äquipotentiallinien.
Hotspot at the inner corner of a meander turn with current direction arrows
The hotspot sits at the inner corner of a turn, where the current crowds.Der Hotspot liegt an der Innenecke einer Windung, wo sich der Strom zusammendrängt.
Cross-section across the supply lead
A cross-section plots the field along a line and integrates the current through it.Ein Querschnitt zeigt das Feld entlang einer Linie und integriert den Strom durch sie.
Width optimization to 1000 ohms
The optimizer scales path widths until the layout hits 1000 Ω, usually in two or three simulations.Der Optimierer skaliert die Pfadbreiten, bis das Layout 1000 Ω erreicht, meist in zwei oder drei Simulationen.
Four-terminal structure with two floating sense pads
Floating sense contacts give the four-wire (Kelvin) resistance without the supply leads.Schwebende Sense-Kontakte liefern den Vierleiter-Widerstand (Kelvin) ohne die Zuleitungen.
import

GDSII importGDSII-Import

Binary GDSII and KLayout GDS2 text, with cell hierarchy (SREF/AREF, rotation, mirroring, magnification) and all path types.Binäres GDSII und KLayout-GDS2-Text, mit Zellhierarchie (SREF/AREF, Rotation, Spiegelung, Vergrößerung) und allen Pfadtypen.

geometryGeometrie

Exact-area rasterizationFlächengenaue Rasterung

A sub-pixel edge model handles slanted and curved edges well even at moderate resolutions.Ein Subpixel-Kantenmodell bildet schräge und gekrümmte Kanten schon bei moderater Auflösung gut ab.

terminalsAnschlüsse

Any number of contactsBeliebig viele Kontakte

Plus, minus and floating sense terminals for four-wire (Kelvin) structures.Plus, Minus und schwebende Sense-Anschlüsse für Vierleiterstrukturen (Kelvin).

material

Stack and temperatureSchichtstapel und Temperatur

Layer stack with thicknesses and temperature coefficients, or a measured R□. R(T) from −50 °C to 400 °C.Schichtstapel mit Dicken und Temperaturkoeffizienten oder ein gemessenes R□. R(T) von −50 °C bis 400 °C.

analysisAnalyse

Hotspots and cross-sectionsHotspots und Querschnitte

Hotspot finder, current arrows, equipotential lines, cross-sections and a resolution study with an error estimate.Hotspot-Suche, Stromrichtungspfeile, Äquipotentiallinien, Querschnitte und eine Auflösungsstudie mit Fehlerabschätzung.

optimizeOptimierung

Width optimizerBreitenoptimierung

Scales path widths until the target resistance is reached and writes a new GDSII file, otherwise identical to the input.Skaliert die Pfadbreiten, bis der Zielwiderstand erreicht ist, und schreibt eine neue GDSII-Datei, sonst identisch mit der Eingabe.

Six stepsSechs Schritte

The app guides you through a sidebar. Every step can be revisited, and material or operating point changes apply without simulating again.Die App führt über eine Seitenleiste. Jeder Schritt lässt sich erneut aufrufen, und Änderungen an Material oder Arbeitspunkt wirken ohne neue Simulation.

  1. LayoutOpen a GDSII file, drop it on the window or start from a bundled example.GDSII-Datei öffnen, ins Fenster ziehen oder mit einem mitgelieferten Beispiel starten.
  2. LayersLayerMark conductor, terminals and an optional simulation area. CRAZE suggests an assignment.Leiter, Anschlüsse und optional einen Simulationsbereich festlegen. CRAZE schlägt eine Zuordnung vor.
  3. MaterialA layer stack, e.g. 100 nm platinum on 10 nm tantalum, or a measured sheet resistance.Ein Schichtstapel, z. B. 100 nm Platin auf 10 nm Tantal, oder ein gemessener Schichtwiderstand.
  4. SimulationPick a resolution. CRAZE shows grid, pixel size and pixels across the narrowest trace.Auflösung wählen. CRAZE zeigt Raster, Pixelgröße und Pixel über die schmalste Leiterbahn.
  5. ResultsErgebnisseResistance, operating point, fields, hotspot, cross-sections, R(T), accuracy and HTML report.Widerstand, Arbeitspunkt, Felder, Hotspot, Querschnitte, R(T), Genauigkeit und HTML-Bericht.
  6. OptimizationOptimierungEnter a target such as 1000 Ω and save the optimized layout.Zielwert wie 1000 Ω eingeben und das optimierte Layout speichern.

How it worksFunktionsweise

R = N · R□The sheet resistance R□ depends only on material and thickness. The number of squares N depends only on geometry, and computing N is what CRAZE does. Changing material or temperature afterwards needs no new simulation.Der Schichtwiderstand R□ hängt nur von Material und Dicke ab. Die Anzahl der Quadrate N hängt nur von der Geometrie ab, und genau N berechnet CRAZE. Material oder Temperatur lassen sich danach ohne neue Simulation ändern.

Pipeline

  1. The GDSII hierarchy is flattened into polygons; paths are expanded into outlines.Die GDSII-Hierarchie wird zu Polygonen aufgelöst; Pfade werden zu Umrissen erweitert.
  2. Shapes of each role are merged and rasterized with exact area coverage per pixel.Die Formen jeder Rolle werden vereinigt und mit exakter Flächenabdeckung pro Pixel gerastert.
  3. Every conductor pixel becomes a node of a finite-volume resistor network. Edge pixels reconstruct the material edge from their neighbours.Jedes Leiterpixel wird zum Knoten eines Finite-Volumen-Widerstandsnetzwerks. Randpixel rekonstruieren die Materialkante aus ihren Nachbarn.
  4. Each terminal is one equipotential node: plus at 1 V, minus at 0 V, others floating.Jeder Anschluss ist ein Äquipotentialknoten: Plus auf 1 V, Minus auf 0 V, weitere schwebend.
  5. The sparse system is solved with a Cholesky factorization, or with incomplete-Cholesky preconditioned conjugate gradients above 8 million unknowns.Das dünnbesetzte System wird mit einer Cholesky-Zerlegung gelöst, ab 8 Millionen Unbekannten mit unvollständig-Cholesky-vorkonditionierten konjugierten Gradienten.
  6. The current leaving the plus terminal gives the number of squares.Der Strom aus dem Plus-Anschluss ergibt die Anzahl der Quadrate.

Accuracy & speedGenauigkeit & Tempo

  1. Validated against analytic solutions (straight and rotated bars, a Corbino ring, a 90° corner) and the geometry import against KLayout.Validiert gegen analytische Lösungen (gerade und gedrehte Streifen, ein Corbino-Ring, eine 90°-Ecke), der Geometrieimport gegen KLayout.
  2. About 10 pixels across the narrowest trace usually give errors well below 1 %.Etwa 10 Pixel über die schmalste Leiterbahn ergeben meist Fehler deutlich unter 1 %.
  3. The resolution study uses Richardson extrapolation to estimate the remaining discretization error.Die Auflösungsstudie schätzt den verbleibenden Diskretisierungsfehler per Richardson-Extrapolation.
  4. The Pt1000 example takes about 2 s at 2.3 million unknowns and 7 s at 5.1 million on an Apple M-series laptop.Das Pt1000-Beispiel braucht auf einem Apple-M-Laptop etwa 2 s bei 2,3 Millionen und 7 s bei 5,1 Millionen Unbekannten.

Command lineKommandozeile

The same engine without the GUI, for batch runs and scripting. Build it with cargo install --path crates/craze-cli.Dieselbe Engine ohne Oberfläche, für Stapelläufe und Skripte. Bauen mit cargo install --path crates/craze-cli.

craze
# cells, layers and the suggested assignment
$ craze info examples/Pt1000_meander.gds
# resistance with R□ = 0.98 Ω/□
$ craze simulate examples/Pt1000_meander.gds --res 2000 --rsheet 0.98
# resolution study
$ craze sweep examples/Pt1000_meander.gds --resolutions 500,1000,2000,4000
# scale path widths to 1000 Ω and write a new layout
$ craze optimize examples/Pt1000_meander.gds --target 1000 --rsheet 0.98 --out meander_1k.gds

InstallInstallation

PlatformPlattformFileDateiDownload
macOS, Apple Silicon & IntelCRAZE-1.0.0-macOS-universal.dmgdmg ↓
Windows 10/11 x64, installerWindows 10/11 x64, InstallerCRAZE-1.0.0-Windows-x64-setup.exeexe ↓
Windows 10/11 x64, MSICRAZE-1.0.0-Windows-x64.msimsi ↓

First startErster Start

  1. Download the file for your system from the latest release; SHA256SUMS.txt lists the checksums.Die Datei für dein System aus dem aktuellen Release laden; die Prüfsummen stehen in SHA256SUMS.txt.
  2. macOS: open the disk image and drag CRAZE into Applications. The app is signed and notarized.macOS: Disk-Image öffnen und CRAZE in den Ordner Programme ziehen. Die App ist signiert und notarisiert.
  3. Windows: run the installer; it installs for the current user. If SmartScreen warns, choose More info → Run anyway.Windows: Installer ausführen, er installiert für den aktuellen Benutzer. Warnt SmartScreen, Weitere Informationen → Trotzdem ausführen.

Build from sourceAus dem Quellcode bauen

rust stable · node + npm
$ git clone https://github.com/BTFLV/CRAZE
$ cd CRAZE/app
$ npm install
$ npx tauri build

FAQ

How should I prepare a layout?Wie bereite ich ein Layout vor?

Draw traces as paths with a width, since only paths can be optimized. Put each contact pad on its own layer; where a pad overlaps the trace it wins, because it's an ideal conductor. With layers 1–4 CRAZE assigns simulation area, conductor, plus and minus automatically.Leiterbahnen als Pfade mit Breite zeichnen, denn nur Pfade lassen sich optimieren. Jedes Kontaktpad auf einen eigenen Layer legen; wo ein Pad die Bahn überlappt, gilt das Pad, weil es ein idealer Leiter ist. Bei den Layern 1–4 ordnet CRAZE Simulationsbereich, Leiter, Plus und Minus automatisch zu.

Which resolution should I use?Welche Auflösung sollte ich nehmen?

Aim for at least 10 pixels across the narrowest trace. CRAZE proposes a resolution when a layout is opened and warns if a trace is too narrow. The resolution study estimates the remaining error.Mindestens 10 Pixel über die schmalste Leiterbahn anpeilen. CRAZE schlägt beim Öffnen eine Auflösung vor und warnt, wenn eine Bahn zu schmal ist. Die Auflösungsstudie schätzt den verbleibenden Fehler.

How accurate is the hotspot value?Wie genau ist der Hotspot-Wert?

At a sharp inner corner the ideal current density is infinite, so the hotspot value grows with resolution. Use it to compare designs, not as an exact number.An einer scharfen Innenecke ist die ideale Stromdichte unendlich, daher wächst der Hotspot-Wert mit der Auflösung. Er eignet sich zum Vergleich von Entwürfen, nicht als exakter Wert.

Does it model self-heating?Wird Eigenerwärmung berücksichtigt?

No. The whole structure is assumed to be at the operating temperature. R(T) follows from the temperature coefficients of the material stack.Nein. Die ganze Struktur wird auf Betriebstemperatur angenommen. R(T) ergibt sich aus den Temperaturkoeffizienten des Schichtstapels.

What do floating terminals do?Was machen schwebende Anschlüsse?

They carry no net current; CRAZE solves for their potential. With two of them you get the four-wire resistance, which excludes the supply leads.Sie führen keinen Nettostrom; CRAZE berechnet ihr Potential. Mit zwei davon ergibt sich der Vierleiter-Widerstand ohne die Zuleitungen.

Which languages does the app support?Welche Sprachen unterstützt die App?

English and German, switchable in the top bar. Light and dark appearance follow the system.Englisch und Deutsch, umschaltbar in der oberen Leiste. Helles und dunkles Erscheinungsbild folgen dem System.

CRAZE on GitHubCRAZE auf GitHub