Règles d'insertion des sous-circuits

Trois règles officielles régissent ce qui peut être inséré dans quoi. (a) Un circuit peut insérer N'IMPORTE QUEL autre circuit, tant que cela ne crée pas de cycle récursif. (b) Un circuit peut aussi insérer ses PROPRES sous-circuits, en les réutilisant au sein du même parent. (c) Un sous-circuit ne peut PAS insérer de circuit ni de sous-circuit — l'imbrication n'a qu'un niveau de profondeur depuis chaque contexte d'édition, si bien que pendant l'édition d'un sous-circuit la commande Insérer est désactivée. Ensemble, ces règles maintiennent la hiérarchie finie et garantissent que l'aplatisseur se termine toujours.

Basique

Insérer n'importe quel circuit (sans cycle)

Le circuit A peut insérer le circuit B comme sous-circuit, et B peut porter sa propre hiérarchie. La seule limite est la récursion : l'insertion est refusée dès qu'elle ferait qu'un circuit se contienne lui-même, directement ou via une chaîne. Cela maintient la netlist aplatie bornée.

Insérer n'importe quel circuit (sans cycle)
Intermédiaire

Réutiliser vos propres sous-circuits

Un circuit peut insérer des instances supplémentaires d'un sous-circuit qu'il possède déjà. Un parent doté d'un Sous A peut placer un second Sous A à côté du premier, si bien qu'un bloc conçu une fois sert partout où il est nécessaire dans ce parent sans dupliquer la conception.

Réutiliser vos propres sous-circuits
Avancé

Ce qui est bloqué

Deux cas sont refusés. D'abord, la récursion : un circuit ne peut jamais se contenir lui-même le long d'une chaîne. Ensuite, un sous-circuit ne peut rien insérer du tout — pendant l'édition d'un sous-circuit, Insérer et Nouveau sous-circuit sont désactivés, de sorte que l'imbrication reste à un niveau de profondeur depuis chaque contexte. Toute tentative affiche un message explicatif.

Ce qui est bloqué