When a symbol directory is added to the IP Browser and the symbol’s
implementation schematic/libray is next to the symbol it can find it (they
are in the same directory) which is great.
But it works only if the symbol and it’s library is in the root of the directory
what was added to the IP Browser. Is it possible to make the search more
than one level?
I hope this search method does not cause problems and difficulties because
it would be convenient for grouping the symbols and their implementations in
directories more than one depth. Similarly as under the Qorvo element
I can directly add a parent folder and all sub-folder with .qsym files are included automatically likes Qorvo structure. (if sub-folder without .qsym, they are ignored)
Thank you for bothering my problem. I have a symbol file and its implementation file next to is next to the symbolfile in the same directory. If I add directly this directory (Gain) to the IP Browser the implementation is found and the simulation works. If I add the parent directory (ControlLibrary) the implementation is not found.
This is just a simple example. I have several directories which contains a symbol + model in the ControlLibrary directory and I have to add them one-by-one to the IP Browser, becasuse if I add the ControlLibrary directory as a whole the implementations are not found.
I can imagine browsing the whole added directory tree for models/implenetationschematics can cause difficulties what I cannot see, or this breaks the method how the symbols and models are invoked into the simulation. So this is just an observation.
symbol supports to run a hierarchical (call a .qsch) or a sub-circuit (call a .subckt).
If you convert your hierarchical structure into a subckt, you can create a symbol with embed .subckt included, which means, simulation can run with only a .qsym file.
This is a post from Mike Engelhardt for your reference
Best Directory structure and library path definitions for Hierarchical schematics and reusable symbols - QSPICE - Qorvo Tech Forum
I have a reference guide ( Qspice - General Reference Guide by KSKelvin.pdf ) which discuss about this in Part 2.
Or, you attach your gain.qsym and gain.qsch, and I show you the step in converting this hierarchical into a subckt symbol.
My implementation schematics contain lot of explanations and simple figures sometimes and if I convert the schematic into symbol I would lost these extra information. I liked that I right click Enter Implemenation on the symbol and I see the how is the symbols function realized, I see usage instructions, restirctions etc.
I will rearrage my symbol + schematic pairs to single depth directory structure. I will lose the direction based grouping so it is not a serious issue, but I hoped there are people who back my point of view.
Thank you for your help, again.
Generally, comments are ignored and not included when converting a schematic to a netlist.
However, theoretically there is a way to get around this.
If you use the “This is a comment” menu selection on the explanation text to define it as a comment, this comment is not included in the netlist.
However, instead of using “This is a comment”, add a semicolon (“;”) or a double forward slash (“//”) in front the text. This text will be interpreted as a comment AND be visible in the netlist.
Strictly speaking, by right click and enter schematic is a hierarchical block and not a symbol. For hierarchical block, child schematic need to be in the same directory of parent schematic.
Symbol link to a library (.lib or .txt), which contains .model or .subckt, which is in text format. Qspice allow this .model or .subckt to embed into symbol .qsym file. A legacy way is to link to a library by specify library path in symbol, or with .lib or .libpath in schematic.
A critical different you can observe between a hierarchical block and symbol is that, in case you missing child schematic or symbol library file, for a hierarchical block, you cannot create a netlist by View > Netlist; but for a symbol, you can still create a netlist. So, for hierarchical block, it search child schematic in QUX.exe; for symbol, it search its library in Qspice64/80.exe.
Possibly, what you are looking for is a hierarchical block can open its schematic outside parent schematic folder, which seems to be something Qspice currently not support.
[But may be I am wrong, as all just base on my experience in using Qspice].
My practice for symbol is something relatively permanent as symbol is used between multiple projects. My practice is to have a document to explain what the symbol do and how to create it, something like the pdf in my symbol library : Qspice/Symbols at main · KSKelvin-Github/Qspice
Different people have different practice, just at this point it seems no way to achieve your requirement except Qspice add a feature to search child schematic for hierarchical block outside its current working directory.
On the first screenshot what I attached the error message states that could not resolve the hierarchical element, so very likely you are right about wording.
LTspice is working similarly. The hierachical elements should be in the same directory as the schematic where I used them and I had to copy the hierarchical elements in each simulation directory (at least I used this way).