Application module: Land | ISO/TS 10303-1692:2018-11(E) © ISO |
This clause specifies the information requirements for the Land 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 Land_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Land_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Layered_interconnect_module_design_arm;
--
ISO/TS 10303-1698
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_module_design_arm ISO/TS 10303-1698 Support_resource_arm ISO/TS 10303-1800
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
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.
A Contact_size_dependent_land is a type of Land whose shape is dependent on the size of the contact area of the Component_terminal that will be joined to the Contact_size_dependent_land in the assembly. A Contact_size_dependent_land is a feature in the design view that is designed to implement an interface terminal of an interconnect. Each Contact_size_dependent_land has a Component_terminal_to_interconnect_module_interface_terminal_assignment that associates the Contact_size_dependent_land with the Interconnect_module_interface_terminal that is the usage view feature. The location of the Contact_size_dependent_land is dependent on the location of the Interconnect_module_interface_terminal it is associated with. The location is represented by a Dependently_located_layer_connection_point that references the Interconnect_module_interface_terminal as it's associated_design_object. In the case that there is a Conductive_interconnect_element connected to the Contact_size_dependent_land, the location of the Conductive_interconnect_element_terminal co-located with the Contact_size_dependent_land is also defined by that same Dependently_located_layer_connection_point.
EXAMPLE Figure 1 is a detail that illustrates the Contact_size_dependent_land in relationship to the terminal that mates with it.
NOTE 1 The path from the Contact_size_dependent_land to a Conductive_interconnect_element implementing internal connectivity is:
Table 1 — Reference path of Contact_size_dependent_land to a Conductive_interconnect_element
The path traverses the Component_terminal_to_interconnect_module_interface_terminal_assignment and also the Dependently_located_layer_connection_point. The path is represented with the mapping table syntax defined in clause 5 of this part of ISO 10303.
NOTE 2 There are no more than two Component_terminal_to_interconnect_module_interface_terminal_assignment for each Contact_size_dependent_land. In most scenarios there is exactly one Component_terminal_to_interconnect_module_interface_terminal_assignment for each Contact_size_dependent_land. There may be several Conductive_interconnect_element or Area_component associated with a Contact_size_dependent_land.
EXPRESS specification:
*)
ENTITY Contact_size_dependent_land
SUBTYPE OF (Land);
SELF\Definition_based_product_occurrence.derived_from : Default_attachment_size_based_land_physical_template;
INVERSE
external_access_mechanism : SET[1:2] OF Land_interface_terminal FOR associated_definition;
END_ENTITY;
(*
Attribute definitions:
derived_from: specifies a role of the Default_attachment_size_based_land_physical_template for the Contact_size_dependent_land.
external_access_mechanism: specifies an inverse relationship that specifies that the existence of the Contact_size_dependent_land is dependent on the existence of the Land_interface_terminal that specifies the Contact_size_dependent_land as its associated_definition. There shall be one or two Land_interface_terminals for a Contact_size_dependent_land.
EXPRESS specification:
*)
ENTITY Dependent_electrical_isolation_removal_component
SUBTYPE OF (Electrical_isolation_laminate_component);
SELF\Electrical_isolation_laminate_component.derived_from : Dependent_electrical_isolation_removal_template;
DERIVE
SELF\Material_removal_laminate_component.causal_item RENAMED associated_land : Land := land_get_associated_land_for_electrical_removal(SELF);
WHERE
WR1: associated_land\Definition_based_product_occurrence.derived_from :=:
SELF\Definition_based_product_occurrence.derived_from\Dependent_electrical_isolation_removal_template.associated_item;
WR2: NOT('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.MULTI_LAYER_MATERIAL_REMOVAL_LAMINATE_COMPONENT' IN TYPEOF(SELF));
WR3: associated_land\Land.functional = FALSE;
END_ENTITY;
(*
Attribute definitions:
derived_from: an attribute inherited from the Electrical_isolation_laminate_component shall be redeclared as the Dependent_electrical_isolation_removal_template for the Dependent_electrical_isolation_removal_component.
associated_land: specifies the role of the Land for the Dependent_electrical_isolation_removal_component.
Formal propositions:
WR1: The associated_land\Definition_based_product_occurrence.derived_from shall be equal to derived_from.associated_item.
WR2: A Dependent_electrical_isolation_removal_component shall not be a Multi_layer_material_removal_laminate_component.
WR3: The Land specified by associated_land shall not be a functional Land.
EXPRESS specification:
*)
ENTITY Dependent_thermal_isolation_removal_component
SUBTYPE OF (Thermal_isolation_removal_component);
SELF\Thermal_isolation_removal_component.derived_from : Dependent_thermal_isolation_removal_template;
DERIVE
associated_land : Land := land_get_associated_land_for_thermal_removal(SELF);
WHERE
WR1: associated_land\Definition_based_product_occurrence.derived_from :=:
SELF\Thermal_isolation_removal_component.derived_from\Dependent_thermal_isolation_removal_template.associated_item;
WR2: associated_land\Land.functional = TRUE;
END_ENTITY;
(*
Attribute definitions:
derived_from: an attribute inherited from the Definition_based_product_occurrence shall be redeclared as the Dependent_thermal_isolation_removal_template for the Dependent_thermal_isolation_removal_component.
associated_land: specifies a role of the Land for the Dependent_thermal_isolation_removal_component.
Formal propositions:
WR1: The associated_land\Definition_based_product_occurrence.derived_from shall be equal to derived_from.associated_item.
WR2: The Land specified by associated_land shall be a functional Land.
An Inter_stratum_feature_dependent_land is a type of Land included in the design to provide mechanical support to an Inter_stratum_feature or included in the design to provide a connection to an Inter_stratum_feature. An Inter_stratum_feature_dependent_land is either a Plated_passage_dependent_land or an Unsupported_passage_dependent_land.
NOTE 1 While it is illogical for a mechanical support Land to be connected to a Conductive_interconnect_element, it is possible due to design modifications.
NOTE 2 In the case that an Inter_stratum_feature_dependent_land is included in the design to support electrical connectivity and a Conductive_interconnect_element is attached to the Inter_stratum_feature_dependent_land, the path from the Inter_stratum_feature_dependent_land to the Conductive_interconnect_element is:
Table 2 — Reference path of Inter_stratum_feature_dependent_land to the Conductive_interconnect_element
The path traverses the Dependently_located_layer_connection_point. The path representation uses the syntax from Clause 5 of this part of ISO 10303.
EXPRESS specification:
*)
ENTITY Inter_stratum_feature_dependent_land
ABSTRACT SUPERTYPE
OF (ONEOF (Plated_passage_dependent_land,
Unsupported_passage_dependent_land))
SUBTYPE OF (Land);
SELF\Definition_based_product_occurrence.derived_from : Default_passage_based_land_physical_template;
END_ENTITY;
(*
Attribute definitions:
derived_from: specifies a role of the Default_passage_based_land_physical_template for the Inter_stratum_feature_dependent_land.
A Land is a type of Stratum_feature_template_component that is provided to support explicit geometric based interfaces to the wiring pattern on a layer in an interconnect or to provide mechanical support to a vertical structure. A Land may be a Contact_size_dependent_land, or an Inter_stratum_feature_dependent_land. A Land helps compose a Stratum_feature on a signal layer. A Land may be included in a design to provide mechanical support to a plated passage and therefore may not be part of a wiring pattern.
NOTE 1 The functional attribute provides a means to determine if a Land is included to provide an interface to a wiring pattern.
EXAMPLE Figure 22 of ISO/TS 10303-1698 illustrates a padstack that contains a Land.
NOTE 2 The Land type is typically only populated in the case that a pre-processor cannot determine which subtype of the Land should be populated. In the case that a pre-processor can determine what subtype is intended by the source system, the pre-processor should populate the most specific subtype.
NOTE 3 The Land type population in a complex design may be extensive. Implementations may wish to consider combining Land with other types in order to reduce population size.
EXPRESS specification:
*)
ENTITY Land
SUPERTYPE OF (ONEOF (Contact_size_dependent_land,
Inter_stratum_feature_dependent_land))
SUBTYPE OF (Stratum_feature_template_component);
alternate_land_definition :
OPTIONAL
Land_physical_template;
SELF\Definition_based_product_occurrence.derived_from : Land_physical_template;
DERIVE
functional : BOOLEAN := (SIZEOF(['LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.CONDUCTOR',
'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.CONNECTED_FILLED_AREA'] *
TYPEOF(SELF\Stratum_feature_template_component.implementation_or_resident_stratum)) = 1);
INVERSE
access_mechanism : SET[0:?] OF Land_join_terminal FOR associated_definition;
WHERE
WR1: NOT(functional) OR (SIZEOF(access_mechanism) > 0);
END_ENTITY;
(*
Attribute definitions:
alternate_land_definition: specifies one role of the Land_physical_template for the Land. The value of this attribute need not be specified.
derived_from: specifies the primary role of the Land_physical_template for the Land.
functional: specifies that the Land is not the only instance of Laminate_component contributing to the Stratum_feature referenced by the implementation_or_resident_stratum attribute inherited from the Stratum_feature_template_component.
access_mechanism: specifies an inverse relationship that specifies that the existence of the Land is dependent on the existence of the Land_join_terminal that specifies the Land as its associated_definition. There shall be zero or more Land_join_terminals for a Land. This relationship is for internal access only.
Formal propositions:
WR1: If Land is functional, then there shall be at least one member of access_mechanism.
NOTE 4 A Land that is only mechanical support to a plated passage is not functional and does not have terminals.
EXPRESS specification:
*)
ENTITY Land_interface_terminal
SUBTYPE OF (Laminate_component_interface_terminal);
SELF\Component_feature.definition : Land_template_interface_terminal;
SELF\Component_feature.associated_definition : Contact_size_dependent_land;
WHERE
WR1: NOT EXISTS(SELF\Shape_element.description);
END_ENTITY;
(*
Attribute definitions:
definition: specifies a role of the Land_template_interface_terminal for the Land_interface_terminal.
associated_definition: specifies a role of the Contact_size_dependent_land for the Land_interface_terminal.
Formal propositions:
WR1: The description shall not be populated.
EXPRESS specification:
*)
ENTITY Land_join_terminal
SUBTYPE OF (Laminate_component_join_terminal);
SELF\Component_feature.definition : Land_template_join_terminal;
SELF\Component_feature.associated_definition : Land;
WHERE
WR1: NOT EXISTS(SELF\Shape_element.description);
END_ENTITY;
(*
Attribute definitions:
definition: specifies a role of the Land_template_join_terminal for the Land_join_terminal.
associated_definition: specifies a role of the Land for the Land_join_terminal.
Formal propositions:
WR1: The description shall not be populated.
EXPRESS specification:
*)
ENTITY Land_with_join_terminal
SUBTYPE OF (Land, Land_join_terminal);
DERIVE
SELF\Component_feature.associated_definition : Land_with_join_terminal := SELF;
END_ENTITY;
(*
Attribute definitions:
associated_definition: an attribute inherited from the Component_feature shall be redeclared as the Land_with_join_terminal for the Land_with_join_terminal.
EXPRESS specification:
*)
ENTITY Plated_passage_dependent_land
SUBTYPE OF (Inter_stratum_feature_dependent_land);
reference_plated_passage : Plated_passage;
SELF\Definition_based_product_occurrence.derived_from : Default_plated_passage_based_land_physical_template;
END_ENTITY;
(*
Attribute definitions:
reference_plated_passage: specifies a role of the Plated_passage for the Plated_passage_dependent_land.
derived_from: specifies a role of the Default_plated_passage_based_land_physical_template for the Plated_passage_dependent_land.
EXPRESS specification:
*)
ENTITY Thermal_isolation_removal_component
SUBTYPE OF (Material_removal_structured_component);
SELF\Definition_based_product_occurrence.derived_from : Thermal_isolation_removal_template;
WHERE
WR1: NOT('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.MULTI_LAYER_MATERIAL_REMOVAL_LAMINATE_COMPONENT' IN TYPEOF(SELF));
END_ENTITY;
(*
Attribute definitions:
derived_from: an attribute inherited from the Definition_based_product_occurrence shall be redeclared as the Thermal_isolation_removal_template for theThermal_isolation_removal_component.
Formal propositions:
WR1: A Thermal_isolation_removal_component shall not be a Multi_layer_material_removal_laminate_component.
EXPRESS specification:
*)
ENTITY Unsupported_passage_dependent_land
SUBTYPE OF (Inter_stratum_feature_dependent_land);
reference_passage : Unsupported_passage;
SELF\Definition_based_product_occurrence.derived_from : Default_unsupported_passage_based_land_physical_template;
END_ENTITY;
(*
Attribute definitions:
reference_passage: specifies a role of the Unsupported_passage for the Unsupported_passage_dependent_land.
derived_from: specifies a role of the Default_unsupported_passage_based_land_physical_template for the Unsupported_passage_dependent_land.
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.
The l_laminate_component_interface_terminal_subtypes constraint specifies a constraint that applies to instances of Laminate_component_interface_terminal and enforces the rule that its subtypes Component_termination_passage_interface_terminal and Land_interface_terminal are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT l_laminate_component_interface_terminal_subtypes FOR Laminate_component_interface_terminal;
ONEOF (Component_termination_passage_interface_terminal,
Land_interface_terminal);
END_SUBTYPE_CONSTRAINT;
(*
The l_laminate_component_join_terminal_subtypes constraint specifies a constraint that applies to instances of Laminate_component_join_terminal and enforces the rule that its subtypes Component_termination_passage_join_terminal, Land_join_terminal and Embedded_physical_component_terminal are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT l_laminate_component_join_terminal_subtypes FOR Laminate_component_join_terminal;
ONEOF (Component_termination_passage_join_terminal,
Land_join_terminal,
Embedded_physical_component_terminal);
END_SUBTYPE_CONSTRAINT;
(*
The stratum_feature_template_component_subtypes constraint specifies a constraint that applies to instances of Stratum_feature_template_component and enforces the rule that its subtypes Area_component, Conductive_interconnect_element and Land are exclusive.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT stratum_feature_template_component_subtypes FOR Stratum_feature_template_component;
ONEOF (Area_component,
Conductive_interconnect_element,
Land);
END_SUBTYPE_CONSTRAINT;
(*
This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.
EXPRESS specification:
*)
FUNCTION land_get_associated_land_for_electrical_removal (input : Dependent_electrical_isolation_removal_component) : Land;
LOCAL assembly_relationships_for_associated_structure : SET OF Structured_layout_component_sub_assembly_relationship := []; assembly_relationship : SET OF Structured_layout_component_sub_assembly_relationship := bag_to_set(USEDIN(input, 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP.RELATED_VIEW')); associated_structure : Structured_layout_component; first_location : Template_location_in_structured_template := assembly_relationship[1]\Structured_layout_component_sub_assembly_relationship.first_location; resident_stratum : stratum; resident_sftc : Stratum_feature_template_component; END_LOCAL; --determine resident_stratum; --critical to just use resident stratum as the individual design intents might be against different stratum features (different power areas). --address the multiple design intents here --use the last stratum found REPEAT i := 1 TO SIZEOF(input\Material_removal_laminate_component.design_intent) BY 1; CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM' IN TYPEOF(input\Material_removal_laminate_component.design_intent[i])) : resident_stratum := input\Material_removal_laminate_component.design_intent[i]; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE_TEMPLATE_COMPONENT' IN TYPEOF(input\Material_removal_laminate_component.design_intent[i])) : BEGIN resident_sftc := input\Material_removal_laminate_component.design_intent[i]; CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE' IN TYPEOF(resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum)) : resident_stratum := resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum\Stratum_feature.resident_stratum; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM' IN TYPEOF(resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum)) : resident_stratum := resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum; OTHERWISE : RETURN(?); END_CASE; END; OTHERWISE : RETURN(?); END_CASE; END_REPEAT; --determine first_location; --if there is more than one assembly_relationship return UNKNOWN; IF SIZEOF(assembly_relationship) <> 1 THEN RETURN(?); END_IF; --determine associated_land; --associated land is on same stratum; associated_structure := assembly_relationship[1]\Structured_layout_component_sub_assembly_relationship.relating_view; assembly_relationships_for_associated_structure := bag_to_set(USEDIN(associated_structure, 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP.RELATING_VIEW')) - assembly_relationship; --this assembly relationship is excluded since we are querying for other relationships CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.FOOTPRINT_OCCURRENCE' IN TYPEOF(associated_structure)) : --if part of footprint then associated_land has same first_location; BEGIN REPEAT i := 1 TO SIZEOF(assembly_relationships_for_associated_structure) BY 1; IF ((first_location :=: assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.first_location) AND ('LAND_ARM.LAND' IN TYPEOF(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view)) AND (assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view\Stratum_feature_template_component.resident_stratum :=: resident_stratum)) THEN RETURN(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view); END_IF; END_REPEAT; --if no land is found return UNKNOWN. RETURN(?); END; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.PADSTACK_OCCURRENCE' IN TYPEOF(associated_structure)) : BEGIN REPEAT i := 1 TO SIZEOF(assembly_relationships_for_associated_structure) BY 1; IF (('LAND_ARM.LAND' IN TYPEOF(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view)) AND (assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view\Stratum_feature_template_component.resident_stratum :=: resident_stratum)) THEN RETURN(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view); END_IF; END_REPEAT; --if no land is found return UNKNOWN. RETURN(?); END; OTHERWISE : --if no land is found return UNKNOWN. RETURN(?); END_CASE;
END_FUNCTION;
(*
Argument definitions:
input: the specified Dependent_electrical_isolation_removal_component.
EXPRESS specification:
*)
FUNCTION land_get_associated_land_for_thermal_removal (input : Dependent_thermal_isolation_removal_component) : Land;
LOCAL assembly_relationships_for_associated_structure : SET OF Structured_layout_component_sub_assembly_relationship := []; assembly_relationship : SET OF Structured_layout_component_sub_assembly_relationship := bag_to_set(USEDIN(input, 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP.RELATED_VIEW')); associated_structure : Structured_layout_component; component_mrlc : SET OF Material_removal_laminate_component := []; component_relationship : SET OF Structured_layout_component_sub_assembly_relationship := bag_to_set(USEDIN(input, 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP.RELATING_VIEW')); first_location : Template_location_in_structured_template := assembly_relationship[1]\Structured_layout_component_sub_assembly_relationship.first_location; resident_stratum : stratum; resident_sftc : Stratum_feature_template_component; END_LOCAL; --determine resident_stratum; --critical to just use resident stratum as the individual isolation features might be against different stratum features (different power areas). REPEAT i := 1 TO SIZEOF(component_relationship) BY 1; component_mrlc := component_mrlc + component_relationship[i]\Structured_layout_component_sub_assembly_relationship.related_view; END_REPEAT; CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM' IN TYPEOF(component_mrlc[1]\Material_removal_laminate_component.design_intent[1])) : resident_stratum := component_mrlc[1]\Material_removal_laminate_component.design_intent[1]; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE_TEMPLATE_COMPONENT' IN TYPEOF(component_mrlc[1]\Material_removal_laminate_component.design_intent[1])) : BEGIN resident_sftc := component_mrlc[1]\Material_removal_laminate_component.design_intent[1]; CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE' IN TYPEOF(resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum)) : resident_stratum := resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum\Stratum_feature.resident_stratum; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM' IN TYPEOF(resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum)) : resident_stratum := resident_sftc\Stratum_feature_template_component.implementation_or_resident_stratum; OTHERWISE : RETURN(?); END_CASE; END; OTHERWISE : RETURN(?); END_CASE; --determine first_location; --if there is more than one assembly_relationship return UNKNOWN; IF SIZEOF(assembly_relationship) <> 1 THEN RETURN(?); END_IF; --determine associated_land; --associated land is on same stratum; associated_structure := assembly_relationship[1]\Structured_layout_component_sub_assembly_relationship.relating_view; assembly_relationships_for_associated_structure := bag_to_set(USEDIN(associated_structure, 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRUCTURED_LAYOUT_COMPONENT_SUB_ASSEMBLY_RELATIONSHIP.RELATING_VIEW')) - assembly_relationship; --this assembly relationship is excluded since we are querying for other relationships CASE TRUE OF ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.FOOTPRINT_OCCURRENCE' IN TYPEOF(associated_structure)) : --if part of footprint then associated_land has same first_location; BEGIN REPEAT i := 1 TO SIZEOF(assembly_relationships_for_associated_structure) BY 1; IF ((first_location :=: assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.first_location) AND ('LAND_ARM.LAND' IN TYPEOF(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view)) AND (assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view\Stratum_feature_template_component.resident_stratum :=: resident_stratum)) THEN RETURN(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view); END_IF; END_REPEAT; --if no land is found return UNKNOWN. RETURN(?); END; ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.PADSTACK_OCCURRENCE' IN TYPEOF(associated_structure)) : BEGIN REPEAT i := 1 TO SIZEOF(assembly_relationships_for_associated_structure) BY 1; IF (('LAND_ARM.LAND' IN TYPEOF(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view)) AND (assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view\Stratum_feature_template_component.resident_stratum :=: resident_stratum)) THEN RETURN(assembly_relationships_for_associated_structure[i]\Structured_layout_component_sub_assembly_relationship.related_view); END_IF; END_REPEAT; --if no land is found return UNKNOWN. RETURN(?); END; OTHERWISE : --if no land is found return UNKNOWN. RETURN(?); END_CASE;
END_FUNCTION;
(*
Argument definitions:
input: the specified Dependent_thermal_isolation_removal_component.
*)
END_SCHEMA; -- Land_arm
(*
© ISO 2018 — All rights reserved