Index: 06_hierarchy.html =================================================================== --- 06_hierarchy.html (revision 254) +++ 06_hierarchy.html (revision 255) @@ -76,12 +76,12 @@ is always one of the scopes from the table below. -
scope syntax description -
global /netname visible from anywhere in the hierarchy -
subtree-local v/netname visible only from within a subtree of the hierarchy -
sheet-local ./netname visible only from within the same sheet -
auto netname bind to an existing sheet-local net if available, else to a subtree-local net, else to a global net, else create a new global net -
subtree-auto ^/netname similar to auto, but is looking only for subtree-local (v/) networks - no locals and no globals +
scope syntax description +
global /netname visible from anywhere in the hierarchy +
subtree-local v/netname visible only from within a subtree of the hierarchy +
sheet-local ./netname visible only from within the same sheet +
auto netname bind to an existing sheet-local net if available, else to a subtree-local net, else to a global net, else create a new global net +
subtree-auto ^/netname similar to auto, but is looking only for subtree-local (v/) networks - no locals and no globals
@@ -93,7 +93,7 @@ the auto search.

{des6:10} -Global networks are created when first referenced (with the explicit / +Global networks are created when first referenced (with the explicit / prefix syntax or with the auto or subtree-auto syntax).

{des6:11} @@ -105,10 +105,10 @@

{des6:12} Defining a new subtree-local network is done by using the netname prefix -v/; this anchors the netname to the current sheet. Auto netnames from +v/; this anchors the netname to the current sheet. Auto netnames from this sheet and sheets below this sheet will find this network if looking for a sheet-local network failed. To prefer the nearest subtree-local -network over local networks, the subtree-auto ^/ prefix can be +network over local networks, the subtree-auto ^/ prefix can be used: this will start walking up in the hierarchy to find the closest subtree-local net of matching netname. If that fails and the root sheet is reached, the compilation fails (no abstract model is produced). @@ -127,7 +127,7 @@ and stop the search

  • 2. visit each parent recursively until (including) the root sheet; if there is a matching subtree-local net defined in that sheet - using the v/ prefix, use that and stop the search + using the v/ prefix, use that and stop the search
  • 3. look for an existing global net with matching netname and use that if found, stop the search
  • 4. create a new global net using the netname @@ -150,10 +150,10 @@ (only one of these shall be specified in a symbol): -
    attribute key value syntax meaning -
    cschem/child/uid uid the hlibrary is searched for a sheet with matching uid -
    cschem/child/name string the hlibrary is searched for a sheet with matching file name; if contains any slash character, it's a path within the hlibrary relative to the current sheet's path within the hlibrary -
    cschem/child/path string path relative to the directory the current sheet is last saved in +
    attribute key value syntax meaning +
    cschem/child/uid uid the hlibrary is searched for a sheet with matching uid +
    cschem/child/name string the hlibrary is searched for a sheet with matching file name; if contains any slash character, it's a path within the hlibrary relative to the current sheet's path within the hlibrary +
    cschem/child/path string path relative to the directory the current sheet is last saved in

    {des6:18} @@ -168,7 +168,7 @@ Networks between the current schematics and the referenced schematics are connected in explicit and implicit ways. Implicit (non-graphical) connections are done by referencing a netname, -using the "connect=" attribute. +using the "connect=" attribute.

    {des6:20} The explicit way of connecting networks is using the terminals @@ -193,7 +193,7 @@

    {des6:23} If the parent symbol contains attributes whose key start with the -cschem/param/ prefix, those attributes are copied into the child sheet +cschem/param/ prefix, those attributes are copied into the child sheet instance, with the same key and value, as sheet attributes.

    {des6:24} @@ -200,13 +200,13 @@ This mechanism is provided as a safe, explicit way for passing attributes as arguments. Because of the key prefix limit, the parent can not accidentally overwrite child sheet attributes. The API (the list -of cschem/param/* keys the child sheet will understand) can be specified +of cschem/param/* keys the child sheet will understand) can be specified by the user and made known for both the implementor of the child sheet and the parent sheet.

    {des6:25} In a typical application, on a child sheet, symbol, terminal and other -object attributes will symlink to "sheet::cschem/param/" keys to access +object attributes will symlink to "sheet::cschem/param/" keys to access the parameters specified by the parent.

    6.4. Other considerations

    @@ -213,7 +213,7 @@

    {des6:26} Unnamed wire-nets are always treated as being local (as if they had a -./ prefix in their netname) as they shall never connect to a global network +./ prefix in their netname) as they shall never connect to a global network by name.

    {des6:27} @@ -221,8 +221,8 @@ must be project-wise unique, it can not be the same name used in a hierarchical schematics. The exact details of the name translation is up to the plugin that implements the translation. A typical example would be: -"refdes/refdes/refdes/netname" where refdes is the hierarchy down-reference -symbol's refdes attribute and netname is the netname attribute of the network +"refdes/refdes/refdes/netname" where refdes is the hierarchy down-reference +symbol's refdes attribute and netname is the netname attribute of the network with the scope prefix removed. If the user doesn't chose a plugin, the default behavior is to use the network's uid as abstract netname. Normally the renaming does not affect global nets, only subtree-local and sheet-local nets. @@ -231,6 +231,6 @@ Similar to netnames, abstract component names may be required to be unique by the exporter plugin. In this case either the exporter plugin or an intermediate plugin is used to attach human readable unique names deduced -from the hierarchy (e.g. "refdes/refdes/refdes"). Just like with the netnames, +from the hierarchy (e.g. "refdes/refdes/refdes"). Just like with the netnames, this name translation is optional.