Appendix: Dictionary Database Creation

The fault dictionaries created by Nemesis need to be converted from ASCII text into GNU database format. Both Dict2ddb and Sproing are used in the creation of dictionary database files (ddb’s).

Dict2ddb, as its name implies, creates database files from dictionaries. It is a fairly easy program to use. The shell script below is a bit excessive for a one-time use, but provides adequate documentation on the few options.

************************************************************
create.ddb
************************************************************
#!/bin/csh
#
#
# dict2ddb usage:
#
# dict2ddb dictfile ddbfile -s | -b [ -v -p -Ologfile ]
#
# dict2ddb command-line arguments:
#
# -s input is a stuckat dictionary
# -b input is a bridgefault dictionary
# -v verify (read & compare) stored information
# -p report progress (to std out)
# -O output log file
dict2ddb c432.dictionary c432.ddb –Oc432.ddb.log -b -v -p

This particular file would create a bridging fault dictionary database. Substituting "-s" for "-b", and using the appropriate dictionary, would create a stuck-at database.

To create a composite bridging fault dictionary Sproing is used. The script below outlines the flags to do this. The flags are discussed in more detail in the Tutorial and Sproing Options section.

************************************************************
create.csd
************************************************************
#!/bin/csh
#
# This script creates the composite bridging fault
# dictionaries.
#
# sproing command-line arguments:
#
# -s stuck-at database
# -f candidate bridgefault faultlist
# -i bridgefault IDDQ dictionary (not database) file
# -C composite database file (output)
# -O log file (output)
#
# The IDDQ dictionary is optional, but will create a
# better composite dictionary - more restricted (non-
# detecting) vectors will be identified.
sproing –sc432.ddb -fc432.faultlist -ic432.dictionary \
-Oc432.cbd.log –Cc432.ddb