Is there a means to draw a schematic, then generate a symbol which represents that schematic?
This is possible in LTspice using “Hierarchy/open this sheet’s symbol” .
It is also possible in orcad, using “symbolize”, it is also possible in Cadence.
I realize this would not be easy if not already present, but for a truly hierarchical design, it is very important.
Even very old “basic” software like ECS had this capability. (one had to generate the symbol independently, make sure the pins match, place symbol and schematic in same directory, and they were automatically coupled: amp.sym, amp.sch)
Here is an example. “schematic” is the component level representation of the circuit, down to specific resistors and IC pins. “symbol” is the representation of the schematic, with the symbol pins being the i/o ports of the schematic. This is easy to do in LTspice, and there is no limit to the hierarchy. This makes it possible to visualize an entire complex design in one drawing. (The top level is a like a block diagram of the entire circuit).
I will give it a try. But so far, I only see evidence of one level of hieararchy, and no ability to control
the shape of symbols. In Ltspice, you can create any shape you want, add clock markings, etc.
Ltspice can have unlimited levels of hierarchy.
Thats correct, the shape of the subsheet is always a rectangle. If that bothers you too much, you have to open a gitlab feature request for support of randomly shaped subsheets. But I think this will not work very well (at least it’s not worth the programming effort): the connecting hierarchical pins inside a subsheet shape must be located exactly at drawing grid positions - and this is not guaranteed with a randomly arbitrary shape.
In Ltspice, you can create any shape you want, add clock markings. Ltspice can have unlimited levels of hierarchy.
I doubt that Ltspice can have unlimited levels of hierarchy. I have counted until the infinite end (twice), and there I have not seen any sign from Ltspice.
If you compare two programs have the main usecase in mind:
Ltspice designed for simulation purposes
kicad programmed for schematic+pcb design, with added possibility to simulate schematics
Not all features are equally useful in all programs.
Glad to hear the Kicad supports multiple levels of hierarchy.
As for Ltspice, the pins are constrained to be on the grid. The symbol shape is just artwork.
As for the hierarchy limit, the code is probably based on recursion, rather than iteration, so the only “limit” would be the memory size.