Post Go back to editing

.asc to .asy : Parameter Editor

Category: Software
Product Number: LTspice
Software Version: 17.2.4

To my knowledge,
an .asc converted to .asy for use in another .asc
will consider pins but not params.

Similar to the Attribute Editor and Pins Editor, 
could a Parameters Editor be added,
which allows PARAMeters to be added to the symbol,
optionally given a default value, and
optionally given a default visibility/text placement.

When the symbol is placed for use in a parent .asc,
its right click menu would include the Parameters table.

The default values and visibility would be editable.

These values would be overwritten by code in the PARAM/SpiceLine input box.



This allows symbol creators to specify mask PARAMs
which are most salient or most likely to be changed,
for ease of use and readability in the table,
as well as readability in the schematic since
visible parameters could be moved around on an individual basis
rather than shown all in one line line in PARAM/SpiceLine.

Additionally, PARAM/SpiceLine would still exist to overwrite
any PARAMs not in the table (or PARAMs in the table if specified in both places).

Thread Notes

Parents
  • Hi  ,

    I see. Solid request. A little difficult because of the legacy Attributes dialog and the interaction that would be required. A bit UI bound. You might be surprised (or not) at how hardcoded the dialogs have to be in MFC.

    Maybe, as you note, the hardest part might be what happens if someone changes/adds a spiceline to the local symbol, param=blah, and the fact you can just one-line all the params: "spiceline param1=blah param2=foo param3=bar". None of that is acted on until the spiceline is written out in the netlist. Have to think about it.

    mike

  • Like, could the Parameter Editor table:

    Parameter Value Visibility
    A 7 X
    B 5 X
    C 3.14 X
    D 0.11 X
    E {1e3} X

    just result in SpiceLine being prepended with the table info:

    SpiceLine =
    + A=7
    + B=5
    + C=3.14
    + D=0.11
    + E={1e3}
    + F=7
    + <zzz>

    where <zzz> is whatever the user manually wrote in
    Params (hierarchal sheet, prefix=<blank>) or
    SpiceLine (subcircuit, prefix=X)

    If ltspice could easily check for duplicates between table and mask code, and
    ignore writing any table parameters which are immediately overwritten in manual SpiceLine code,
    even better, but if not, this would still be completely serviceable.

    [If brackets shouldn't have been included in Value, please disregard.]

  • Hi  

    SpiceLine =
    + A=7
    + B=5
    + C=3.14
    + D=0.11
    + E={1e3}
    + F=7

    Yes, very clean. UI limits how we could make this clear to the user.

    If ltspice could easily check for duplicates between table and mask code, and
    ignore writing any table parameters which are immediately overwritten in manual SpiceLine code,
    even better, but if not, this would still be completely serviceable.

    Also, makes sense, but would be far more difficult than it should be, believe me.

    Difficulties aside, I'll put in a formal feature request, because it would be a nice feature.

    mike

  • Ty.

    [Edited original post for clarity: <zzz> ]

    Would the user need to see it?

    I meant if the table was used, any generation of SPICE code could potentially just pull table contents and stuff it into SpiceLine before SpiceLine was passed where it goes, or if wherever SpiceLine goes could accept newlines, using a for loop to convert each table row into

    + <param>=<value>

    followed by:

    + <actual contents of SpiceLine>

    might even be possible.

    [I'm not a dev so I apologize for being very speculative about suggestions.]

    .

    If checking for duplicates would be difficult, (I can certainly imagine and believe you), then please exclude it from the feature request. It's not important.

Reply
  • Ty.

    [Edited original post for clarity: <zzz> ]

    Would the user need to see it?

    I meant if the table was used, any generation of SPICE code could potentially just pull table contents and stuff it into SpiceLine before SpiceLine was passed where it goes, or if wherever SpiceLine goes could accept newlines, using a for loop to convert each table row into

    + <param>=<value>

    followed by:

    + <actual contents of SpiceLine>

    might even be possible.

    [I'm not a dev so I apologize for being very speculative about suggestions.]

    .

    If checking for duplicates would be difficult, (I can certainly imagine and believe you), then please exclude it from the feature request. It's not important.

Children
No Data