[kicad7] Is it possible to have "hierarchical" symbols?


I would like to have a symbol for an inverter which inside is implemented with a certain arrangement of n/pMOS, but beside creating the symbol, I cannot specify its implementation. Is such feature not available in kicad?

I tried using hierarchical sheets, but they don’t seem to work well with this incapsulation approach.

Thank you

Hierarchical symbols with underlying schematics is not currently possible in Kicad.

Having said that, I have been working to implement this capability over the last couple of years so that I may use kicad as part of an IC design flow. My interest is system and transistor level circuit simulation using a variety of spice simulators. The pll example schematic I have attached is composed of hierarchical symbols pointing to either underlying schematics or spice netlists within a spice library. Some of the underlying schematics include gates that point to transistor level schematics. I added a custom hierarchical spice netlister to my design framework to make all this work, a significate effort as it turned out. It is fairly far along at this point but still testing.

Are you involved in IC design?


1 Like

Did you ask a function for multi-unit symbols?

If yes, KiCAD has this function, you can set the number of units in properties window:

And you can choose the unit on the top to view or edit:

I think he wants subcircuits that can be wrapped up and used like a symbol. I have wanted those at times. There has been discussion about this in the past, I forget the term used, might be something like “design block”. I’m sure there is a feature request in Gitlab for it.

Edit: I think this is it. You could upvote it.

1 Like

That looks exactly what I’ve been thinking. I’m not really in the field of analog design, I’ve been curious to learn it tho and was on the look out for a decent schematic editor. Looking at the link posted by @retiredfeline, such feature does not seem to get support anytime soon sadly

I know this is not what you are looking for…

But this is a workaround.

You can make this happen with the schematic sheets.
You could have a folder full of logic gates, each one is a kicad_sch that implements the desired logic gate.

It won’t be a symbol library but it will be some kind of library.
Then you can add this sheet to another sheet as instances as they were symbols.

You can use them as blocks, to keep it simple. Or you can play with other features to make it more visual like this…

It is not beautiful but it is something…

It will look like this…

You can also hide the border of the block, here I kept it to show it is composed of a hierarchical sheet and an image.

My sample project is attached here,

Here, hiding the borders.

You can make it better drawing in kicad directly.

Now if you are looking to have the simulation working. You can make a symbol exactly was you want, and the attach a spice model to it. This would be easier.


Thanks! I’ll have a look :slight_smile:

I just create symbols. A rectangle with a number of pins is really easy to do. I’ve made symbols for Arduino boards etc. I find a special symbol is much easier than any hierarchical situation.

I think once you get through the 1st symbol you’ll find it easy for the 2nd.

I use hierarchical schematic, and add graphic symbol on top of that. So the subschematic looks like custom symbol.

If you need reusable symbol, then create a new symbol and put it as project library.

See also Custom sheet shapes (was: Bus Pins) (#12250) · Issues · KiCad / KiCad Source Code / kicad · GitLab

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.