Application module: Layered interconnect module with printed component design ISO/TS 10303-1700: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 definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definition
     5.2.2 MIM entity definitions
     5.2.3 MIM subtype constraint 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 module with printed component design 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_module_with_printed_component_design_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Layered_interconnect_module_with_printed_component_design_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 Printed_physical_layout_template_arm;    --  ISO/TS 10303-1737

USE FROM Land_arm;    --  ISO/TS 10303-1692

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:

Printed_physical_layout_template_arm ISO/TS 10303-1737
Land_arm ISO/TS 10303-1692
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1, C.2and C.3 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 conductor_or_conductive_filled_area   EXPRESS-G

The conductor_or_conductive_filled_area type allows for the designation of the data types Conductor, and Conductive_filled_area.

EXPRESS specification:

*)
TYPE conductor_or_conductive_filled_area = SELECT
   (Conductor,
    Conductive_filled_area);
END_TYPE;
(*

4.2.2 limwpcd_external_identification_item   EXPRESS-G

The limwpcd_external_identification_item type is an extension of the external_identification_item type. It adds the data type Printed_component to the list of alternate data types.

EXPRESS specification:

*)
TYPE limwpcd_external_identification_item = SELECT BASED_ON external_identification_item WITH
   (Printed_component);
END_TYPE;
(*

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 Basic_multi_stratum_printed_component   EXPRESS-GMapping table

A Basic_multi_stratum_printed_component is a type of Printed_component.

EXPRESS specification:

*)
ENTITY Basic_multi_stratum_printed_component
  SUBTYPE OF (Printed_component);
  material_stack : Stratum_feature_based_derived_pattern;
  SELF\Printed_component.derived_from : Basic_multi_stratum_printed_part_template;
DERIVE
  stratum_feature_implementation : Stratum_feature := material_stack.reference_stratum_feature;
END_ENTITY;
(*

Attribute definitions:

material_stack: specifies the role of the Stratum_feature_based_derived_pattern for the Basic_multi_stratum_printed_component.

derived_from: an attribute inherited from the Printed_component shall be redeclared as the Basic_multi_stratum_printed_part_template for the Basic_multi_stratum_printed_component.

stratum_feature_implementation: specifies the role of the Stratum_feature for the Basic_multi_stratum_printed_component.

4.3.2 Multi_stratum_printed_component   EXPRESS-GMapping table

A Multi_stratum_printed_component is a type of Printed_component and a type of Structured_layout_component.

EXPRESS specification:

*)
ENTITY Multi_stratum_printed_component
  SUBTYPE OF (Printed_component, Structured_layout_component);
  SELF\Printed_component.derived_from : Multi_stratum_printed_part_template;
END_ENTITY;
(*

Attribute definitions:

derived_from: an attribute inherited from the Printed_component shall be redeclared as the Multi_stratum_printed_part_template for the Multi_stratum_printed_component.

4.3.3 Printed_component   EXPRESS-GMapping table

A Printed_component is a type of Assembly_component and a type of Single_instance. A Printed_component is a Single_stratum_printed_component or a Basic_multi_stratum_printed_component or a Multi_stratum_printed_component.

A Printed_component is an occurrence of Printed_part_template that is used as an Assembly_component in an Interconnect_module_design_view. A Printed_component is manufactured integral to an Interconnect_module_design_view. Only the Routed_transmission_line subtype shall reference a Printed_part_cross_section_template as a derived_from.

NOTE 1   Footprint_occurrence and Padstack_occurrence are provided for the most common case of CAD system interface requirements. Printed_component other than Printed_connector_component are generally reserved for more complex requirements.

EXPRESS specification:

*)
ENTITY Printed_component
  ABSTRACT SUPERTYPE OF (ONEOF (Single_stratum_printed_component,
                                Basic_multi_stratum_printed_component,
                                Multi_stratum_printed_component))
  SUBTYPE OF (Assembly_component, Single_instance);
  SELF\Definition_based_product_occurrence.derived_from : Printed_part_template;
INVERSE
  access_mechanism : SET[1:?] OF Printed_component_join_terminal FOR associated_definition;
  cad_layer : SET[0:1] OF External_source_identification FOR item;
WHERE
  WR5: NOT EXISTS(SELF\Product_view_definition.name);
END_ENTITY;
(*

Attribute definitions:

derived_from: an attribute inherited from the Definition_based_product_occurrence shall be redeclared as the Printed_part_template for the Printed_component.

access_mechanism: specifies an inverse relationship that specifies that the existence of the Printed_component is dependent on the existence of the Printed_component_join_terminal that specifies the Printed_component as its associated_definition. There shall be one or more Printed_component_join_terminals for a particular Printed_component.

cad_layer: specifies an inverse relationship that specifies that the existence of the Printed_component is dependent on the existence of the External_source_identification that specifies the Printed_component as its item. There shall be zero or more External_source_identifications for a particular Printed_component.

NOTE 2   The cad_layer is only appropriate where there is a single layer material being defined.

Formal propositions:

WR5: The name shall not be populated.

4.3.4 Printed_component_join_terminal   EXPRESS-GMapping table

A Printed_component_join_terminal is a type of Laminate_component_join_terminal. This terminal is a terminus for internal circuitry in the interconnect substrate.

EXAMPLE    Figure 1 illustrates a detail of a layout drawing that shows the internal terminals of the printed connector (edge connector).



Figure 1 —  Printed connector component and associated terminals

Figure 1 —  Printed connector component and associated terminals

EXPRESS specification:

*)
ENTITY Printed_component_join_terminal
  SUBTYPE OF (Laminate_component_join_terminal);
  SELF\Component_feature.definition : Printed_part_template_join_terminal;
  SELF\Component_feature.associated_definition : Printed_component;
  stratum_concept_implementation : Stratum_feature_template_component;
WHERE
  WR1: NOT EXISTS(SELF\Shape_element.description);
  WR2: associated_definition.derived_from :=: definition\Printed_part_template_terminal.associated_definition;
END_ENTITY;
(*

Attribute definitions:

definition: an attribute inherited from the Component_feature shall be redeclared as the Printed_part_template_join_terminal that defines the Printed_component_join_terminal.

associated_definition: an attribute inherited from the Component_feature shall be redeclared as the Printed_component being accessed by the Printed_component_join_terminal.

stratum_concept_implementation: specifies the role of the Stratum_feature_template_component for the Printed_component_join_terminal.

Formal propositions:

WR1: The description shall not be populated.

WR2: The Template_definition specified by the associated_definition as its derived_from shall be the same Template_definition specified by the definition as its associated_definition.

4.3.5 Printed_connector_component   EXPRESS-GMapping table

A Printed_connector_component is a type of Printed_component. The Printed_connector_component is the occurrence of a Printed_connector_template. The purpose of the Printed_connector_component is to provide access to the assembly in which the interconnect substrate, that is a part of the realized connector, is installed.

EXPRESS specification:

*)
ENTITY Printed_connector_component
  SUBTYPE OF (Printed_component);
  SELF\Definition_based_product_occurrence.derived_from : Printed_connector_template;
INVERSE
  interface_access_mechanism : SET[1:?] OF Printed_connector_component_interface_terminal FOR associated_definition;
END_ENTITY;
(*

Attribute definitions:

derived_from: an attribute inherited from the Printed_component shall be redeclared as the Printed_connector_template for the Printed_connector_component.

interface_access_mechanism: an inverse relationship that specifies that the existence of the Printed_connector_component is dependent on the existence of the Printed_connector_component_interface_terminal that specifies the Printed_connector_component as its associated_definition. There shall be one or more Printed_connector_component_interface_terminals for a Printed_connector_component.

4.3.6 Printed_connector_component_interface_terminal   EXPRESS-GMapping table

A Printed_connector_component_interface_terminal is a type of Laminate_component_interface_terminal. The Printed_connector_component_interface_terminal is an individual access mechanism.

EXAMPLE 1   One terminal on a Printed_connector_component.

"Interface" means it is not tied to the substrate as part of the fabrication or assembly operation.

EXAMPLE 2   Figure 2 of ISO/TS 10303-1737 illustrates a detail of a layout drawing that shows a Printed_connector_component_interface_terminal.

EXPRESS specification:

*)
ENTITY Printed_connector_component_interface_terminal
  SUBTYPE OF (Laminate_component_interface_terminal);
  SELF\Component_feature.definition : Printed_part_template_interface_terminal;
  SELF\Component_feature.associated_definition : Printed_connector_component;
  stratum_concept_implementation : Stratum_feature_template_component;
WHERE
  WR1: NOT EXISTS(SELF\Shape_element.description);
END_ENTITY;
(*

Attribute definitions:

definition: an attribute inherited from the Component_feature shall be redeclared as the Printed_part_template_interface_terminal for the Printed_connector_component_interface_terminal.

associated_definition: an attribute inherited from the Component_feature shall be redeclared as the Printed_connector_component for the Printed_connector_component_interface_terminal.

stratum_concept_implementation: specifies the role of the Stratum_feature_template_component for the Printed_connector_component_interface_terminal.

Formal propositions:

WR1: The description shall not be populated.

4.3.7 Routed_transmission_line   EXPRESS-GMapping table

A Routed_transmission_line is a type of Assembly_component and a type of Single_instance included where the explicit layout pattern is a design property and where the requirements are consistent along a path. The terminals are inherited from Printed_component.

EXPRESS specification:

*)
ENTITY Routed_transmission_line
  SUBTYPE OF (Assembly_component, Single_instance);
  routed_centreline_shape : Curve;
  SELF\Definition_based_product_occurrence.derived_from : Printed_part_cross_section_template;
  component_extent : Inter_stratum_extent;
  curve_parameters : Curve_style_parameters;
END_ENTITY;
(*

Attribute definitions:

routed_centreline_shape: specifies the role of the Curve for the Routed_transmission_line. The routed_centreline_shape may be represented as the result of an extrusion process, where the derived_from is extruded along the path of the route. The ends of the shape shall be perpendicular to the centreline.

NOTE    This representation is not intended to reflect physical processing.

derived_from: an attribute inherited from the Definition_based_product_occurrence shall be redeclared as the Printed_part_cross_section_template for the Routed_transmission_line. The derived_from provides a cross-sectional definition that shall be interpreted as a constant cross-section along the path of the route.

component_extent: specifies the role of the Inter_stratum_extent for the Routed_transmission_line.

curve_parameters: specifies the role of the Curve_style_parameters for the Routed_transmission_line.

4.3.8 Single_stratum_printed_component   EXPRESS-GMapping table

A Single_stratum_printed_component is a type of Printed_component and a type of Structured_layout_component. The function of a Single_stratum_printed_component is defined by an external application that provides a geometric pattern to the layout application.

NOTE    The geometric pattern may be discontinuous over the extent of the Single_stratum_printed_component.

EXAMPLE    A single layer printed capacitor with line edge to edge spacing of 0.01 mm and line length of 1 mm and line width of 0.1 mm may represented by a Single_stratum_printed_component. The decision to classify the component as a capacitor instead of an inductor is a function of the external application.

EXPRESS specification:

*)
ENTITY Single_stratum_printed_component
  SUBTYPE OF (Printed_component, Structured_layout_component);
  SELF\Printed_component.derived_from : Single_stratum_printed_part_template;
  stratum_feature_implementation : SET[1:?] OF Stratum_feature;
WHERE
  WR1: SIZEOF(QUERY(sfi <* stratum_feature_implementation | NOT(sfi.resident_stratum = stratum_feature_implementation[1].associated_definition) )) = 0;
END_ENTITY;
(*

Attribute definitions:

derived_from: an attribute inherited from the Printed_component shall be redeclared as the Single_stratum_printed_part_template for the Single_stratum_printed_component.

stratum_feature_implementation: specifies the role of the Stratum_feature for the Single_stratum_printed_component. There shall exist one or more Stratum_features for the Single_stratum_printed_component.

Formal propositions:

WR1: Each Stratum_feature referenced by stratum_feature_implementation shall specify the same Stratum in the role of resident_stratum as that Stratum referenced by the first member of stratum_feature_implementation.

4.3.9 Tiebar_printed_component   EXPRESS-GMapping table

A Tiebar_printed_component is a type of Printed_component and a type of Structured_layout_component. The function of a Tiebar_printed_component is to provide a short between two or more physical networks. A Tiebar_printed_component provides a realization mechanism to resolve the logical difficulty in having contiguous metalization on a layer while still making an assertion that there is more than one physical network associated with the metalization.

NOTE 1   Because of the predefined function of the Tiebar_printed_component, the logical structure associated with each of the physical networks shorted by a Tiebar_printed_component continues to exist in the design model.

NOTE 2   The set of Structured_layout_component_sub_assembly_relationship input to limdwpcd_get_sspc to generate the tiebar_component is prefiltered to qualify only the types desired which is the Area_component and none of its subtypes and no complex instances with other subtypes of Stratum_feature_template_component.

NOTE 3   If a tiebar functionality is needed, but the functionality of the short is not realized as part of the fabrication process, but is realized as part of an external component, then Printed_connector_component shall be provided instead of Tiebar_printed_component.

NOTE 4   A Tiebar_printed_component may be used to provide a thermal short in addition to an electrical short, depending on material characteristics.

EXAMPLE 1   A standard example is for two ground signals to be tied together in a single small neighborhood of points but retain their internal structure for design and analysis purposes. This example is referenced in industrial practice as a single point ground practice.

EXAMPLE 2   An industrial application of a Tiebar_printed_component may be to ensure higher levels of reliability by forcing localized measurements to be generated by automated inspection algorithms.

EXPRESS specification:

*)
ENTITY Tiebar_printed_component
  SUBTYPE OF (Printed_component, Structured_layout_component);
  SELF\Printed_component.derived_from : Printed_tiebar_template;
DERIVE
  joined_networks : SET[0:?] OF Generic_physical_network := get_gpn(SELF\Printed_component.access_mechanism);
  tiebar_component : SET[0:?] OF Area_component := limdwpcd_get_ac(components);
  padstack_component : SET[0:?] OF Laminate_component := limdwpcd_get_lc(components);
  passage_component : SET[0:?] OF Plated_passage := QUERY(pc <* padstack_component | ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.PLATED_PASSAGE' IN TYPEOF(pc)));
  tiebar_resident_stratum : SET[0:?] OF Stratum := limdwpcd_get_tbrs(tiebar_component);
  passage_resident_stratum : SET[0:?] OF Stratum := limdwpcd_get_prs(passage_component, SELF\Assembly_component.assemblies);
  passage_dependent_land_component : SET[0:?] OF Plated_passage_dependent_land := limdwpcd_get_ppdl(passage_component);
INVERSE
  SELF\Assembly_group_component.components : SET[1:?] OF Structured_layout_component_sub_assembly_relationship FOR relating_view;
WHERE
  WR1: (SIZEOF(tiebar_component) + SIZEOF(passage_component)) > 0;
  WR2: SIZEOF(components) = (SIZEOF(tiebar_component) + SIZEOF(padstack_component));
  WR3: SIZEOF(padstack_component) > SIZEOF(passage_component);
  WR4: SIZEOF(QUERY(tc <* tiebar_component | NOT('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM_FEATURE' IN TYPEOF (tc\Stratum_feature_template_component.implementation_or_resident_stratum)) )) = 0;
  WR5: SIZEOF(tiebar_component) = SIZEOF(tiebar_resident_stratum);
  WR6: SIZEOF(joined_networks) > 1;
  WR7: SIZEOF(QUERY(jn <* joined_networks | NOT(SIZEOF(SELF\Printed_component.access_mechanism * jn\Generic_physical_network.connectivity_requirement_element) = 1 ) )) = 0;
  WR8: SIZEOF(QUERY(tc <* tiebar_component | NOT(SIZEOF(USEDIN(tc,'COMPONENT_FEATURE_ARM.COMPONENT_FEATURE.ASSOCIATED_DEFINITION')) = 0) )) = 0;
  WR9: NOT(SIZEOF(passage_component) = 1) OR (SIZEOF(QUERY(pc <* passage_component | NOT((SIZEOF(tiebar_component) = 0) OR (SIZEOF(tiebar_resident_stratum * passage_resident_stratum) = SIZEOF(tiebar_resident_stratum)) ) )) = 0);
  WR10: NOT(SIZEOF(passage_component) >= 1) OR (SIZEOF(QUERY(pc <* passage_component | NOT (SIZEOF(tiebar_resident_stratum * passage_resident_stratum) = SIZEOF(tiebar_resident_stratum)) )) = 0);
  WR11: SIZEOF(QUERY(am <* SELF\Printed_component.access_mechanism | NOT('PRINTED_PHYSICAL_LAYOUT_TEMPLATE_ARM.STRUCTURED_PRINTED_PART_TEMPLATE_TERMINAL' IN TYPEOF(am.definition)) )) = 0;
END_ENTITY;
(*

Attribute definitions:

derived_from: an attribute inherited from the Printed_component shall be redeclared as the Printed_tiebar_template for the Tiebar_printed_component.

joined_networks: specifies a role of the Generic_physical_network for the Tiebar_printed_component. There shall exist zero or more Generic_physical_networks for the Tiebar_printed_component.

tiebar_component: specifies a role of the Area_component for the Tiebar_printed_component. There shall exist zero or more Area_components for the Tiebar_printed_component.

padstack_component: specifies a role of the Laminate_component for the Tiebar_printed_component. There shall exist zero or more Laminate_components for the Tiebar_printed_component.

passage_component: specifies a role of the Plated_passage for the Tiebar_printed_component. There shall exist zero or more Plated_passages for the Tiebar_printed_component.

tiebar_resident_stratum: specifies a role of the Stratum for the Tiebar_printed_component. There shall exist zero or more Stratums for the Tiebar_printed_component.

passage_resident_stratum: specifies a role of the Stratum for the Tiebar_printed_component. There shall exist zero or more Stratums for the Tiebar_printed_component.

passage_dependent_land_component: specifies a role of the Plated_passage_dependent_land for the Tiebar_printed_component. There shall exist zero or more Plated_passage_dependent_lands for the Tiebar_printed_component.

components: an inverse relationship that specifies that the existence of the Tiebar_printed_component is dependent on the existence of the Structured_layout_component_sub_assembly_relationship that specifies the Tiebar_printed_component as its relating_view. There shall be one or more Structured_layout_component_sub_assembly_relationship for the Tiebar_printed_component.

Formal propositions:

WR1: There shall be at least one member of tiebar_component or there shall be at least one member of passage_component.

NOTE 5   A Tiebar_printed_component may just be implemented as a Plated_passage which connects implementation of two or more Routed_physical_network on at least two different Stratum and therefore does not use an Area_component to effect the short circuit.

WR2: Only tiebar_component and padstack_component are allowed to be components.

WR3: There shall be at least one padstack_component that is not a passage_component.

NOTE 6   At least one padstack_component will be a Plated_passage_dependent_land to implement horizontal interface to the material on a Design_layer_stratum.

EXAMPLE 3   In the case where an inner layer is to be connected, a Plated_passage_dependent_land would be a padstack_component.

WR4: Each Stratum_feature_template_component in the role of tiebar_component shall have a Stratum_feature as an implementation_or_resident_stratum.

WR5: Each Stratum_feature_template_component in the role of tiebar_component shall be on a separate Stratum from any other tiebar_component.

WR6: There shall be more than one Generic_physical_network joined by the Tiebar_printed_component.

WR7: Each member of access_mechanism inherited from Printed_component shall be referenced as a connectivity_requirement_element by one member of joined_networks.

NOTE 7   It is possible for a Generic_physical_network to reference more than one terminal of a Tiebar_printed_component.

WR8: No member of tiebar_component shall be referenced by a member of Laminate_component_join_terminal as an associated_definition.

WR9: If exactly one passage_component is provided, then if there is a tiebar_component provided, the resident_stratum of the tiebar_component shall be in the vertical extent of the passage_component.

WR10: If more than one passage_component is provided, then the resident_stratum of each member of tiebar_component shall be in the vertical extent of each of the passage_component.

WR11: Each member of access_mechanism shall be defined by a member of Structured_printed_part_template_terminal.

NOTE 8   The specifics of terminal instantiation is dependent on the application.

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 limwpcd_assembly_component_subtypes   EXPRESS-GMapping table

The limwpcd_assembly_component_subtypes constraint specifies a constraint that applies to instances of Assembly_component and enforces the rule that its subtypes Physical_component, Printed_component and Laminate_component are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT limwpcd_assembly_component_subtypes FOR Assembly_component;
  ONEOF (Physical_component,
         Printed_component,
         Laminate_component);
END_SUBTYPE_CONSTRAINT;
(*

4.4.2 limwpcd_structured_layout_component_subtypes   EXPRESS-GMapping table

The limwpcd_structured_layout_component_subtypes constraint specifies a constraint that applies to instances of Structured_layout_component and enforces the rule that its subtypes Footprint_occurrence, Material_removal_structured_component, Multi_stratum_printed_component, Multi_stratum_special_symbol_component, Padstack_occurrence, Single_stratum_printed_component and Single_stratum_special_symbol_component are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT limwpcd_structured_layout_component_subtypes FOR Structured_layout_component;
  ONEOF (Footprint_occurrence,
         Material_removal_structured_component,
         Multi_stratum_printed_component,
         Multi_stratum_special_symbol_component,
         Padstack_occurrence,
         Single_stratum_printed_component,
         Single_stratum_special_symbol_component);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definitions

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

4.5.1 get_gpn

The get_gpn function returns the set of Generic_physical_network for which the members of Printed_component_join_terminal that are the input to the function are in the role of connectivity_requirement_element.

EXPRESS specification:

*)
FUNCTION get_gpn (input : SET[0:?] OF Printed_component_join_terminal) : SET[0:?] OF Generic_physical_network;
LOCAL
	gpn : SET[0:?] OF Generic_physical_network := [];  --this gives us access to the information base
END_LOCAL;

	REPEAT i := 1 to SIZEOF(input) by 1;
		gpn := gpn + bag_to_set(USEDIN(input[i],'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.GENERIC_PHYSICAL_NETWORK.CONNECTIVITY_REQUIREMENT_ELEMENT'));
	END_REPEAT;

	RETURN(gpn);
END_FUNCTION;
(*

Argument definitions:

input: the specified set of Printed_component_join_terminal.

4.5.2 limdwpcd_get_ac

The limdwpcd_get_ac function returns the set of Area_component that are referenced as the related_view for each member of the input. The function does not return an Area_component if that component is one of Land, Conductive_interconnect_element_with_pre_defined_transitions, Interface_access_stratum_feature_template_component.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_ac (input : SET[0:?] OF Structured_layout_component_sub_assembly_relationship) : SET[0:?] OF Area_component;
LOCAL
	sspc : SET OF Stratum_feature_template_component := [];  --this gives us access to the information base
	slcsar : SET OF Structured_layout_component_sub_assembly_relationship :=
                 (QUERY(inp <* input |
                 ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.AREA_COMPONENT' IN TYPEOF(inp.related_view)) AND NOT
                 ('LAND_ARM.LAND' IN TYPEOF(inp.related_view)) AND NOT
  ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.CONDUCTIVE_INTERCONNECT_ELEMENT_WITH_PRE_DEFINED_TRANSITIONS' IN TYPEOF(inp.related_view)) AND NOT
  ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.INTERFACE_ACCESS_STRATUM_FEATURE_TEMPLATE_COMPONENT' IN TYPEOF(inp.related_view))
                 ));
END_LOCAL;

	REPEAT i := 1 to SIZEOF(slcsar) by 1;
	      sspc := sspc + slcsar[i]\Structured_layout_component_sub_assembly_relationship.related_view;
	END_REPEAT;

	RETURN(sspc);
END_FUNCTION;
(*

Argument definitions:

input: a set of Structured_layout_component_sub_assembly_relationship.

4.5.3 limdwpcd_get_lc

The limdwpcd_get_lc function returns the set of Laminate_component that are referenced as a related_view for each member of input when a second_location is provided and that second_location references a Padstack_definition as an assembly.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_lc (input : SET[0:?] OF Structured_layout_component_sub_assembly_relationship) : SET[0:?] OF Laminate_component;
LOCAL
	sspc : SET OF Laminate_component := [];  --this gives us access to the information base
	slcsar : SET OF Structured_layout_component_sub_assembly_relationship :=
                 (QUERY(inp <* input |
                 ('LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.PADSTACK_DEFINITION' IN TYPEOF
(inp\Structured_layout_component_sub_assembly_relationship.second_location\Template_location_in_structured_template.assembly))
                 ));
END_LOCAL;

	REPEAT i := 1 to SIZEOF(slcsar) by 1;
	      sspc := sspc + slcsar[i]\Structured_layout_component_sub_assembly_relationship.related_view;
	END_REPEAT;

	RETURN(sspc);
END_FUNCTION;
(*

Argument definitions:

input: a set of Structured_layout_component_sub_assembly_relationship.

4.5.4 limdwpcd_get_ppdl

The limdwpcd_get_ppdl function returns the set of Plated_passage_dependent_land for which a member of the input is in the role of reference_plated_passage.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_ppdl (input : SET[0:?] OF Plated_passage) : SET[0:?] OF Plated_passage_dependent_land;
LOCAL
	sspc : SET OF Plated_passage_dependent_land := [];  --this gives us access to the information base
END_LOCAL;

	REPEAT i := 1 to SIZEOF(input) by 1;
	      sspc := sspc + bag_to_set(USEDIN(input[i],'LAND_ARM.PLATED_PASSAGE_DEPENDENT_LAND.REFERENCE_PLATED_PASSAGE'));
	END_REPEAT;

	RETURN(sspc);
END_FUNCTION;
(*

Argument definitions:

input: a set of Plated_passage_dependent_land.

4.5.5 limdwpcd_get_prs

The limdwpcd_get_prs function returns a set of Stratum where each member of that set is in the vertical extent of the input.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_prs (input1 : SET[0:?] OF Plated_passage; input2 : SET[0:?] OF Product_view_definition) : SET[0:?] OF Stratum;
LOCAL
	s : SET OF Stratum := [];  --this gives us access to the information base
	stol : SET OF Stratum_technology_occurrence_link := [];  --this gives us access to the information base
	ptatsm : SET OF Passage_technology_allocation_to_stack_model := [];  --this gives us access to the information base
END_LOCAL;

	REPEAT i := 1 to SIZEOF(input1) by 1;
             ptatsm := ptatsm + input1[i]\Inter_stratum_feature.vertical_extent;
	END_REPEAT;

	REPEAT i := 1 to SIZEOF(ptatsm) by 1;
             stol := stol + ptatsm[i]\Stratum_sub_stack.stratum_technology_sequence;
	END_REPEAT;

             s := limdwpcd_get_stolrs(stol, input2);
	RETURN(s);
END_FUNCTION;
(*

Argument definitions:

input1: a set of Plated_passage.

input2: a set of Product_view_definition.

4.5.6 limdwpcd_get_s

The limdwpcd_get_s function returns a set of Stratum where each member of that set is the associated stratum for one member of the input.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_s (input : SET[0:?] OF Single_stratum_printed_component) : SET[0:?] OF Stratum;
LOCAL
	  s : SET[0:?] OF Stratum := [];  --this gives us access to the information base
    END_LOCAL;

	REPEAT i := 1 to SIZEOF(input) by 1;
	      s := s + input[i]\Single_stratum_printed_component.stratum_feature_implementation[1]\Stratum_feature.resident_stratum;
	END_REPEAT;

	RETURN(s);
END_FUNCTION;
(*

Argument definitions:

input: the specified set of Single_stratum_printed_component.

4.5.7 limdwpcd_get_sspc

The function returns the set of Single_stratum_printed_component that are referenced as the related_view for each member of the input.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_sspc (input : SET[0:?] OF Structured_layout_component_sub_assembly_relationship) : SET[0:?] OF Single_stratum_printed_component;
LOCAL
	  sspc : SET[0:?] OF Single_stratum_printed_component := [];  --this gives us access to the information base
    END_LOCAL;
	REPEAT i := 1 to SIZEOF(input) by 1;
	      sspc := sspc + input[i]\Structured_layout_component_sub_assembly_relationship.related_view;
	END_REPEAT;

	RETURN(sspc);
END_FUNCTION;
(*

Argument definitions:

input: a set of Structured_layout_component_sub_assembly_relationship that are prequalified to relate only to Single_stratum_printed_component as a related_view.

4.5.8 limdwpcd_get_stolrs

The limdwpcd_get_stolrs function returns a set of Stratum where each member of that set is referenced by a member of Stratum_technology_occurrence that is also referenced by a member of the input1, and is helping to compose a member of input2.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_stolrs (input1 : SET[0:?] OF Stratum_technology_occurrence_link; input2 : SET[0:?] OF Product_view_definition) : SET[0:?] OF Stratum;
LOCAL
	s0 : SET OF Stratum := [];  --this gives us access to the information base for stratum that reference sto
	sto : SET OF Stratum_technology_occurrence := [];  --this gives us access to the information base
	imsar : SET OF Interconnect_module_stratum_assembly_relationship := [];
	s1 : SET OF Stratum := [];  --this gives us access to the information base for stratum that are referenced by the assembly relationship to the input2
	s2 : SET OF Stratum := [];  --this gives us access to the information base for stratum that are related to both input1 and input2
	i : INTEGER := 0; -- variable representing the member of input2 that is the context for the function
END_LOCAL;
(* initial implementation only supports examining the first Product_view_definition as the stratum stack is not expected to change over the design cycle. *)
(* depends on the unique constraint on stratum.definition in an assembly context *)

REPEAT i := 1 to 1 by 1;
	REPEAT j := 1 to SIZEOF(input1) by 1;
	      sto := sto + input1[j]\Stratum_technology_occurrence_relationship.sto_1 +
	                   input1[j]\Stratum_technology_occurrence_relationship.sto_2;
	END_REPEAT;
	
	REPEAT j := 1 to SIZEOF(sto) by 1;
      	     s0 := s0 + bag_to_set(USEDIN(sto[j], 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.STRATUM.DEFINITION'));
    END_REPEAT;

    imsar := imsar + bag_to_set(USEDIN(input2[i], 'LAYERED_INTERCONNECT_MODULE_DESIGN_ARM.INTERCONNECT_MODULE_STRATUM_ASSEMBLY_RELATIONSHIP.ASSEMBLY'));

    REPEAT j := 1 to SIZEOF(imsar) by 1;
     s1 := s1 + imsar[j]\Interconnect_module_stratum_assembly_relationship.component;
    END_REPEAT;

    s2 := s0 * s1; -- The intersection of the Stratum that reference the sto and the stratum that are part of the layered interconnect module.
END_REPEAT;

	RETURN(s2);
END_FUNCTION;
(*

Argument definitions:

input1: a set of Stratum_technology_occurrence_link.

input2: a set of Product_view_definition.

4.5.9 limdwpcd_get_tbrs

The function returns a set of Stratum where each Stratum is the associated stratum for a member of the input.

NOTE    If more than one member of input reference the same Stratum, only one member of Stratum will be returned.

EXPRESS specification:

*)
FUNCTION limdwpcd_get_tbrs (input : SET[0:?] OF Stratum_feature_template_component) : SET[0:?] OF Stratum;
LOCAL
	s : SET OF Stratum := [];  --this gives us access to the information base
END_LOCAL;

	REPEAT i := 1 to SIZEOF(input) by 1;
	      s := s + input[i]\Stratum_feature_template_component.resident_stratum;
	END_REPEAT;

	RETURN(s);
END_FUNCTION;
(*

Argument definitions:

input: a set of Stratum_feature_template_component.



*)
END_SCHEMA;  -- Layered_interconnect_module_with_printed_component_design_arm
(*


© ISO 2018 — All rights reserved