Using Event Hierarchy for Collecting Secondaries

Michael Davis – Semiconductor Applications Engineer, Delaware OH
Dan Barad – Senior Semiconductor Applications Engineer, Austin TX


I/O trigger secondaries, such as logistics and Figures of Merit (FoMs), are efficiently collected using the SECS events (S6F3, S6F9, S6F11, and S6F13). Until recently, the only method available to parse the SECS message was “using an Event by Index (CEID)”.  Most items in the event would need to be manually counted to determine their position in the list. Using the event indexing method of parsing the list works well unless there are embedded lists of variable length within the event. As a result, the position of a particular item might vary depending on the size of the variable list, assuming that the list is not self-describing or does not contain unique identifiers before the item(s) of interest.

In FabGuard versions 8.5.4-l and higher, the method “using an Event Hierarchy (CEID)” was added to enhance parsing for variable length lists. This new feature was specifically created to help parse items from events with a complex structure, i.e. multiple lists, embedded variable lists, etc.

Using an Event Hierarchy (CEID)

For this method the user must enter the hierarchical position of the desired item in the S6F3, S6F9, S6F11, or S6F13 message. The hierarchical position of the outer list is 1; inner items are denoted by adding dots. For example, the third item in the second item (which must be a list if it contains items) in the outer list has a hierarchical position of "1.2.3".


Application Engineers use this new method to parse events that contain over one hundred items with variable lists. The example below describes an event where an SVID of interest needed to be parsed from an event. Before using the “using an Event Hierarchy (CEID)” method, the structure of the event should be determined. First, copy the event out of the SECS log and into a spreadsheet. The event is then transformed using the following manipulation: 1) Text to column with a “(“ as the delimiter. 2) Paste special “transpose”, Figures 1 and 2.  This will create a vertical list of the event contents.

Figure 1: Text to column with a “(“ as the delimeter.

Figure 2: Event delimited and listed vertically.

Once the event is listed vertically, a good way to visualize the levels is to organize the items contained in each list.  Each indention in the list represents another level in the hierarchy.  The items associated to each list are color coded for visualization, Figure 3.

Figure 3: Event color coded and listed vertically.

The FabGuard entry for a secondary at position would parse out “16” in the previously mentioned event, Figure 4. The level designations determined for the “Event by Hierarchy” parsing method are shown in Figure 5.

Figure 4: FabGuard secondary entry screen.

Figure 5: Position at in the event.


Using event hierarchy as a parsing method will ensure that if a list at some position in the message is of variable length, i.e. position, this will not affect the parsing of other 66 items in the list, i.e.