NET(5)
π NET(5) π
okay so bestie, sit down, hydrate, because today we're talking about NET(5) β the whole entire vibe of .net files, aka the little ASCII love letters that Magic's netlist editor reads and writes. no cap, it's genuinely so simple it's kind of iconic. π
β¨ NAME β¨
net β the format of .net files that get read and written by Magic's netlist editor π¦
πΈ DESCRIPTION πΈ
Netlist files are read and written by Magic's netlist editor, and the format is a very simple ASCII situation. like, refreshingly simple. π
The first line of the file contains the characters:
Netlist File
and bestie, the leading blank is important. do not skip it. she is load-bearing. π
After that first line comes a blank line, and then the descriptions of one or more nets. Each net contains one or more lines, and each one of those lines holds a single terminal name. The nets get separated from each other by blank lines. π«Ά
Now β any line that is blank, or whose first character is blank, counts as a separator line, and the rest of its contents are just ignored. bye, not read, not your problem. π
π§ Terminal names (the main character part) π§
Each terminal name is a path, much like a file path name in Unix. she's giving filesystem energy, iykyk. It's made of one or more fields separated by slashes</>, and here's the breakdown:
- The last field in the path is the name of a label in a cell. π
- The other fields, if there are any, are cell instance identifiers that form a path from the edit cell all the way down to the label. π
- The first instance identifier must name a subcell of the edit cell, the second must be a subcell of the first, and so on down the line. periodt. β¨
Instance identifiers are unique within their parent cells, so a terminal path selects exactly one unique cell to contain the label. clean. precise. we love her. π
but wait β the same label may show up multiple times within its cell, and that's fully allowed. π
When that happens, Magic assumes the identical labels identify electrically equivalent terminals. so when it's routing to that terminal, it will choose the closest one of them. and that's not even all β after connecting to one of these terminals, Magic may take advantage of the internal wiring connecting them together and route through a cell to complete the net's wiring. multitasking queen. π₯
π¦ EXAMPLE π¦
here's an example netlist file, and it contains three distinct nets. look at her go:
βββββββββββββββββββββββββββββββββββββββ
Netlist File
alu/bit_1/cout
alu/bit_2/cin
regcell[21,2]/output
latch[2]/input
This line starts with a blank, so it's a separator.
opcode_pla/out6
shifter/drivers/shift2
βββββββββββββββββββββββββββββββββββββββ
see that line that starts with a blank? yeah. separator. the rest of it does not matter. π
β SEE ALSO β
magic(1)β go read her too, she's the whole reason this page exists π«Ά
and that's the tea, bestie. this page came to you from the 4th Berkeley Distribution, and she's the one and only NET(5). no date on the tag, so she's timeless, honestly. stay slaying those netlists. πβ¨ππ¦πΈπ
π¦ where this page comes from
- debian bookworm: magic 8.3.105+ds.1-1.1 Β· BSD-style
- fedora 43: magic 8.3.552-1.fc43 Β· HPND-UC-export-US AND TCL AND HPND
- fedora 43: magic 8.3.651-1.fc43 Β· HPND-UC-export-US AND TCL AND HPND
- fedora 44: magic 8.3.623-1.fc44 Β· HPND-UC-export-US AND TCL AND HPND
- fedora 44: magic 8.3.684-1.fc44
- fedora 44: magic 8.3.685-1.fc44 Β· HPND-UC-export-US AND TCL AND HPND
- nixos 26.05: magic-vlsi 8.3.629
- nixpkgs unstable: magic-vlsi 8.3.689
- ubuntu jammy: magic 8.3.105+ds.1-1.1 Β· BSD-style
- ubuntu noble: magic 8.3.105+ds.1-1.1 Β· BSD-style
- ubuntu resolute: magic 8.3.105+ds.1-1.1 Β· BSD-style
- ubuntu stonking: magic 8.3.105+ds.1-1.1 Β· BSD-style
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms