Application module: Layered interconnect complex template ISO/TS 10303-1716:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definitions
   4.5 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Layered interconnect complex template application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Layered_interconnect_complex_template_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Layered_interconnect_complex_template_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Layered_interconnect_simple_template_arm;    --  ISO/TS 10303-1718

USE FROM Physical_unit_2d_shape_arm;    --  ISO/TS 10303-1726

REFERENCE FROM Requirement_decomposition_arm    --  ISO/TS 10303-1740
  (get_rvd);

REFERENCE FROM Fabrication_technology_arm    --  ISO/TS 10303-1670
  (get_stack);

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Layered_interconnect_simple_template_arm ISO/TS 10303-1718
Physical_unit_2d_shape_arm ISO/TS 10303-1726
Requirement_decomposition_arm ISO/TS 10303-1740
Fabrication_technology_arm ISO/TS 10303-1670
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1, C.2, C.3and C.4 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 land_physical_template_or_inter_stratum_feature_template   EXPRESS-G

The land_physical_template_or_inter_stratum_feature_template type allows for the designation of the data types Land_physical_template, and Inter_stratum_feature_template.

EXPRESS specification:

*)
TYPE land_physical_template_or_inter_stratum_feature_template = SELECT
   (Land_physical_template,
    Inter_stratum_feature_template);
END_TYPE;
(*

4.2.2 lict_part_template_or_physical_unit_2d_shape_select   EXPRESS-G

The lict_part_template_or_physical_unit_2d_shape_select type is an extension of the part_template_or_physical_unit_2d_shape_select type. It adds the data type Part_template_planar_shape_model to the list of alternate data types.

EXPRESS specification:

*)
TYPE lict_part_template_or_physical_unit_2d_shape_select = SELECT BASED_ON part_template_or_physical_unit_2d_shape_select WITH
   (Part_template_planar_shape_model);
END_TYPE;
(*

4.2.3 lict_physical_unit_shape_model_select   EXPRESS-G

The lict_physical_unit_shape_model_select type is an extension of the physical_unit_shape_model_select type. It adds the data type Physical_unit_planar_shape_model to the list of alternate data types.

EXPRESS specification:

*)
TYPE lict_physical_unit_shape_model_select = SELECT BASED_ON physical_unit_shape_model_select WITH
   (Physical_unit_planar_shape_model);
END_TYPE;
(*

4.2.4 lict_requirement_assignment_item   EXPRESS-G

The lict_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Structured_template, Template_location_in_structured_template, and Part_template_planar_keepout_shape_model to the list of alternate data types.

EXPRESS specification:

*)
TYPE lict_requirement_assignment_item = SELECT BASED_ON requirement_assignment_item WITH
   (Structured_template,
    Template_location_in_structured_template,
    Part_template_planar_keepout_shape_model);
END_TYPE;
(*

4.2.5 location_stratum_technology_occurrence_or_stratum_technology   EXPRESS-G

The location_stratum_technology_occurrence_or_stratum_technology type allows for the designation of the data types stratum_technology_occurrence_or_stratum_technology, and Template_location_in_structured_template.

EXPRESS specification:

*)
TYPE location_stratum_technology_occurrence_or_stratum_technology = SELECT
   (stratum_technology_occurrence_or_stratum_technology,
    Template_location_in_structured_template);
END_TYPE;
(*

4.2.6 stratum_technology_occurrence_or_stratum_technology   EXPRESS-G

The stratum_technology_occurrence_or_stratum_technology type allows for the designation of the data types Stratum_technology_occurrence, and Stratum_technology.

EXPRESS specification:

*)
TYPE stratum_technology_occurrence_or_stratum_technology = SELECT
   (Stratum_technology_occurrence,
    Stratum_technology);
END_TYPE;
(*

4.2.7 template_arrangement   EXPRESS-G

A template_arrangement lists the possible values of the template arrangement.

EXPRESS specification:

*)
TYPE template_arrangement = ENUMERATION OF
   (top,
    bottom,
    symmetrical,
    swappable);
END_TYPE;
(*

Enumerated item definitions:

top: specifies an arrangement to be top;

bottom: specifies an arrangement to be bottom;

symmetrical: specifies an arrangement to be symmetrical;

swappable: specifies an arrangement to be swappable.

4.2.8 template_location_placement_status   EXPRESS-G

A template_location_placement_status lists the possible values of the template location placement status.

EXPRESS specification:

*)
TYPE template_location_placement_status = ENUMERATION OF
   (is_fixed,
    must_be_moved_in_design,
    may_be_moved_in_design,
    is_unknown);
END_TYPE;
(*

Enumerated item definitions:

is_fixed: specifies that the location may not be modified in the design.

EXAMPLE 1   A padstack location for a pin on a bga is fixed in the library.

must_be_moved_in_design: specifies that the location defined is a placeholder and that it must be moved in the design.

NOTE 1   The details of the requirements that would make the location valid are not provided.

EXAMPLE 2   A padstack location for a transformer with wire leads may be underneath the body of the transformer. In that case, the padstack location must be moved in the design in order for the design to be realizeable, but the parametric information as to how far and in what direction to move the padstack in the design are not provided.

may_be_moved_in_design: specifies that the location in the definition is valid but may be moved in the design if desired.

NOTE 2   The details of the requirements that would make a more optimal location are not provided.

EXAMPLE 3   A padstack location for a transformer with wire leads may be outside the body of the transformer. In that case, the padstack location may be moved in the design in order for the design to be more producible, but the parametric information as to how far and in what direction to move the padstack in the design are not provided.

NOTE 3   This part of ISO 10303 does support providing the lead length of a wire lead and even supports a three dimensional model of the lead including the location of the intersection of the lead and the body, but does not explicitly provide a mathematical relationship between that lead model and the padstack location.

is_unknown: specifies that status of the location is unknown.

NOTE 4   This value is provided only for completeness. In most cases, it should be considered an indicator of a possible error in pre-processing. Implementations should carefully consider whether this value should be populated and what action post-processors should take upon receiving this value.

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Complex_passage_padstack_definition   EXPRESS-GMapping table

A Complex_passage_padstack_definition is a type of Stratum_stack_dependent_template and a type of Passage_padstack_definition for cases where the horizontal extent is changing through the vertical extent. In the case that the horizontal extent is not changing through the vertical extent a Passage_padstack_definition shall be used.

EXPRESS specification:

*)
ENTITY Complex_passage_padstack_definition
  SUBTYPE OF (Stratum_stack_dependent_template, Passage_padstack_definition);
END_ENTITY;
(*

4.3.2 Dependent_electrical_isolation_removal_template   EXPRESS-GMapping table

A Dependent_electrical_isolation_removal_template is a type of Electrical_isolation_removal_template that has an existence dependency on a member of land_physical_template_or_inter_stratum_feature_template.

NOTE    A Dependent_electrical_isolation_removal_template is often used when design intent traceability is desired or where constraint graphs are to be provided.

EXAMPLE    Figure 1 illustrates a template and associated annotation designed for electrical isolation. For a specific template, the explicit geometry will be representative of the values. The dependent template shape is the outer shape. The inner shape is the shape of the associated_item.



Figure 1 —  Electrical isolation illustrating dependent template and the associated_item

Figure 1 —  Electrical isolation illustrating dependent template and the associated_item

EXPRESS specification:

*)
ENTITY Dependent_electrical_isolation_removal_template
  SUBTYPE OF (Electrical_isolation_removal_template);
  associated_item : land_physical_template_or_inter_stratum_feature_template;
WHERE
  WR1: SIZEOF(QUERY (dtlipd <* USEDIN(SELF,'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.TEMPLATE_LOCATION_IN_STRUCTURED_TEMPLATE.TEMPLATE') | NOT( (SIZEOF(QUERY (tlist <* USEDIN(associated_item,'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.TEMPLATE_LOCATION_IN_STRUCTURED_TEMPLATE.TEMPLATE') | NOT( (tlist\Template_location_in_structured_template.assembly :=: dtlipd\Template_location_in_structured_template.assembly) AND ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.DEPENDENT_TEMPLATE_LOCATION_IN_PADSTACK_DEFINITION' IN TYPEOF(dtlipd)) AND (tlist :=: dtlipd\Dependent_template_location_in_padstack_definition.reference_location) ) )) = 0) ) )) = 0;
END_ENTITY;
(*

Attribute definitions:

associated_item: specifies the role of the land_physical_template_or_inter_stratum_feature_template for the Dependent_electrical_isolation_removal_template.

Formal propositions:

WR1: When a Dependent_electrical_isolation_removal_template is included in a Padstack_definition by a member of Dependent_template_location_in_padstack_definition, the associated_item shall be included in the construction of the Padstack_definition and the assembly relationship (Template_location_in_structured_template) of the associated_item to the Padstack_definition shall be the reference_location for the Dependent_template_location_in_padstack_definition.

4.3.3 Dependent_template_location_in_padstack_definition   EXPRESS-GMapping table

A Dependent_template_location_in_padstack_definition is a type of Stratum_specific_template_location. When a Dependent_electrical_isolation_removal_template or a Dependent_thermal_isolation_removal_template is included in a Padstack_definition, the corresponding template referenced by the electrical or thermal template as an associated item is included in the construction of the Padstack_definition.

EXPRESS specification:

*)
ENTITY Dependent_template_location_in_padstack_definition
  SUBTYPE OF (Stratum_specific_template_location);
  reference_location : location_stratum_technology_occurrence_or_stratum_technology;
  SELF\Template_location_in_structured_template.assembly : Multi_stratum_structured_template;
WHERE
  WR1: SELF\Stratum_specific_template_location.bound_stratum :<>: reference_location;
  WR2: SELF <> reference_location;
  WR3: NOT('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.TEMPLATE_LOCATION_IN_STRUCTURED_TEMPLATE' IN TYPEOF(reference_location)) OR (assembly :=: reference_location\Template_location_in_structured_template.assembly);
  WR4: NOT('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE' IN TYPEOF(assembly)) OR (reference_location IN assembly\Stratum_stack_dependent_template.stack\Stratum_stack_model.composing_occurrence);
  WR5: NOT('FABRICATION_TECHNOLOGY_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(reference_location)) OR ('FABRICATION_TECHNOLOGY_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(SELF\Stratum_specific_template_location.bound_stratum));
  WR6: NOT('FABRICATION_TECHNOLOGY_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(reference_location)) OR (SIZEOF (['FABRICATION_TECHNOLOGY_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE', 'FABRICATION_TECHNOLOGY_ARM.PASSAGE_PADSTACK_DEFINITION'] * TYPEOF (assembly)) = 2);
END_ENTITY;
(*

Attribute definitions:

reference_location: specifies the role of the location_stratum_technology_occurrence_or_stratum_technology for the Dependent_template_location_in_padstack_definition.

assembly: an attribute inherited from the Template_location_in_structured_template shall be redeclared as the Multi_stratum_structured_template for the Dependent_template_location_in_padstack_definition.

Formal propositions:

WR1: The bound_stratum shall not be the reference_location.

WR2: A member of Dependent_template_location_in_padstack_definition shall not also be the member of location_stratum_technology_occurrence_or_stratum_technology referenced by the reference_location.

WR3: The Structured_template referenced by the assembly attribute inherited from Template_location_in_structured_template shall be the same Structured_template in the role of assembly by the Template_location_in_structured_template that is referenced by the reference_location.

WR4: If reference_location is of type Stratum_technology_occurrence, then the reference_location shall be in the same Stratum_stack_model as bound_stratum and the assembly shall be of type Stratum_stack_dependent_template.

WR5: If reference_location is of type Stratum_technology_occurrence, then Stratum_technology_occurrence shall be in typeof bound_stratum inherited from Stratum_specific_template_location.

WR6: If reference_location is of type Stratum_technology_occurrence, then assembly shall be of type Stratum_stack_dependent_template and of type Passage_padstack_definition.

4.3.4 Dependent_thermal_isolation_removal_template   EXPRESS-GMapping table

A Dependent_thermal_isolation_removal_template is a type of Thermal_isolation_removal_template that has an existence dependency on a member of land_physical_template_or_inter_stratum_feature_template.

NOTE    A Dependent_thermal_isolation_removal_template is often used when design intent traceability is desired or where constraint graphs are to be provided.

EXPRESS specification:

*)
ENTITY Dependent_thermal_isolation_removal_template
  SUBTYPE OF (Thermal_isolation_removal_template);
  associated_item : Land_physical_template;
WHERE
  WR1: SIZEOF(QUERY (dtlipd <* USEDIN(SELF,'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.TEMPLATE_LOCATION_IN_STRUCTURED_TEMPLATE.TEMPLATE') | NOT( (SIZEOF(QUERY (tlist <* USEDIN(associated_item,'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.TEMPLATE_LOCATION_IN_STRUCTURED_TEMPLATE.TEMPLATE') | NOT( (tlist\Template_location_in_structured_template.assembly :=: dtlipd\Template_location_in_structured_template.assembly) AND ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.DEPENDENT_TEMPLATE_LOCATION_IN_PADSTACK_DEFINITION' IN TYPEOF(dtlipd)) AND (tlist :=: dtlipd\Dependent_template_location_in_padstack_definition.reference_location) ) )) = 0) ) )) = 0;
END_ENTITY;
(*

Attribute definitions:

associated_item: specifies the role of the Land_physical_template for the Dependent_thermal_isolation_removal_template.

Formal propositions:

WR1: When a Dependent_thermal_isolation_removal_template is included in a Padstack_definition by a member of Dependent_template_location_in_padstack_definition, the associated_item shall be included in the construction of the Padstack_definition and the assembly relationship (Template_location_in_structured_template) of the associated_item to the Padstack_definition shall be the reference_location for the Dependent_template_location_in_padstack_definition.

4.3.5 Design_specific_stratum_technology_mapping_relationship   EXPRESS-GMapping table

A Design_specific_stratum_technology_mapping_relationship is a type of Stratum_technology_mapping_relationship.

EXPRESS specification:

*)
ENTITY Design_specific_stratum_technology_mapping_relationship
  SUBTYPE OF (Stratum_technology_mapping_relationship);
  scope : Library_to_design_stack_model_mapping;
END_ENTITY;
(*

Attribute definitions:

scope: specifies the role of the Library_to_design_stack_model_mapping for the Design_specific_stratum_technology_mapping_relationship.

4.3.6 Inter_stratum_feature_template_location   EXPRESS-GMapping table

A Inter_stratum_feature_template_location is a type of Template_location_in_structured_template.

EXPRESS specification:

*)
ENTITY Inter_stratum_feature_template_location
  SUBTYPE OF (Template_location_in_structured_template);
  SELF\Template_location_in_structured_template.assembly : Multi_stratum_structured_template;
  SELF\Template_location_in_structured_template.template : Inter_stratum_feature_template;
WHERE
  WR1: SIZEOF(['LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.INTER_STRATUM_FEATURE_EDGE_SEGMENT_TEMPLATE', 'LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.INTER_STRATUM_FEATURE_EDGE_TEMPLATE'] * TYPEOF(template)) = 0;
END_ENTITY;
(*

Attribute definitions:

assembly: an attribute inherited from the Template_location_in_structured_template shall be redeclared as the Multi_stratum_structured_template for the Inter_stratum_feature_template_location.

template: an attribute inherited from the Template_location_in_structured_template shall be redeclared as the Inter_stratum_feature_template for the Inter_stratum_feature_template_location.

Formal propositions:

WR1: The Inter_stratum_feature_edge_segment_template and the Inter_stratum_feature_edge_template shall not be in type of template.

4.3.7 Library_stack_model   EXPRESS-GMapping table

A Library_stack_model is a type of Stratum_stack_model.

EXPRESS specification:

*)
ENTITY Library_stack_model
  SUBTYPE OF (Stratum_stack_model);
DERIVE
  padstacks : SET[0:?] OF Padstack_definition := bag_to_set(QUERY(p <* USEDIN(SELF, 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE.STACK') | ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.PADSTACK_DEFINITION' IN TYPEOF(p))));
END_ENTITY;
(*

Attribute definitions:

padstacks: specifies a set of the Padstack_definition for the Library_stack_model.

4.3.8 Library_to_design_stack_model_mapping   EXPRESS-GMapping table

A Library_to_design_stack_model_mapping is a type of View_definition_relationship.

EXPRESS specification:

*)
ENTITY Library_to_design_stack_model_mapping
  SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view : Library_stack_model;
  SELF\View_definition_relationship.related_view : Design_stack_model;
WHERE
  WR1: ((related_view\Stratum_stack_model.composing_occurrence * relating_view\Stratum_stack_model.composing_occurrence) = related_view\Stratum_stack_model.composing_occurrence);
  WR2: acyclic_library_to_design_stack_model_mapping(SELF, [related_view], 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING');
END_ENTITY;
(*

Attribute definitions:

relating_view: specifies the role of the Library_stack_model for the Library_to_design_stack_model_mapping.

related_view: specifies the role of the Design_stack_model for the Library_to_design_stack_model_mapping.

Formal propositions:

WR1: The composition of the Design_stack_model shall be a subset of the composition of the Library_stack_model.

WR2: The graph of instances of the Application Object Library_to_design_stack_model_mapping shall not contain a cycle.

4.3.9 Material_removal_structured_template   EXPRESS-GMapping table

A Material_removal_structured_template is a type of Single_stratum_structured_template.

EXPRESS specification:

*)
ENTITY Material_removal_structured_template
  SUBTYPE OF (Single_stratum_structured_template);
WHERE
  WR1: SIZEOF(QUERY(tlict <* SELF\Structured_template.templates | SIZEOF(['LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.MATERIAL_REMOVAL_FEATURE_TEMPLATE', 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.MATERIAL_REMOVAL_STRUCTURED_TEMPLATE'] * TYPEOF(tlict.template)) = 0)) = 0;
END_ENTITY;
(*

Formal propositions:

WR1: All members of templates shall be of type Material_removal_feature_template or Material_removal_structured_template.

4.3.10 Multi_stratum_special_symbol_template   EXPRESS-GMapping table

A Multi_stratum_special_symbol_template is a type of Multi_stratum_structured_template and a type of Special_symbol_template.

EXPRESS specification:

*)
ENTITY Multi_stratum_special_symbol_template
  SUBTYPE OF (Multi_stratum_structured_template, Special_symbol_template);
END_ENTITY;
(*

4.3.11 Multi_stratum_structured_template   EXPRESS-GMapping table

A Multi_stratum_structured_template is a type of Structured_template. A Multi_stratum_structured_template is either a Padstack_definition or a Multi_stratum_special_symbol_template, or a Stratum_stack_dependent_template, or a Padstack_definition and a Stratum_stack_dependent_template, or a Multi_stratum_special_symbol_template and a Stratum_stack_dependent_template.

NOTE 1   Swappable templates are most often used to tailor the interconnect interface to the components mounted on a specific surface of the interconnect, but may be used for test access. It is usual in a library definition to provide a definition for only the top case and then use swap relationships in instantiation in the design. Bottom and symmetrical are provided for completeness.

NOTE 2   A swappable stratum technology or a swappable stratum technology occurrence will be provided when the Multi_stratum_structured_template is swappable.

EXPRESS specification:

*)
ENTITY Multi_stratum_structured_template
  ABSTRACT SUPERTYPE OF (ONEOF (Padstack_definition,
                                Multi_stratum_special_symbol_template)
                        ANDOR Stratum_stack_dependent_template)
  SUBTYPE OF (Structured_template);
  location : template_arrangement;
END_ENTITY;
(*

Attribute definitions:

location: specifies the role of the template_arrangement for the Multi_stratum_structured_template.

4.3.12 Padstack_definition   EXPRESS-GMapping table

A Padstack_definition is a type of Multi_stratum_structured_template. A Padstack_definition may be a Passage_padstack_definition

EXPRESS specification:

*)
ENTITY Padstack_definition
  SUPERTYPE OF (Passage_padstack_definition)
  SUBTYPE OF (Multi_stratum_structured_template);
WHERE
  WR1: NOT('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.PASSAGE_PADSTACK_DEFINITION' IN TYPEOF(SELF)) XOR (SIZEOF(QUERY(tlict <* SELF\Structured_template.templates | ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.INTER_STRATUM_FEATURE_TEMPLATE_LOCATION' IN TYPEOF(tlict)))) > 0);
  WR2: SIZEOF(QUERY(tlict <* SELF\Structured_template.templates | (NOT ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.INTER_STRATUM_FEATURE_TEMPLATE_LOCATION' IN TYPEOF(tlict))) AND (NOT ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_SPECIFIC_TEMPLATE_LOCATION' IN TYPEOF(tlict))))) = 0;
END_ENTITY;
(*

Formal propositions:

WR1: The Product refered by of_product of defined_version shall be assigned by Product_category_assignment to at least one Product_category with name 'template model'.

WR2: The Inter_stratum_feature_template_location is allowed to be a member of templates only for Passage_padstack_definition.

Informal propositions:

IP1: The interpretation of Padstack_definition for an implementation that is converting the hierarchical representation in Padstack_definition into a flat design description shall be that in the context of a Padstack_definition only one template of a specific type shall reference a specific stratum technology or stratum technology occurrence.

NOTE    The intent of Informal Proposition three is to eliminate ambiguity for post-processors because there is no way to distinguish between templates that reference the same stratum technology or stratum technology occurence. Because there is no way to distinguish between those templates, having multiple templates available during the conversion of the hierachical representation to a flat design description would lead to inconsistent conversion results between different post-processor implementations.

4.3.13 Part_template_keepout_shape_allocation_to_stratum_stack   EXPRESS-GMapping table

A Part_template_keepout_shape_allocation_to_stratum_stack is an allocation of a specific Part_template_keepout_shape_model to a subset of a stackup model.

EXPRESS specification:

*)
ENTITY Part_template_keepout_shape_allocation_to_stratum_stack;
  keepout_shape : Part_template_keepout_shape_model;
  kept_out_layers : SET[1:?] OF Stratum_technology_occurrence;
DERIVE
  swappable : LOGICAL := (keepout_shape.shape_characterized_definition\Multi_stratum_structured_template.location = template_arrangement.swappable);
  stack_model : Library_stack_model := keepout_shape.shape_characterized_definition\Stratum_stack_dependent_template.stack;
UNIQUE
  UR1: keepout_shape, stack_model;
WHERE
  WR1: keepout_shape.constrained_design_object_category IN [keepout_product_design_object_category.interconnect_module_via, keepout_product_design_object_category.interconnect_module_inter_stratum_feature, keepout_product_design_object_category.interconnect_module_cutout, keepout_product_design_object_category.interconnect_module_fill_area, keepout_product_design_object_category.interconnect_module_stratum_feature];
  WR2: 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE' IN TYPEOF(keepout_shape.shape_characterized_definition);
  WR3: kept_out_layers = kept_out_layers * stack_model\Stratum_stack_model.composing_occurrence;
END_ENTITY;
(*

Attribute definitions:

keepout_shape: specifies the role of the Part_template_keepout_shape_model for the Part_template_keepout_shape_allocation_to_stratum_stack.

kept_out_layers: specifies the role of the Stratum_technology_occurrence for the Part_template_keepout_shape_allocation_to_stratum_stack. There shall exist one or more Stratum_technology_occurrences for the Part_template_keepout_shape_allocation_to_stratum_stack.

swappable: if swappable is true, then Stratum_technology_occurrences specified in kept_out_layers will be swapped in accordance with the appropriate Stratum_technology_occurrence_swap_relationships, when an instance of the product represented by keepout_shape is placed on the bottom side of the board. If swappable is not true then the Stratum_technology_occurrence_swap_relationship shall be ignored as no swapping is allowed.

NOTE    The Stratum_technology_occurrence_swap_relationships are the specification of the swapping to be performed when permitted by the swappable attribute.

stack_model: specifies the role of the Library_stack_model for the Part_template_keepout_shape_allocation_to_stratum_stack.

Formal propositions:

UR1: The keepout_shape shall be unique within a population of Part_template_keepout_shape_allocation_to_stratum_stack.

WR1: The constrained_design_object_category of keepout_shape shall be set to one of: interconnect_module_via, interconnect_module_inter_stratum_feature, interconnect_module_cutout, interconnect_module_fill_area, interconnect_module_stratum_feature.

WR2: Only a Stratum_stack_dependent_template shall be in the role of shape_characterized_definition for the shape referenced by the keepout_shape.

WR3: The kept_out_layers shall be a subset of the composing_occurrence of the stack_model.

4.3.14 Part_template_planar_keepout_shape_model   EXPRESS-GMapping table

A Part_template_planar_keepout_shape_model is a type of Planar_shape_model, Non_feature_shape_model and Part_template_keepout_shape_model. A Part_template_planar_keepout_shape_model is the projected shape of a keepout region around the Template_definition in two dimensions.

NOTE 1   Keepout regions typically include some minimal spacing around the extreme shape represented by Part_template_planar_shape_model where the exact relationship between the two shapes is unrecorded.

NOTE 2   There may be multiple Part_template_planar_keepout_shape_model for a particular purpose. The recommended method to aggregate several Part_template_planar_keepout_shape_model that together describe a volumetric constraint is to reference them from a member of Shape_and_view_based_constraint_occurrence.

EXPRESS specification:

*)
ENTITY Part_template_planar_keepout_shape_model
  SUBTYPE OF (Planar_shape_model, Non_feature_shape_model, Part_template_keepout_shape_model);
  SELF\Non_feature_shape_model.model_shape : Part_template_planar_shape_model;
DERIVE
  application_technology_constraint : SET[0:?] OF Requirement_view_definition := get_rvd(SELF, 'application technology constraint');
WHERE
  WR1: (SIZEOF(application_technology_constraint) <= 1);
  WR2: NOT EXISTS(SELF\Representation.description);
END_ENTITY;
(*

Attribute definitions:

model_shape: an attribute inherited from the Non_feature_shape_model shall be redeclared as the Part_template_planar_shape_model for the Part_template_planar_keepout_shape_model.

application_technology_constraint: specifies the Requirement_view_definition that is refered by assigned_requirement of Requirement_assignment that has id set to 'application technology constraint' and refers this Part_template_planar_keepout_shape_model as assigned_to.

Formal propositions:

WR1: If application_technology_constraint exists, then it's size shall be one.

WR2: The description shall not be populated.

4.3.15 Part_template_planar_shape_model   EXPRESS-GMapping table

A Part_template_planar_shape_model is a type of Planar_projected_shape_model and a type of Part_template_shape_model. A Part_template_planar_shape_model is the planar shape of a Template_definition.

EXPRESS specification:

*)
ENTITY Part_template_planar_shape_model
  SUBTYPE OF (Planar_projected_shape_model, Part_template_shape_model);
WHERE
  WR1: NOT EXISTS(SELF\Representation.description);
END_ENTITY;
(*

Formal propositions:

WR1: The description shall not be populated.

4.3.16 Passage_padstack_definition   EXPRESS-GMapping table

A Passage_padstack_definition is a type of Padstack_definition that references a specific Passage_technology. Passage_padstack_definition inherits from Structured_template the ability to specify dependency between elements in the structure with the effect that the items defined by the dependent elements shall be populated in a design in accordance with the structure.

NOTE 1   The specific Passage_technology. is identified by following the path that starts at the Inter_stratum_feature_template_location in the role of reference_isft.

NOTE 2   Dependent_template_location_in_padstack_definition is populated to describe the dependency relationship between members of the structure of a Passage_padstack_definition.

EXAMPLE 1   A Passage_padstack_definition includes a passage, several land templates and several soldermask templates. There is a Dependent_template_location_in_padstack_definition that would reference the land template assembly relationship Template_location_in_structured_template as a reference_location so as to communicate that soldermask opening is required when the land is instantiated in the design.

EXAMPLE 2   A Passage_padstack_definition includes a passage, several land templates and several electrical isolation templates. One electrical isolation template is previously established as being a Dependent_electrical_isolation_removal_template with the relationship associated_item referencing a land template. During construction of the Passage_padstack_definition there is a reference_location established between the electrical isolation template assembly relationship and a land template assembly relationship so as to communicate that electrical isolation opening is required when the land is instantiated in the design on a power layer where the signal value is different between the land and the power layer.

EXAMPLE 3   A Passage_padstack_definition includes a passage, several land templates and several electrical isolation templates. One electrical isolation template is previously established as being a Dependent_electrical_isolation_removal_template with the relationship associated_item referencing an inter stratum feature template. During construction of the Passage_padstack_definition there is a reference_location established between the electrical isolation template assembly relationship and an inter stratum feature template assembly relationship so as to communicate that electrical isolation opening is required when the passage is instantiated in the design and passes through a power layer where the signal value is different between the passage and the power layer.

EXAMPLE 4   A Passage_padstack_definition includes a passage, several land templates and several thermal isolation templates. One thermal isolation template is previously established as being a Dependent_thermal_isolation_removal_template with the relationship associated_item referencing a land template. During construction of the Passage_padstack_definition there is a reference_location established between the thermal isolation template assembly relationship and a land template assembly relationship so as to communicate that thermal isolation is required when the land is instantiated in the design on a power layer where the signal of the land and the power layer are the same.

NOTE 3   Population constraints exist on Dependent_template_location_in_padstack_definition to ensure that when a Dependent_electrical_isolation_removal_template or a Dependent_thermal_isolation_removal_template is included in a Passage_padstack_definition, the corresponding template referenced by reference_location is included in the construction of the same Passage_padstack_definition.

EXPRESS specification:

*)
ENTITY Passage_padstack_definition
  SUBTYPE OF (Padstack_definition);
INVERSE
  reference_isft : Inter_stratum_feature_template_location FOR assembly;
WHERE
  WR1: NOT(('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRUCTURED_INTER_STRATUM_FEATURE_TEMPLATE' IN TYPEOF(reference_isft.template)) XOR ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.COMPLEX_PASSAGE_PADSTACK_DEFINITION' IN TYPEOF(SELF)));
END_ENTITY;
(*

Attribute definitions:

reference_isft: specifies an inverse relationship that specifies that the existence of the Passage_padstack_definition is dependent on the existence of the Inter_stratum_feature_template_location that specifies the Passage_padstack_definition as its assembly.

Formal propositions:

WR1: Passage_padstack_definition shall be a Complex_passage_padstack_definition if and only if reference_isft.template is a Structured_inter_stratum_feature_template.

Informal propositions:

IP1: The interpretation of Passage_padstack_definition for an implementation that is converting the hierarchical representation in Passage_padstack_definition into a flat design description shall be that a land shall be instantiated only on those stratum that are allocated to the passage by a member of Passage_technology_allocation_to_stack_model and that have a Stratum_specific_template_location provided for that stratum technology.

IP2: The interpretation of Passage_padstack_definition for an implementation that is converting the hierarchical representation in Passage_padstack_definition into a flat design description after Informal Proposition 1 is applied is to iterate over all Stratum_specific_template_location found in applying Informal Proposition 1 and for each member found, find all Dependent_template_location_in_padstack_definition that reference that member of Stratum_specific_template_location and instantiate a feature on each stratum that specifies the same stratum technology as specified by the Stratum_specific_template_location.

4.3.17 Physical_unit_keepout_shape_allocation_to_stratum_stack   EXPRESS-GMapping table

A Physical_unit_keepout_shape_allocation_to_stratum_stack is an allocation of a specific Physical_unit_keepout_shape_model to a subset of a stackup model.

NOTE 1   The purpose is to allow a generic keepout model in a package library while retaining the ability to associate specific keepout models to specific technologies.

EXAMPLE    All layer 1 through 6 Vias may be kept out of a specific point domain of a specific stackup model established by a keepout model of a package using Physical_unit_keepout_shape_allocation_to_stratum_stack. In this example the point domain applies in a design system to the horizontal extent in the appropriate stratum surrounding the placement of the footprint related to the package in the interconnect design.

EXPRESS specification:

*)
ENTITY Physical_unit_keepout_shape_allocation_to_stratum_stack;
  keepout_shape : Physical_unit_keepout_shape_model;
  stack_model : Library_stack_model;
  swappable : BOOLEAN;
  kept_out_layers : SET[1:?] OF Stratum_technology_occurrence;
UNIQUE
  UR1: keepout_shape, stack_model;
WHERE
  WR1: keepout_shape\Physical_unit_keepout_shape_model.constrained_design_object_category IN [keepout_product_design_object_category.interconnect_module_via, keepout_product_design_object_category.interconnect_module_inter_stratum_feature, keepout_product_design_object_category.interconnect_module_cutout, keepout_product_design_object_category.interconnect_module_fill_area, keepout_product_design_object_category.interconnect_module_stratum_feature];
END_ENTITY;
(*

Attribute definitions:

keepout_shape: specifies the role of the Physical_unit_keepout_shape_model for the Physical_unit_keepout_shape_allocation_to_stratum_stack.

stack_model: specifies the role of the Library_stack_model for the Physical_unit_keepout_shape_allocation_to_stratum_stack.

swappable: if swappable is true, then Stratum_technology_occurrences specified in kept_out_layers will be swapped in accordance with the appropriate Stratum_technology_occurrence_swap_relationships, when an instance of the product represented by keepout_shape is placed on the bottom side of the board. If swappable is not true then the Stratum_technology_occurrence_swap_relationship shall be ignored as no swapping is allowed.

NOTE 2   The Stratum_technology_occurrence_swap_relationships are the specification of the swapping to be performed when permitted by the swappable attribute.

kept_out_layers: specifies the role of the Stratum_technology_occurrence for the Physical_unit_keepout_shape_allocation_to_stratum_stack. There shall exist one or more Stratum_technology_occurrences for the Physical_unit_keepout_shape_allocation_to_stratum_stack.

Formal propositions:

UR1: The combination of keepout_shape and stack_model shall be unique within a population of Physical_unit_keepout_shape_allocation_to_stratum_stacks.

WR1: The constrained_design_object_category of keepout_shape shall be set to one of: interconnect_module_via, interconnect_module_inter_stratum_feature, interconnect_module_cutout, interconnect_module_fill_area, interconnect_module_stratum_feature.

4.3.18 Physical_unit_keepout_shape_allocation_to_stratum_technology   EXPRESS-GMapping table

A Physical_unit_keepout_shape_allocation_to_stratum_technology is is an allocation of a specific Physical_unit_keepout_shape_model to a subset of keep out technologies.

EXPRESS specification:

*)
ENTITY Physical_unit_keepout_shape_allocation_to_stratum_technology;
  keepout_shape : Physical_unit_keepout_shape_model;
  kept_out_technologies : SET[1:?] OF Stratum_technology;
WHERE
  WR1: keepout_shape\Physical_unit_keepout_shape_model.constrained_design_object_category IN [keepout_product_design_object_category.interconnect_module_via, keepout_product_design_object_category.interconnect_module_inter_stratum_feature, keepout_product_design_object_category.interconnect_module_cutout, keepout_product_design_object_category.interconnect_module_fill_area, keepout_product_design_object_category.interconnect_module_stratum_feature];
END_ENTITY;
(*

Attribute definitions:

keepout_shape: specifies the role of the Physical_unit_keepout_shape_model for the Physical_unit_keepout_shape_allocation_to_stratum_technology.

kept_out_technologies: specifies the role of the Stratum_technology for the Physical_unit_keepout_shape_allocation_to_stratum_technology. There shall exist one or more Stratum_technologies for the Physical_unit_keepout_shape_allocation_to_stratum_technology.

Formal propositions:

WR1: The constrained_design_object_category of keepout_shape shall be set to one of: interconnect_module_via, interconnect_module_inter_stratum_feature, interconnect_module_cutout, interconnect_module_fill_area, interconnect_module_stratum_feature.

4.3.19 Single_stratum_special_symbol_template   EXPRESS-GMapping table

A Single_stratum_special_symbol_template is a type of Single_stratum_structured_template and a type of Special_symbol_template.

EXPRESS specification:

*)
ENTITY Single_stratum_special_symbol_template
  SUBTYPE OF (Single_stratum_structured_template, Special_symbol_template);
END_ENTITY;
(*

4.3.20 Single_stratum_structured_template   EXPRESS-GMapping table

A Single_stratum_structured_template is a type of Structured_template and a type of Single_stratum_template. A Single_stratum_structured_template is either a Material_removal_structured_template or a Single_stratum_special_symbol_template.

EXPRESS specification:

*)
ENTITY Single_stratum_structured_template
  ABSTRACT SUPERTYPE OF (ONEOF (Material_removal_structured_template,
                                Single_stratum_special_symbol_template))
  SUBTYPE OF (Structured_template, Single_stratum_template);
WHERE
  WR1: SIZEOF (QUERY(tp <* SELF\Structured_template.templates | NOT ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.SINGLE_STRATUM_TEMPLATE' IN TYPEOF(tp.template)) )) = 0;
END_ENTITY;
(*

Formal propositions:

WR1: Only Single_stratum_template shall help to compose a Single_stratum_structured_template.

4.3.21 Special_symbol_template   EXPRESS-GMapping table

A Special_symbol_template is a type of Template_definition. A Special_symbol_template is either a Single_stratum_special_symbol_template or a Multi_stratum_special_symbol_template.

EXPRESS specification:

*)
ENTITY Special_symbol_template
  ABSTRACT SUPERTYPE OF (ONEOF (Single_stratum_special_symbol_template,
                                Multi_stratum_special_symbol_template))
  SUBTYPE OF (Template_definition);
END_ENTITY;
(*

4.3.22 Stratum_specific_template_location   EXPRESS-GMapping table

A Stratum_specific_template_location is a type of Template_location_in_structured_template that binds the location in the template shape to a specific technology or technology occurrence in a stackup model.

EXPRESS specification:

*)
ENTITY Stratum_specific_template_location
  SUBTYPE OF (Template_location_in_structured_template);
  bound_stratum : stratum_technology_occurrence_or_stratum_technology;
  SELF\Template_location_in_structured_template.template : Single_stratum_template;
WHERE
  WR1: NOT('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.DOCUMENTATION_LAYER_TECHNOLOGY' IN TYPEOF(bound_stratum)) OR (NOT EXISTS(bound_stratum\Documentation_layer_technology.pre_defined_documentation_layer_purpose) OR (NOT (bound_stratum\Documentation_layer_technology.pre_defined_documentation_layer_purpose = predefined_documentation_layer_purpose.soldermask) OR ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.MATERIAL_REMOVAL_FEATURE_TEMPLATE' IN TYPEOF(template))));
  WR2: NOT(('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(bound_stratum)) AND ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.DOCUMENTATION_LAYER_TECHNOLOGY' IN TYPEOF(bound_stratum\Stratum_technology_occurrence.definition))) OR (NOT EXISTS(bound_stratum\Stratum_technology_occurrence.definition\Documentation_layer_technology.pre_defined_documentation_layer_purpose) OR (NOT (bound_stratum\Stratum_technology_occurrence.definition\Documentation_layer_technology.pre_defined_documentation_layer_purpose = predefined_documentation_layer_purpose.soldermask) OR ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.MATERIAL_REMOVAL_FEATURE_TEMPLATE' IN TYPEOF(template))));
  WR3: NOT ('FABRICATION_TECHNOLOGY_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(bound_stratum)) OR ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE' IN TYPEOF(SELF\Template_location_in_structured_template.assembly));
END_ENTITY;
(*

Attribute definitions:

bound_stratum: specifies the role of the stratum_technology_occurrence_or_stratum_technology for the Stratum_specific_template_location.

template: an attribute inherited from the Template_location_in_structured_template shall be redeclared as the Single_stratum_template for the Stratum_specific_template_location.

Formal propositions:

WR1: If bound_stratum is of type Documentation_layer_technology and if its pre_defined_documentation_layer_purpose is set to soldermask, then type of template shall be Material_removal_feature_template.

WR2: If bound_stratum is of type Stratum_technology_occurrence and its definition is of type Documentation_layer_technology with pre_defined_documentation_layer_purpose set to soldermask, then type of template shall be Material_removal_feature_template.

WR3: If type of bound_stratum is Stratum_technology_occurrence, then type of assembly shall be Stratum_stack_dependent_template.

4.3.23 Stratum_stack_dependent_template   EXPRESS-GMapping table

A Stratum_stack_dependent_template is a type of Multi_stratum_structured_template. A Stratum_stack_dependent_template may be either a Complex_passage_padstack_definition or a Structured_inter_stratum_feature_template.

EXPRESS specification:

*)
ENTITY Stratum_stack_dependent_template
  SUPERTYPE OF (ONEOF (Complex_passage_padstack_definition,
                       Structured_inter_stratum_feature_template))
  SUBTYPE OF (Multi_stratum_structured_template);
  stack : Library_stack_model;
WHERE
  WR1: SIZEOF(QUERY(temp <* SELF\Structured_template.templates | ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_SPECIFIC_TEMPLATE_LOCATION' IN TYPEOF(temp)) AND (NOT ('FABRICATION_TECHNOLOGY_ARM.STRATUM_TECHNOLOGY_OCCURRENCE' IN TYPEOF(temp\Stratum_specific_template_location.bound_stratum)) OR NOT (temp\Stratum_specific_template_location.bound_stratum IN stack\Stratum_stack_model.composing_occurrence) ))) = 0;
  WR2: TYPEOF(SELF) <> ['LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRATUM_STACK_DEPENDENT_TEMPLATE', 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.MULTI_STRATUM_STRUCTURED_TEMPLATE', 'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.STRUCTURED_TEMPLATE', 'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.GEOMETRIC_TEMPLATE', 'PART_TEMPLATE_ARM.TEMPLATE_DEFINITION', 'PRODUCT_VIEW_DEFINITION_ARM.PRODUCT_VIEW_DEFINITION'];
END_ENTITY;
(*

Attribute definitions:

stack: specifies the role of the Library_stack_model for the Stratum_stack_dependent_template.

Formal propositions:

WR1: All templates that are of type Stratum_specific_template_location shall have Stratum_technology_occurrence in role of bound_stratum and that Stratum_technology_occurrence shall be a member of composing_occurrence of stack.

WR2: At least one other Application Object instance shall help compose an instance of Stratum_stack_dependent_template.

4.3.24 Structured_inter_stratum_feature_template   EXPRESS-GMapping table

A Structured_inter_stratum_feature_template is a type of Inter_stratum_feature_template and a type of Stratum_stack_dependent_template.

EXPRESS specification:

*)
ENTITY Structured_inter_stratum_feature_template
  SUBTYPE OF (Inter_stratum_feature_template, Stratum_stack_dependent_template);
END_ENTITY;
(*

4.3.25 Structured_template   EXPRESS-GMapping table

A Structured_template is a type of Geometric_template. A Structured_template is either a Single_stratum_structured_template or a Multi_stratum_structured_template.

EXPRESS specification:

*)
ENTITY Structured_template
  ABSTRACT SUPERTYPE OF (ONEOF (Single_stratum_structured_template,
                                Multi_stratum_structured_template))
  SUBTYPE OF (Geometric_template);
DERIVE
  empty : LOGICAL := (SIZEOF(templates) = 0);
INVERSE
  SELF\Geometric_template.shapes : SET[1:?] OF Structured_template_planar_shape_model FOR shape_characterized_definition;
  templates : SET[0:?] OF Template_location_in_structured_template FOR assembly;
END_ENTITY;
(*

Attribute definitions:

empty: specifies that the number of templates that compose the Structured_template is zero when the value is true. A Structured_template whose empty attribute is true is an incompletely modeled structure.

NOTE 1   For consistent design flow processing it may be necessary to populate a Structured_template in order to convey a type declaration even though the actual contents is not available until later in the design flow.

NOTE 2   For archival storage it would be abnormal for the empty attribute to be true.

shapes: an inverse relationship that specifies that the existence of the Structured_template is dependent on the existence of the Structured_template_planar_shape_model that specifies the Structured_template as its shape_characterized_definition. There shall be one or more Structured_template_planar_shape_models for a Structured_template.

templates: an inverse relationship that specifies that the existence of the Structured_template is dependent on the existence of the Template_location_in_structured_template that specifies the Structured_template as its assembly. There shall be one or more Template_location_in_structured_templates for a Structured_template.

4.3.26 Structured_template_planar_shape_model   EXPRESS-GMapping table

A Structured_template_planar_shape_model is a type of Part_template_planar_shape_model.

EXPRESS specification:

*)
ENTITY Structured_template_planar_shape_model
  SUBTYPE OF (Part_template_planar_shape_model);
  SELF\Part_template_shape_model.shape_characterized_definition : SET[1:1] OF Structured_template;
END_ENTITY;
(*

Attribute definitions:

shape_characterized_definition: an attribute inherited from the Part_template_planar_shape_model shall be redeclared as the Structured_template for the Structured_template_planar_shape_model. There shall exist exactly one Structured_template for the Structured_template_planar_shape_model.

4.3.27 Template_location_in_structured_template   EXPRESS-GMapping table

A Template_location_in_structured_template is the relationship that identifies the location of a Template_definition in a Structured_template. A Template_location_in_structured_template may be an Inter_stratum_feature_template_location or a Stratum_specific_template_location. There is exactly one Template_location_in_structured_template_transform allowed to reference a Template_location_in_structured_template. There is an optional reference to the parametric data necessary to define the shape of material to be added at the intersection of the assembly occurrence and the trace that intersects that occurrence. A parametric model is provided and not an explicit shape model because the actual angle the trace makes with respect to the assembly occurrence is unknown, and there may be more than one intersection. This model only provides support for one parametric configuration for this data for the Template_location_in_structured_template. In the event that trimming of a shape between the trace and the assembly occurrence is to be exchanged, the use of an instance in the design of Material_removal_feature_template is appropriate. If the transform attribute exists, then the parametric data shall not be provided. If the parametric data is provided, the transform shall not be provided.

NOTE    The Padstack_definition is a geometric shape concept with the result that this requires exactly one shape for the Template_definition used in a location.

EXPRESS specification:

*)
ENTITY Template_location_in_structured_template
  SUPERTYPE OF (ONEOF (Inter_stratum_feature_template_location,
                       Stratum_specific_template_location));
  assembly : Structured_template;
  template : Template_definition;
  reference_designation : STRING;
  placement_status : template_location_placement_status;
INVERSE
  transform : SET[0:?] OF Template_location_in_structured_template_transform FOR reference_location;
UNIQUE
  UR1: assembly, reference_designation;
WHERE
  WR1: (SIZEOF(transform) > 0) XOR ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.TEARDROP_TEMPLATE' IN TYPEOF(template));
  WR2: NOT ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.INTER_STRATUM_FEATURE_TEMPLATE' IN TYPEOF(template)) OR ('LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.INTER_STRATUM_FEATURE_TEMPLATE_LOCATION' IN TYPEOF(SELF));
  WR3: SIZEOF(['LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.TEARDROP_TEMPLATE', 'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.GEOMETRIC_TEMPLATE'] * TYPEOF(template)) > 0;
END_ENTITY;
(*

Attribute definitions:

assembly: specifies the Structured_template for the Template_location_in_structured_template.

template: specifies the Template_definition for the Template_location_in_structured_template.

reference_designation: specifies the text that describes the Template_location_in_structured_template.

placement_status: specifies the role of the template_location_placement_status for the Template_location_in_structured_template.

transform: an inverse relationship that specifies that the existence of the Template_location_in_structured_template is dependent on the existence of the Template_location_in_structured_template_transform that specifies the Template_location_in_structured_template as its reference_location. There shall be zero or one Template_location_in_structured_template_transform for a Template_location_in_structured_template.

Formal propositions:

UR1: The combination of assembly and reference_designation shall be unique within a population of Template_location_in_structured_templates.

WR1: The transform shall not be provided if template is of type Teardrop_template and shall be provided otherwise.

WR2: The template shall not be of type Inter_stratum_feature_template, unless Inter_stratum_feature_template_location is in type of self.

WR3: The template shall be of type Geometric_template or Teardrop_template.

4.3.28 Template_location_in_structured_template_transform   EXPRESS-GMapping table

A Template_location_in_structured_template_transform is a type of Geometric_placement.

EXPRESS specification:

*)
ENTITY Template_location_in_structured_template_transform
  SUBTYPE OF (Geometric_placement);
  SELF\Geometric_placement_operation.template_definition RENAMED template_shape : Part_template_planar_shape_model;
  reference_location : Template_location_in_structured_template;
  assembly_shape : Structured_template_planar_shape_model;
  SELF\Geometric_placement.target RENAMED transform : Axis_placement_2d;
UNIQUE
  UR1: reference_location, assembly_shape;
WHERE
  WR1: assembly_shape.shape_characterized_definition[1] :=: reference_location.assembly;
END_ENTITY;
(*

Attribute definitions:

template_shape: specifies the Part_template_planar_shape_model for the Template_location_in_structured_template_transform.

reference_location: specifies the Template_location_in_structured_template for the Template_location_in_structured_template_transform.

assembly_shape: specifies the Structured_template_planar_shape_model for the Template_location_in_structured_template_transform.

transform: specifies the Axis_placement_2d for the Template_location_in_structured_template_transform.

Formal propositions:

UR1: The combination of reference_location and assembly_shape shall be unique within a population of Template_location_in_structured_template_transforms.

WR1: Any member of the shape_characterized_definition of template_shape shall refer same entity instance as template of reference_location.

4.3.29 Thermal_isolation_removal_template   EXPRESS-GMapping table

A Thermal_isolation_removal_template is a type of Material_removal_structured_template that describes the shape of material to be removed from a feature to satisfy a thermal isolation requirement.

EXAMPLE    Figure 2 illustrates a template and associated annotation designed for thermal isolation. For a specific template, the explicit geometry will be representative of the annotation values. The individual shapes are helping to compose the overall shape through the structure inherited from Material_removal_structured_template. The position datum is at the origin.



Figure 2 —  Thermal_isolation_removal_template supports thermal isolation and electrical conduction

Figure 2 —  Thermal_isolation_removal_template supports thermal isolation and electrical conduction

EXPRESS specification:

*)
ENTITY Thermal_isolation_removal_template
  SUBTYPE OF (Material_removal_structured_template);
DERIVE
  thermal_isolation_spacing_requirement : SET[0:?] OF Requirement_view_definition := get_rvd(SELF, 'thermal requirement');
WHERE
  WR1: SIZEOF(QUERY(tisr <* THERMAL_ISOLATION_SPACING_REQUIREMENT | NOT('INTERCONNECT_PHYSICAL_REQUIREMENT_ALLOCATION_ARM.THERMAL_ISOLATION_REQUIREMENT' IN TYPEOF(tisr)) )) =0;
END_ENTITY;
(*

Attribute definitions:

thermal_isolation_spacing_requirement: specifies the role of the Requirement_view_definition for the Thermal_isolation_removal_template. There shall exist one or more Requirement_view_definitions for the Thermal_isolation_removal_template.

Formal propositions:

WR1: The thermal_isolation_spacing_requirement shall be of type Thermal_isolation_requirement.

4.4 ARM subtype constraint definitions

This subclause specifies the ARM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The ARM subtype constraints and definitions are specified below.

4.4.1 lict_geometric_template_subtypes   EXPRESS-GMapping table

The lict_geometric_template_subtypes constraint specifies a constraint that applies to instances of Geometric_template and enforces the rule that its subtypes Continuous_template and Structured_template are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT lict_geometric_template_subtypes FOR Geometric_template;
  ONEOF (Continuous_template,
         Structured_template);
END_SUBTYPE_CONSTRAINT;
(*

4.4.2 stratum_stack_model_subtypes   EXPRESS-GMapping table

The stratum_stack_model_subtypes constraint specifies a constraint that applies to instances of Stratum_stack_model and enforces the rule that its subtypes Design_stack_model and Library_stack_model are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT stratum_stack_model_subtypes FOR Stratum_stack_model;
  ONEOF (Design_stack_model,
         Library_stack_model);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.5.1 acyclic_library_to_design_stack_model_mapping

The acyclic_library_to_design_stack_model_mapping function determines whether the graph of instances of the Application Object type Library_to_design_stack_model_mapping that contains relation as one of its links contains a cycle. This function may be used to evaluate Library_to_design_stack_model_mapping or any of it's subtypes.

EXPRESS specification:

*)
FUNCTION acyclic_library_to_design_stack_model_mapping (relation : Library_to_design_stack_model_mapping; relatives : SET[1:?] OF Stratum_stack_model; specific_relation : STRING) : BOOLEAN;
LOCAL
      x : SET OF Library_to_design_stack_model_mapping := [];
  END_LOCAL;

      IF relation.relating_view IN relatives THEN
        RETURN (FALSE);
      END_IF;
        x := QUERY(pd <* bag_to_set(USEDIN(relation.relating_view,
          'LAYERED_INTERCONNECT_COMPLEX_TEMPLATE_ARM.' +
          'LIBRARY_TO_DESIGN_STACK_MODEL_MAPPING.' +
          'RELATED_VIEW')) | specific_relation IN TYPEOF(pd));
      REPEAT i := 1 TO HIINDEX(x);
        IF NOT acyclic_library_to_design_stack_model_mapping(x[i], relatives +
          relation.relating_view, specific_relation) THEN
          RETURN (FALSE);
        END_IF;
      END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: the specified Library_to_design_stack_model_mapping.

relatives: the set of specified Design_stack_model.

specific_relation: the specified STRING.



*)
END_SCHEMA;  -- Layered_interconnect_complex_template_arm
(*


© ISO 2018 — All rights reserved