@User: I think that I don't have a method to put AD/AS/PD/PS into the subcircuit output, but it should be relatively straightforward to add. This was part of code I added to magic to handle output of subcircuits instead of low-level devices; as soon as you use X instead of M, for example, anything goes for the names of the parameters, so there has to be a way to map the parameter names in the device description in the magic techfile. It's mainly just bookkeeping. I added handling of width, length, area, and perimeter of the gate. Doing the same for the source and drain is straightforward enough. There is the one quirk that magic has, though, that is that it does not track what area and perimeter belongs to which device; it just counts the total area and perimeter of the node, which might be connected to multiple devices. Then the first device output gets all of the area and perimeter, and the remaining ones get zero. If all you're doing with those numbers is counting capacitance, then that's fine. I'm not sure it works entirely correctly with bsim models, especially fingered devices. There is an option to divide the area and perimeter equally among all devices connected to a node, but that's only really correct if all the devices on the same node are the same size.