NETCHANGE(5)

πŸ“¦
version 9.7.121 Β· 2 versions
, in fedora 43, fedora 44

πŸ’– NETCHANGE πŸ’–

bestie, this is the manual page for NETCHANGE(5) β€” the format of netchange files read by irsim. sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

netchange β€” the format of netchange files that irsim reads. that's it, that's the name, slay πŸ’…


🌸 DESCRIPTION 🌸

okay so a netchange file is literally just a series of lines, and every single line kicks off with a key letter. that first letter is the whole vibe check β€” it decides how the rest of the line gets interpreted. here's the complete lineup of key letters we understand, no gatekeeping:

  • | any text β€” lines starting with a vertical bar are comments and the program just ignores them. iconic. mind your business energy πŸ™ˆ
  • add type gate source drain length width [area] β€” adds a new transistor of type to the network. rn, type can be:
    • n β€” n-channel enhancement transistor πŸ’œ
    • p β€” p-channel enhancement transistor πŸ’œ
    • d β€” depletion transistor (for NMOS) πŸ’œ

the names of the nodes that the gate, source, and drain of the transistor are connected to are given by gate, source, and drain respectively. the length and width of the transistor are given by length and width respectively. and the area parameter β€” if you give it, it will use that number as the area for calculating the gate capacitance. length and width should be in lambda units, area should be in lambda^2 units, and these get internally multiplied by the LAMBDA factor from the configuration (.prm) file. math girlie behavior ✨

  • delete type gate source drain length width [area] β€” deletes an existing transistor from the net. all the parameters mean exactly the same thing as for the add command. bye bestie πŸ¦‹
  • move type gate source drain length width [area] g s d β€” moves an existing transistor to a new location in the net. type, gate, source, drain, length, width, and area all mean the same as for the add command. g, s, and d are the names of the nodes that the gate, source and drain should be connected to. if a particular terminal(s) is not supposed to be re-connected, you can specify the name using an "*". any or all of g, s, and d may be "*". for example, to move the gate of an n-channel transistor from node old to new, you'd use this command:
m n old src_node drn_node 4 2.2 new * *
ngl, note that the drain and source terminals, and the g and s terminals, are interchangeable β€” the simulator will know if these are swapped. so that last example could also have been written:
m n old drn_node src_node 4 2.2 new * *
  • capacitance node value β€” changes the capacitance of node by value picofarads. value may be negative, which decreases the node's capacitance. node is the node name. negative? okay go off πŸ”₯
  • N node metal-area poly-area diff-area diff-perimeter β€” changes the capacitance of node using the area and perimeter info of the metal, polysilicon, and diffusion layers. all the parameters should be in lambda (or lambda^2 for areas) units, and they get internally converted to the appropriate capacitance as defined in the configuration file. the values can be negative to decrease the capacitance πŸ’«
  • M node M2A M2P MA MP PA PP DA DP PDA PDP β€” changes the capacitance of node, using the following geometrical info:
    • M2A β€” area of 2nd-level metal
    • M2P β€” perimeter of 2nd-level metal
    • MA β€” area of 1st-level metal
    • MP β€” perimeter of 1st-level metal
    • PA β€” area of polysilicon
    • PP β€” perimeter of polysilicon
    • DA β€” area of n-diffusion
    • DP β€” perimeter of n-diffusion
    • PDA β€” area of p-diffusion
    • PDP β€” perimeter of p-diffusion

all perimeter values should be in lambda units, and area values should be in lambda^2 units. the perimeter measures are half of the actual total perimeter (i.e., they are the sum of the lengths of the top and one side). and again, the values may be negative to decrease the capacitance of the node 🧚

  • threshold node low high β€” changes the threshold voltages of node. low and high should be in normalized voltage units (i.e. floating-point numbers in the range 0.0 to 1.0). stay in your range bestie 😌
  • Delay node tplh tphl β€” changes the delays for node to be tplh nanoseconds for low-to-high transitions, and tphl ns. for high-to-low transitions. these should be absolute numbers, not relative increments/decrements. periodt.
NOTE: for all commands, only the first letter is significant β€” the rest of the string will be ignored. they're only shown in full here for clarity. so yes, m really does the thing πŸ’…

πŸ’€ BUGS πŸ’€

this is an experimental interface for the incremental simulator and is very likely to change in the future. it's giving "under construction", no cap 😭


πŸ‘‘ SEE ALSO πŸ‘‘

irsim(5) sim(5) presim(1)


okay that's the whole page, you ate that 🫢 this whole thing came to you courtesy of the 3rd Berkeley Distribution, and yes the page is literally called NETCHANGE(5) β€” go forth and incrementally simulate, queen πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from