Copyright: ©Data I/O Corporation 1999


Welcome

Thank you for installing the Sprint for Windows software. We hope that it will meet all your programming needs.

This Help system is divided into the four sections. To start using the Help system, search for a topic in the Table of Contents, or click on one of the links below.

PROM Software Menus

PROM Software Features

PAL Software Menus

PAL Software Features


The File Menu

The first menu on the main program screen is the File menu:

The File menu

The File menu, found on the menu line at the top of the screen, has two primary functions: loading data into RAM, and saving data from RAM.  Additionally, the PROM software can be terminated from this menu using the Exit function.  Selecting File>Load will produce the following screen:

The Open dialogue

The Open dialogue allows the use of several different data formats including:

o	Binary (*.com, *.bin)

o	Hex (*.hex, *.obj, *mot, *.S*) which supports data formats in Motorola Exociser, Motorola ExorMax, Motorola 32 (S3), Intel Intellec 8/MDS, Intel MCS-86 Hex, Intel OMF 286, and Intel Hex-32

o	Space (*.spc) which supports ASCII Hex Space

o	MOS (*.mos) which supports MOS Technology

o	LOF (*.lof) which supports Quick Logic

o	Actel (*.dio) which supports Actel 1010 and 1020 devices only

o	HP64000 (*.hp) which supports HP64000 Absolute and HP UNIX

Note: If Hex or HP format is selected, the Optima software automatically selects the appropriate format.  If your data file does not use any of the predefined file extensions, you can wild card the file name by using (*.*) in the file name box and choosing the appropriate file type.

Navigate the computer or network for the required data file, and select the <OK> button.  Once the file is selected, the File load Options screen will appear:

File loading options

This dialogue provides options for file starting address, device memory destination, file mode, and data format.  Select the mode appropriate for the device to be programmed and select the <OK> button.

There is also an option for saving the data in RAM as a data file.  This can be helpful when the user has a master device but no data file, and would like to create one.  The Save As dialogue allows the generation of data files as shown below:

The Save-As dialogue

The user may save data files in the following formats:

?	Binary (*.bin)

?	Hex (*.hex) Intel 86

?	Motorola S-Record (*.SRC)

?	ASCII  Hex Space (*.spc)

?	Formatted Binary (*.fmt)

After loading a data file or reading a master device, select Save As from the File menu, select the appropriate file format, name the file, and save it to the desired location.


The Memory Menu

The Memory menu provides the user with a method to view and/or modify the contents of memory at any time before or after the programming operation.

The Memory menu

Selecting Edit from the Memory menu will display the following screen:

Editing memory

As shown, hexadecimal memory locations are displayed with ASCII equivalents to the right.  The editor has two editing modes: hexadecimal and ASCII.  Edit by placing the cursor where you want to begin and click once.  If the hexadecimal editor is chosen, values 0–9 or A-F can be entered from the keyboard.  If the ASCII editor is chosen, then any value from the keyboard can be entered.  To move  to higher memory locations, use the vertical scroll bar on the right side of the memory window.

As noted in the lower-right corner of the edit screen, the user may press the right mouse button for additional editor features:

Right clicking in the edit screen displays additional editing options

The edit screen features several useful additional features including:

?	Print—Allows the user to print the contents of the memory buffer

?	Printer-Setup—Allows the user to choose the desired printer and its configuration

?	Goto Address…—Allows the user to jump to any address in the memory array

Goto Address menu function allows the user to jump to any memory location

?


Fill…—Allows the user to fill the memory array with any data pattern

Fill function allows the user to fill the memory array with any data pattern

NOTE:  The Fill memory menu item accepts values in relation to the device to be processed.  It is often necessary to know the block size of the specific device being used.  Many devices do not support partial programming operations.  Therefore, partially filling RAM with a data pattern is not supported with those devices.  Because of this, an error will occur if attempting to fill RAM with less data than the device supports.  Also, filling RAM beyond the block size of the device will produce a similar error.

?	Swap bytes — Allows the user to transpose high and low order bytes within the data file

?	Search for byte — Allows the user the search the memory array for a specific data string

Search for byte function allows the user to locate a hex string within the memory array

?	Repeat search—Performs the Search for byte operation again with the previously entered search data

To fill memory with a hexadecimal data pattern, the user may also utilize the Fill menu item.  Once select, the following screen will appear:

Fill memory menu item

In this dialogue, the starting and ending address are entered, as well as the pattern to be placed in memory.

NOTE:  The Fill memory menu item accepts values in relation to the device to be processed.  It is often necessary to know the block size of the specific device being used.  Many devices do not support partial programming operations.  Therefore, partially filling RAM with a data pattern is not supported with those devices.  Because of this, an error will occur if attempting to fill RAM with less data than the device supports.  Also, filling RAM beyond the block size of the device will produce a similar error.

In cases where the data bytes must be reversed in the data file to accommodate a specific device, the Swap Bytes item from the Memory menu may be used.  As in the right-click menus on the edit screen, this function allows the user to transpose high and low order bytes within the data file

For devices that support partial operations, or if the data file is required to begin at a specific location, the Address Range… menu item may be used to establish the programming area of the device.  Selecting the Address Range… item from the Memory menu will produce the following dialogue:

Setting the device address range

In this dialogue, the starting and ending addresses can be specified, and can be reset to defaults if necessary.

The Checksum Options…menu item is used to set the number of characters representing the data checksum; it can range from four to eight characters.  Here you have the option to select a 4 to 8 digit hexadecimal checksum.  Checking the Calculation of checksum with special bytes adds the special bytes to the displayed checksum

Setting the checksum options


The Special Device Functions…menu item is used to set features unique to the devices under test.  These features will vary from device to device.  One of the most common is the device sector protection feature:

Setting special device functions

Device Serialization Options…allows the user to assign unique electronic serial numbers to each device being programmed.  When serializing devices, the serial number is automatically incremented for the next device each time the Sprint software completes a programming operation.  When serializing with Multisyte programmers (Dual, Quad, and Octal) in gang mode, sequential serial numbers are automatically generated for devices inserted into adjacent TOPs.

NOTE: 	Serialization is only supported with single-socket TOPs, such as the TOP48, TOP84PLC, and other similar TOPs.  It is not supported on the TOP432 or FLASH TOP

To set up this feature, refer to the figures below and perform the following:

1.	From the Memory menu, select Device Serialization Options… The following screen will appear:

Selecting the serial number file

2.	Choose the path and serial number file you would like to use, or if creating a new serial number file, type in the desired name of the file in the File name field.  For clarity, please use DOS standard 8.3 file names.  The default file extension for serial number files is *.sn, but can be anything you like.  To locate files with extensions other than *.sn, select All (*.*) from the List files of type pull-down menu in the lower left of the window.  When finished, select <OK>.

3.	A Serialization Options screen appears:

The Serialization Options screen

Editable fields include:

?	Serialization- Selecting ENABLED allows serialization of devices.  DISABLED allows multiple serialization files  to be created and saved but will not active until they are enabled.

?	S/N Options file—The name of the serial number file that was selected or created from the previous screen

?	Next S/N—The starting serial number of the next device to be programmed; this is a decimal number.  Numbers entered here will automatically be converted to the correct format when the device is programmed.

?	S/N stored in—Selects the format that the serial number data will be written to the device; choices are HEX (each digit from 0h to Fh), ASCII (each digit from 30h to 39h), and BCD (00002 to 10012).

Selecting the format to store serial number data

?	S/N Digits—Selects the number of characters, in decimal, used for the serial number format.  The maximum number of characters are:

o	8 for S/Ns stored in HEX (FFFFFFFFh); S/Ns 0 through 4,294,967,295

o	9 for S/Ns stored in ASCII (393939393939393939h); S/Ns 0 through 999,999,999

o	8 for S/Ns stored in BCD (99999999h); S/Ns 0 through 2,576,980,377

NOTE:	The S/N Digits value indicates the number of hex characters that are permitted to exist as a serial number in the memory array.  The exception to this rule is the ASCII format, in which the number represents hex bytes.  While this appears complicated, as long as the serial number limits are not exceeded, no errors will occur.

?	Serial Number Start Addr.—The hexadecimal address in the memory array where the first byte of the serial number will be placed.  All characters of the serial number must fit within the memory array of the device, else serialization will not take place.

?	Byte Order—Used to select the order that the serial number data is placed in the device as related to the data file; choices include Big Endian (Hi byte/Lo byte—Motorola) and Little Endian (Lo byte/Hi byte—Intel).

Selecting the byte order of a data file

?	Word Mode—Set when a serial number byte is to extend to the word width of the device.  If word mode is set to:

o	Off—The default byte width of 8 bits is used.

o	On—One byte of the serial number data will occupy the width of the data path.  If the data width of the device is 16 bits wide, then one byte of the serial number will also be 16 bits wide.  For unique devices, such as some Microchip Technology devices, the word width may be 12 or 14 bits.

?


Store S/N bytes—This setting specifies which bytes are written to the memory array and in which order.  The selections are:

o	All—All bytes of the serial number are written to the memory array

o	Even—Only the even bytes of the serial number are written.  If this option is selected, then the number of serial number digits (selected in S/N Digits) must be even (2, 4, 6, or 8).

o	Odd—Only the odd bytes of the serial number are written.  If this option is selected, then the number of serial number digits must be even (2, 4, 6, or 8).

o	0 of four, 1 of four, 2 of four, 3 of four—Only bytes in the corresponding byte position in the serial number are written.  For example, if a HEX serial number of 00BC614Eh is generated, when 1 of four is selected, BCh (byte #1 of four bytes total) is written to the designated start address.  The largest hexadecimal serial number allowed is FFFFFFFFh, or 4,294,967,29510.  The largest BCD serial number allowed is 99999999h, or 2,576,980,37710.

NOTE:	The X of four mode works only with hexadecimal and BCD serial number types as selected in the S/N stored in field.  Selecting ASCII as a serial number value type will return an error.

Selecting the method of storing serial number bytes


The Device Menu

The device menu is provides the user with basic operational commands as shown in the figure below:

The Device menu

The Program, Read, Blank Check, and Verify commands can be initiated from this menu.


Selecting the Program menu item will produce the following dialogue:

Starting the Program routine

Selecting <Yes> will begin the programming operation; <No> will halt the operation.  Upon successful completion of the programming operation, a PASS dialogue will appear indicating proper programming:

Programming operation has passed

Any special information related to the programming operation will appear in the Message text area at the bottom of the screen.

The first process performed on the device during the Program operation is a check for blank state.  If the device is EEPROM based , then an erase cycle will be executed automatically.  If it is not erased and is UV-erasable or is a one-time programmable (OTP) device, the Optima software will test to see if the pattern in memory can be over-programmed (that is, new data is programmed on top of the existing pattern in the device).  If over-programming is possible, then you will be asked Skip blank check: Yes/No.  If you select <YES>, then the device will be over-programmed.  If you select <NO>, you will receive a “Device not blank” error message, and the Program operation will stop.

After the automatic blank check is completed, the device will then be programmed using the algorithm defined by the manufacturer.  Intelligent programming is used to keep programming time to a minimum.  The intelligent programming algorithm is selected automatically when the device type is selected.

After programming, the device will be verified to confirm proper programming.  If there are any errors in verification, a detailed report will appear on the screen.  If the device vendor specifies it, verification will be done at the high and low  Vcc levels in accordance with manufacturers specification.

If the device is improperly inserted into the socket, the device is defective, or the programming TOP is faulty, then a continuity message may appear:

Continuity error

A yellow light will identify the socket with the continuity error, as shown above the software will prompt the user to <Display> the pin(s) in error, <Cancel> the operation, <Retry> the operation, or <Ignore> the error and continue.


The Sprint software contains a convenient tool for isolating the cause of a continuity failure.  Selecting the <Display> option will present the user with a package diagram outlining the pin(s) that are believed to be causing the failure.

Pinmap showing continuity failures; pins displayed in red are not making proper contact


Selecting the Read menu item will allow the contents of the device memory to be retrieved.  The status window will display the percentage of completion of the read operation, and a PASS or FAIL message will indicate its success or failure.  Using the <Read Device> button in the Device Action section will yield the same results.  Any additional information relative to this read operation will also be displayed in the Messages section of the screen:

Successful completion of a READ operation


The Blank Check feature may be enabled or disabled depending on the device selected. If the feature is enabled, selecting Blank Check lets you determine if the device under test is truly empty.  If the blank check passes, the device is truly empty.  Otherwise, some of the device locations may have data in them.

UV erasable devices must be erased under ultraviolet light in accordance with the manufacturers' instructions before programming.

NOTE:	Not all UV erasable devices are guaranteed to arrive blank from the manufacturer.  If they are not blank, simply erase them according to the manufacturer’s guidelines for the device under test.

Device blank check failure

The Blank Check function is performed prior to all programming functions  The blank check operation may also be initiated from the <Blank Check> button in the Device Action section of the screen.


Devices may also be verified with known good data by using the Verify function from the Device menu.  To use this functions, the data for the device to be verified must already reside in programmer/software RAM.  The data can be acquired a couple of different ways:

?	Read a master device into programmer/software RAM using the Read function in the Device menu

?	Load a data file into programmer/software RAM using the File>Load function

Once the data to be verified has been successfully loaded into programmer/software RAM, a device to be verified may be inserted into the programmer socket.  Selecting Verify from the Device menu, or using the <Verify> button in the Device Action section of the screen will initiate the Verify action.  PASS/FAIL results will be displayed in the Status section of the screen, as well as in the Messages section:

Device verification errors are displayed with location information


Select Device Menu
The Select Device Menu

Selecting the device to be programmed is as simple as using the Select Device menu item.  When selected, the following screen will appear:

Selecting the device to be programmed

Just as when the PROM program was started, select the manufacturer and device to be processed from the list.  The devices listed are those that are supported by the TOP that has been installed.  If the device is not found on the list, then it is probably not supported by that TOP.  Be sure to check all of the Family classifications for the device in case the part number is in a different location than expected.  The family categories are presorted in a number of fashions to make searching for the device a bit less time consuming.

Three other symbols you may see in the list are:

!TOP - which means that none of the devices are supported with the current installed TOP.

SXXX - which means the devices is supported with another TOP

SMP - which means the device was just recently added and is not supported on the version of software installed and a software update is required.  The Software Maintenance Plan can be purchased through the normal Data I/O sales channels.


The Options Menu

Many programming operations are adjustable through the Options menu.  Among these are verify operation parameters, blank check, electronic erase, continuity checks, electronic ID checks, specific algorithm parameters, checksum options, and various special functions .

NOTE:	Many of the options displayed in the Options menu are device specific and may not be available for all programming operations.  For example, a UV erasable device will not have the Erase menu item available to the user.

In earlier versions of programmer software, a number of these options had not yet been implemented, and the user may receive messages to that effect when selecting them.  To ensure that you have the latest revision of programmer software, download the programmer updates from Data I/O’s web site.

The Options menu

The following items can be found in the Options menu:

?	Verify Off, Verify Normal, Verify High/Low — Used to set the method of device data verification after programming.

o	Verify Off, as the name implies, provides no verification of the device after programming

o	Verify Normal provides a single-pass verify at nominal VCC for the device after programming

o	Verify High/Low provides a two-pass verify; once at device-rated low VCC, and a second at device-rated high VCC

?	Blank Check—Adds a Blank Check operation to the programming operation.  If a device is not blank during the programming operation, a message will appear notifying the user that the device in use is not blank.  If the user chooses to continue, the device will be over-programmed.  This option will not be available with electrically-erasable devices.

?	EErase — Adds an Electrical Erase operation to the programming operation if the function is supported with the selected device.  This option will not be available for UV erasable devices and one-time-programmable (OTP) devices.

?	Continuity Check — If enabled, checks for proper device continuity before a programming operation.  Continuity errors will present the standard continuity warning message and will allow the operator to display the pins in question.

?	ID Check — Allows for checking for the manufacturer’s electronic ID prior to programming.  Typically a safety-net style of operation, many manufacturers will assign their devices a unique identification number.  Occasionally, when a manufacturer changes a physical or electrical specification for a device, they may also change the electronic ID of that device.

For example, if a modification in die size also requires a change in the programming algorithm to increase performance or compatibility, the manufacturer may change the electronic ID.  When electronic ID is turned On, this change can be detected, and the device manufacturer can be contacted to verify that a change has taken place.  If the change is significant, a new algorithm may need to be developed to support this new device configuration.

NOTE:	If the device ID is different from that which the algorithm expects, the programmer software may not allow the user to continue until the discrepancy is corrected.

If the device is determined to require no algorithm changes, electronic ID may be turned Off until such time that the algorithm may be updated to incorporate the new electronic ID.  Additionally, ID Check may be set to Auto to automatically detect the electronic ID of those devices supporting this option.

?	Algorithm Options — This options shows the programming parameters for the selected device.  These programming parameters are for reference only and can not be changed.  At the bottom is the Default buffer contents which shows how the ram buffer is filled.  If required these values can be changed.


Device List

Under the Utilities Menu is an option for creating a list of devices supported for the Optima family of programmers.  Under PROM a device list can be created for memory and microcontroller devices.  A separate list for logic devices can be created by using the PAL software.

A list is created by going to the utilities menu and clicking on <Create Device List>.  The following screen appears:

Attention Screen

Click <Yes> to continue

A file titled “dev_prm.txt (dev_pal.txt for logic) is then created in your Optima directory.  It lists all the programmable devices supported for the installed version of the Optima software.  The “dev_prm.txt” file is tab delimited and can be imported into an Excel spreadsheet.  Once imported, use Excel to filter the file to create a device list that meets your specific needs:

Excel spreadsheet device list (portion)


The Help Menu

The Help menu provides assistance with commonly used features and functions of the Sprint software.  This menu functions may not be available in early versions of the Sprint software.  To ensure that you are using the latest revision of programmer software, download the programmer updates from Data I/O’s web site.


Using the Programming Controls

On the main page of the Optima PROM software, the screen is divided into several sections.   Two of these areas contain controls used to determine the number of programming sites used to process devices, the manner in which the sites are utilized, and simple operational controls used to initiate programmer operations.

The first section, titled Optima Xx/XX, contains several controls that determine the site(s) to be used for programming, the TOPs installed on the site(s), and the programming modes of operation.  This section contains a virtual layout of the programmer in use.  If the programmer is an Optima Light, then there will only be one programmer site shown and an indication of the TOP that has been installed.  If the programmer is an Octal, then there will be eight sites displayed (arranged numerically from left to right, top to bottom; Site #1 is at the upper left and Site #8 is at the lower right), as well as indicators of the TOPs installed on each site.  If there is no TOP installed on one or more of the sites, they will be displayed as NO TOP.

The second section, titled Device action, contains several controls that provide quick access to the most commonly used programming actions, such as program, read device, blank check, and verify.  These controls function identically to the controls found in the Device menu, but are conveniently located for quick access.


Single Site Programming Mode

In the diagram below, it can be seen that the programmer in use is a Quad, with four unique  TOPs installed:

A Quad programmer with a Top432, Top 3 Plcc, Top48 and a Top 84 installed

A Multisyte programmer (Dual, Quad, or Octal) is quite flexible as it allows several different styles of TOP to be installed simultaneously.  Naturally, these different TOP styles cannot be utilized to simultaneously program different devices.  Each TOP can, however, be selected directly from the user interface when a different device style is required.

In the above configuration, there are four TOPs installed are installed a Top432, Top 3 Plcc, Top48 and a Top 84 installed.  As the figure shows, the TOP432 on Site #1 (left-most site) is selected, and the programmer is set to operate in Single mode.  As it is currently configured, the programmer will process devices one at a time on the selected TOP.

NOTE:	If the programmer has different styles of TOP installed, selecting a site with a different style of TOP will prompt the user to select a new device.  This is normal, as the software must set up the programmer to process the different style of device.

If one of the sites contains a TOP432, the PROM432 software will automatically be started when that TOP is selected.  The TOP432 uses special software that is designed to take advantage of its unique capabilities.


Gang Programming Mode

Programming one device at a time can be time consuming.  To expedite the processing of devices, parallel programming, also known as gang programming, can be utilized with the Multisyte line of programmers (Dual, Quad, and Octal).  In the example below, a Quad is set to operate in gang mode.  All four TOPs are highlighted, indicating that they can all be used to process devices.  As long as all the TOP styles match, they can be used in the gang programming operation.

NOTE:	Some memory-based devices are not supported in gang programming mode.  Check the device list for your version of software to ensure the device that you are attempting programming is gang capable.  For more information on creating a device list, see  Creating a Device List

Another method you may use to determine those devices supported in gang-programming mode is to select the <gang> button with your mouse cursor, select the TOPs to use for gang programming, then re-select the device to be programmed from the Select Device menu.  The top line of the device-select dialogue should now indicate that the devices are available in the gang mode as shown below.  Any devices that do not support gang programming will be removed from the device list.

Selecting devices in gang mode of operation

The same holds true when gang programming devices using the TOP432 which supports fewer devices than single-socket TOPs.  Once again, select the <gang> button with your mouse cursor, select the TOP432s to use for gang programming, and then re-select the device to be programmed from the Select Device menu.  The top line of the device-select dialogue should now indicate that the devices are available in the gang mode.  Any devices that do not support gang programming will be removed from the device list.  The programmer may start the PROM432 software automatically to operate the TOP432 if it is not already running.  Check to make sure that the gang mode remains selected.  If not, re-select gang mode and select the TOP432s to be used for gang programming.

PROM software configured to operate in gang mode

When using mixed TOPs on a Multisyte programmer, only like-styles of TOP may be used to gang program devices.  To enter the gang programming mode perform the following:

1.	Select the <single> button with the mouse cursor to enter the single site programming mode.

2.	Select the TOP style to be used for programming in the gang mode by choosing the appropriate TOP on any site using the mouse cursor.

3.	Select the <gang> button using the mouse cursor; the indicator to the left of the <gang> button will turn yellow indicating that is waiting for the next operation.

4.	Select another TOP of the same style using the mouse cursor; the software will automatically select all of the TOPs of the same style installed on the programmer.  If all of the sites are not used during the programming operation, they are ignored by the Sprint software when no device is detected in socket.

NOTE:	If the user decides to change TOPs while the Sprint software is running, the programmer and software will not recognize that the new TOP has been installed.  Programmer TOPs are only recognized and initialized when the Sprint software begins.  To properly initialize the TOP, end the current session, and restart the Sprint software.  Removing and replacing TOPs while the programmer is turned on will not damage the programmer or the TOPs.

Once the gang mode is properly configured using the steps above, all of the selected sites are used for simultaneous programming.  When beginning the programming operation, devices can be inserted into all of the selected sockets for processing.


Swap Programming Mode

To further increase efficiency in a production environment, the swap mode may be used.  The swap mode is a modified gang mode, in that it allows the operator to load, unload, and label devices on half of the sockets on the programmer as the other half processes devices.

Programmer waits for the user to insert the devices in the first two sockets for programming

To enter the swap programming mode, perform the following:

1.	Select the <swap> button using the mouse cursor; the indicator beside it will turn yellow, indicating it is waiting for some user action.

2.	Select from one of the installed TOPs on the programmer;  the programmer will then select all of the TOPs that are like the one chosen.  The indicator beside the <swap> button should turn green, indicating that the programmer is ready for operation in the swap mode.

3.	In the Status section of the screen, enter the total number of devices to be programmed in the text field labeled “total.”

Note:	If the total number of devices to program is smaller than the number of sites on the programmer, then the swap mode will not be activated.  The purpose of this mode is to enhance productivity when processing a large number of devices.  The swap mode is purposely deactivated when processing extremely small quantities of devices.

4.	From the Device menu, select Program, or select the <Program> button with the mouse cursor to begin the programming operation.

5.	A window will appear instructing the user to insert devices into the sockets with flashing indicators; insert the devices, then select <OK>.

6.	While the first sets of devices are being programmed, the others may be prepared, labeled, etc.

7.	When the programming of the first set of devices is complete, the software will instruct the user to remove the programmed devices, insert the new devices, and select <OK>; the removed devices can be then be labeled, prepared, etc.

8.	A rhythm will soon be established that may prove beneficial to the efficiency of your programming evolution.


TOP432 Special Operations

A unique TOP used in device programming is the TOP432.  It consists of four 32-pin sockets, and is designed primarily for gang-programming of smaller memory-based devices, as well as programming sets of devices for wide-bus and extended-series memory applications.

For example, a developer may choose to use two or four 8-bit devices in parallel to provide data for a 16-bit or 32-bit-wide application, respectively.  Another example might be an application that requires the developer to use an 8-bit PROM, but the amount of data required for the application may exceed the capacity of a single device.  In this application the developer may choose to program a series of devices, with the next device’s data continuing from the end-point of the previous device.  Additionally, traditional gang programming can be performed with each of up to four devices containing the same data.

NOTE:	With a few noted exceptions, gang programming of logic devices has limited support on the TOP432.  Primarily, logic parts are programmed on single-socket TOPs, gang mode or otherwise.

A Quad programmer with a TOP432 installed


The TOP432 may be used by itself or with other TOP432s on a Multisyte (Dual, Quad, Octal) programmer, providing a wide variety of programming options.  Because the TOP432 is so unique, it also has its own special version of PROM software called PROM432.  PROM432 has supplementary components that allow for the configuration of its added features.  To access these components, simply double-click the TOP432 icon in the PROM432 software using the mouse cursor; the following screen will appear:

Configuring the TOP432 for GANG or SET mode

Using the TOP432 by itself in gang-programming capacity is as simple as choosing the GANG-Mode selection.  In this mode, all devices inserted into the TOP will receive the same programming information.

The SET-Mode selections allow the user to configure the various set options:

?	8 Bit —Allows the user to program a large data file into a series of smaller devices, where the data is placed end-to-end over several devices

?	16 Bit —AllowTOP432 Set Operations s the user to program two 8-bit devices so that, when used in parallel, they can emulate a 16-bit memory device

?	32 Bit —Allows the user to program four 8-bit devices so that, when used in parallel, they can emulate a 32-bit memory device

While the TOP432 is, in itself, a gang-programming top, it may also be used in gang with other TOP432s on the same programmer, providing a large throughput of devices.  Using the TOP432 in a multiple-gang capacity is as simple as choosing the gang selection and choosing all TOP432s installed on the programmer.  In this mode, all devices inserted into all of the TOPs will receive the same programming information.

NOTE:	Device serialization is not supported with the TOP432

As with all TOPs, the TOP432 operates independently of the others when different TOP styles are installed on a Multisyte programmer.  The only major operating difference between them is the configuration of the gang/set modes on the TOP432, as mentioned above.  Otherwise they operate seamlessly together on the programmer.  If, while operating the PROM software, the TOP432 is selected, the PROM432 software is automatically started to accommodate it.  Switching back to a TOP other than the TOP432 will automatically start the PROM software.


PAL File Menu

The File Menu, found on the menu line at the top of the screen has two primary functions: loading data into RAM, and saving data from RAM.  Additionally, the PAL software can be terminated from this menu using the Exit function.

Selecting File > Load will product the following screen:

The File Open dialogue

The Open dialogue allows the use of several different data formats including:

?	JEDEC standard (*.jed)

?	Altera POF format (*.pof)

?	Altera JAM format (*.jam)

Navigate the computer or network for the required data file, and select the <OK> button.  Once the file is loaded, the device may be programmed.

NOTE:	   As with any data file used with a logic device, it absolutely must be compiled for the device you are trying to program.  Using an incompatible data file type, or a data file designed for a different device, can result in an error being returned by the PAL software.  A one-character difference in device numbers on the device can mean the difference between a successful or failed programming attempt.  The exception would be if the user was using a cross-programming algorithm that was designed for that purpose of programming a different device.

Typical error messages would include:

?	ERROR, expected 5828 fuses, file has 8294—Usually encountered when programming with JEDEC files; the data file has been compiled for a different device than that which is installed.  In this instance, the device has 5828 physical fuses, but the data file has accommodations for 8294.  For JEDEC files, the parameters must match.

?	Not an allowed file type—A file type is being used with a device that it is not compatible with.  For example, the device installed may require an Altera POF file format, but the user has selected a JEDEC or JAM file.


There is also an option for saving the data in RAM as a data file.  This can be helpful when the user has a master device but no data file, and would like to create one.  The Save As dialogue allows the generation of data files as shown below:

The Save-As dialogue

The user may save data files in standard JEDEC (*.jed) format only.  Select a path and filename for your file, then select <OK> to save it to the designated location.


PAL Memory

The PAL Memory menu provides the user with a method to view and/or modify the contents of memory at any time before or after the programming operation:

The Memory menu

Selecting the Edit… function from the Memory menu will produce the following screen:

The Edit menu

The editor screen allows the user to view the fusemap of the logic device under test, and also allows for the manual editing of the fusemap if necessary.  As can be seen in the figure above, a portion of the addressable fuse locations are displayed.  If there is a “–” symbol in any location, that fuse has been blown, while a “X” symbol indicates that the fuse is still intact.  Some of the additional controls on the screen include:

?	All to ‘–’—Blows all fuses in the device

?	All to ‘X’—Connects all fuses in the device

?	Set Line to ‘–’—Blows all fuses in the line that has been selected by the mouse cursor; indicated by the highlighted line

?	Set Line to ‘X’—Connects all fuses in the line that has been selected by the mouse cursor; indicated by the highlighted line

?	Home—Sends the cursor back to the beginning fuse location of the device

?	End—Sends the cursor to the last fuse location of the device

?	Page (upper button)—Moves the cursor up one page of data each time the button is pressed

?	Page (lower button)—Moves the cursor down one page of data each time the button is pressed

?	Up—Moves the cursor up one line of data each time the button is pressed

?	Down—Moves the cursor down one line of data each time the button is pressed

An additional function that can be used from the editor screen is a simple fuse location indicator.  To use this indicator, simply place the mouse cursor over the location in question, right-click the location with the mouse, and a window will appear with the fuse location:

right-clicking the edit screen will provide the fuse location under the cursor


PAL Device Menu

The Device Menu is used to select the programmer operation for the device inserted:

The Device menu

Several choices are available from this menu:

?	Program—Initiates the programming operation using the data that is stored in the memory buffer.  The device type selected by the user must match the physical device in the socket.

The device will first be checked for blank state.  If the device is EEPROM based, then an erase cycle will be automatically executed.  If it not erased, and is UV-erasable or is a one-time-programmable (OTP) device, Sprint will test to see if the pattern in memory can be over-programmed on top of the existing pattern in the device.  If this is possible, then the user will be prompted to “Skip blank check.”  If the user selects <Yes>, then the device will be over-programmed.  If not, the user will receive a “device not blank” error, and programming is halted.

The device will then be programmed using the algorithm defined by the manufacturer.  Intelligent programming is used to keep programming time to a minimum.  The intelligent programming algorithm is selected automatically when the device type is chosen.

After programming, the device will be verified to confirm proper programming.  If there are any errors in verification, the user can have a detailed report of the errors on the screen (see the Verify function later in this menu description).  If the device vendor specifies it, verification will be done at the VCC high and VCC low levels in accordance with manufacturer’s specifications.  After verification, if the security fuse command was included in the JEDEC file, the security fuse of the device will be set (see the Secure function later in this menu description).  If test vectors were included in the JEDEC file, they will then be used to exercise the device (see the Test function later in this menu description).

The user is informed of the sequence of steps in the programming operation by messages on the screen.  PASS/FAIL messages are provided in the status box indicating programming status.  A cycle counter is provided below the PASS/FAIL message area displaying the number of devices programmed with the same content.

?	Read—Reads the contents of device inserted in the socket and stores it in buffer memory; after the data has been read into memory, the device type may be changed to a compatible device without altering any data stored.

NOTE:	The device in socket must match the device type selected or damage may result to the device and/or programmer due to the high voltages used to access the internal fuse structure.

Not all logic devices are capable of having their fusemaps read by a device programmer.  For those that do, if their fusemaps have been placed in a SECURE condition, the programmer will not be permitted to read the fusemap, or the data will be encrypted such that each read operation will return different results, perhaps even blank.  This is a security feature on a number of logic devices that ensure that the data on the device cannot be read by unauthorized personnel.

?	Blank Check—Verifies that the non-erasable device in the socket is empty.  The device in the socket is read and the contents compared to the expected “erased” condition.  The device type selected must match the physical device inserted into the socket.

Electrically-erasable devices do not require a blank check operation.  These devices are automatically erased as part of the programming cycle.

The user has the option to display an X-plot of those fuses that are not blank.

?	Verify —Verifies the fusemap against the data file to ensure they match; any verify failures will produce the following error:

Verify failure will prompt the user to display a detailed report


If the user selects <YES>, then the following screen appears:

Device error map following a verify failure

On the screen above, there are indications of the device locations and the failures encountered.  Blank spaces indicate locations where the data matched.  Any space with either a “–” symbol or an “X” symbol is an error, where the symbols indicates the data that was expected in that location (“–” = blown fuse, “X” = connected fuse).  The <More> button will provide more failure data if it exceeds the capacity of the window.  If a device has been secured, the verify operation will not function correctly.

?	Secure —Manually sets the security feature of the device inserted into the socket.  Many logic devices have an option to program some final fuses after all other fuses have been programmed.  These final fuses prohibit reading (and verification) of the device.  This means that the pattern set into the fuses of the device are no longer readable by personnel who are not authorized to view the data pattern.  These final fuses are called security fuses.

To manually secure the device, use the Secure item from the Device menu.  This must be the last step in any programming sequence since the programmer expects to able to verify (read) a device after programming.

In automatic mode (set with the Auto Security selection in the Options menu; see Using the Options Menu later in this chapter), the security fuse(s) will be set during each programming cycle, after verifying and before vector testing.  If the JEDEC file contains the security fuse command (G1*), the Auto Security mode is automatically enabled, and the Auto Security feature will be checked in the Options menu.

The Sprint software first programs the security fuse, then reads the array to verify that the data no longer matches the array.  The PASS message will only be displayed if the array data is no longer readable.

Some devices disable preload if the security fuse is set.  For these devices, Sprint will run the test vector program before setting the security fuse during the programming routine.

Some devices have a mode to read out the security fuse bit.  Sprint can read this bit and will indicate that the security bit is set.  However, it will then perform a double-check of the array contents to assure protection.

?	Test —Performs vector testing of the device after programming.  If a JEDEC file with test vectors has been read into memory, then the device in the socket can be tested for conformance with these test sequences with this command.  This test will also be invoked after the verify operation in a programming cycle if test vectors are in memory.

Note: If no test vectors are appended to the JEDEC file, this option is not enabled.

The Test operation has three passes for each vector.  Pass 1 sets up all input pins.  Any 0, 1, or X levels are presented to the device.  All device outputs are set to read mode.  Optima PAL has a special method for handling the “X” (don’t care) level, which is incompletely defined in the JEDEC specification and is often a cause of vector test failures in other systems.

Pass 2 applies any clocks to the device.  The vector is scanned form highest pin to lowest in, and the clocks are output in that order.  If a multiple click device requires a controlled sequence of clocks, then there should be a separate vector for each clock.  It is impossible for a universal programmer like the Sprint programmer to generate simultaneous clocks on two pins.  There will always be a time spacing between multiple clocks in a test vector.  Note that the “C” clock is normally low, and the “K” clock is normally high.

Pass 2 also executes the preload function if a P or B vector is found.  A P or B in pin1 of the vector indicates preload.  Note that entering and leaving preload mode can generate transient logic levels that can have other effects in a PAL design.

Pass 3 verifies the outputs of the devices against the test vector.  If there are no errors, the next vector is processed.  If there are any errors, the good and bad data will be displayed on the screen, and testing will stop unless continued by the operator.

Pins defined as “X” in the vectors are set as inputs to “0” unless the pin is determined to be an unused output, in which case it is floated.  High impedance outputs are tested for incorrect “0” conditions, but not for low impedance “1” conditions.  Test simulation can also be used to verify a device after the security fuse has been programmed (note that AMD PALCE-family of devices disables preload when security is set).


PAL Select Device Menu

Selecting the device to be programmed is as simple as using the Select Device menu item.  When selected, the following screen will appear:

Selecting the device to be programmed

In the example above, the Optima software has recognized the TOP48 is in use.  The devices listed are those that are supported by the TOP that has been installed.  If the device is not found on the list, then it is probably not supported by that TOP.  Be sure to check all of the Family classifications for the device in case that the part number may be in a different location than expected.  The family categories are presorted in a number of fashions to make searching for the device a bit less time consuming.

Because the information in the device selection dialogue is the exact same data that is used to create the device list, the device menu name will be exactly as it is noted in the device list.


PAL Options Menu

Many programming operations are adjustable through the Options menu.  Among these are continuity check, blank check, verification parameters, automatic security, vector test parameters, and specific algorithm parameters (see figure below).

NOTE:	Many of the options displayed in the Options menu are device specific and may not be available for all programming operations.  For example, a UV erasable device may not have the Blank Check menu item available to the user.

The Options menu


The following items can be found in the Options menu:

?	Continuity Check —If enabled, checks for proper device continuity before a programming operation.  Continuity errors will present the standard continuity warning message and allow the operator to <Display> the pins in question:

Displaying the device pin map following a continuity failure

?	Blank Check—Adds a Blank Check operation to the programming operation.  If a device is not blank during the programming operation, a message will appear notifying the user that the device in use is not blank.  If the user chooses to continue, the device will be over-programmed.  This option will not be available with electrically-erasable devices.

?


Verify Options —Used to set the methods of device data verification after programming:

Verification options in the Options menu

The following device verification options are available:

o	Verify Off, as the name implies, provides no verification of the device after programming

o	Verify Normal provides a single-pass verify at nominal VCC for the device after programming

o	Verify Low provides a single-pass verify at device-rated low VCC

o	Verify High provides a single-pass verify at device-rated high VCC

o	Verify Low and High provides a two-pass verify; once at device-rated low VCC, and a second at device-rated high VCC

?	Auto Security — When selected, the security fuse(s) will be set during each programming cycle, after verifying and before vector testing.  If the JEDEC file contains the security fuse command (G1*), the Auto Security mode is automatically enabled, and the Auto Security feature will be checked regardless of initial condition.

?	Vectortest —Used to select the vector testing methods of the device after programming.  If a JEDEC file with test vectors has been read into memory, then the device in the socket can be tested for conformance with these test sequences with this command:

Vector testing options in the Options menu

The following vector test options are available:

o	Off, as the name implies, provides no vector testing of the device after programming

o	Normal provides a single-pass vector test at nominal VCC for the device after programming

o	Low provides a single-pass vector test at device-rated low VCC

o	High provides a single-pass vector test at device-rated high VCC

o	Low and High provides a two-pass vector test; once at device-rated low VCC, and a second at device-rated high VCC

?	Algorithm Options…—Provides device-specific information about the device to be programmed:

Algorithm options dialogue

Certain PAL devices can store an electronic signature that contains user-defined data such as ID codes, revision numbers or inventory numbers.  The signature box is where the user would place the information to be programmed into the device.

The electronic signature is always available to the user independent of the state of the security bit.


PAL Help Menu

The Help menu provides assistance with commonly used features and functions of the Sprint software.  This menu functions may not be available in early versions of the Sprint software.  To ensure that you are using the latest revision of programmer software, download the programmer updates from Data I/O’s web site.


Using the PAL Programming Controls

On the main page of the Optima PAL software, the screen is divided into several sections. These areas contain controls used to determine the number of programming sites used to process devices, the manner in which the sites are utilized, and simple operational controls used to initiate programmer operations.

The first section, titled Optima Xx/XX, contains several controls that determine the site(s) to be used for programming, the TOPs installed on the site(s), and the programming modes of operation.  This section contains a virtual layout of the programmer in use.  If the programmer is an Optima Light, then there will only be one programmer site shown and an indication of the TOP that has been installed.  If the programmer is an Octal, then there will be eight sites displayed (arranged numerically from left to right, top to bottom; Site #1 is at the upper left and Site #8 is at the lower right), as well as indicators of the TOPs installed on each site.  If there is no TOP installed on one or more of the sites, they will be displayed as NO TOP.

The second section, titled Device action, contains several controls that provide quick access to the most commonly used programming actions, such as program, read device, blank check, verify, secure device, and test.  These controls function identically to the controls found in the Device menu, but are conveniently located for quick access.


PAL Single Site Operations

In the diagram below, it can be seen that the programmer in use is a Quad , with four unique  TOPs installed:

A Quad programmer with a Top432, Top 3 Plcc, Top 48, and Top84.

A Multisyte programmer (Dual, Quad, or Octal) is quite flexible as it allows several different styles of TOP to be installed simultaneously.  Naturally, these different TOP styles cannot be utilized to simultaneously program different devices.  Each TOP can, however, be selected directly from the user interface when a different device style is required.

In the above configuration ,there are four Tops installed, a Top432, Top 3 Plcc, Top 48, and Top84. As the figure shows, Site #4 (right-most site) is selected, and the programmer is set to operate in Single mode.

NOTE:	If the programmer has different styles of TOP installed, selecting a site with a different style of TOP will prompt the user to select a new device.  This is normal, as the software must set up the programmer to process the different style of device.  This also holds true with the TOP432 since the types of logic devices that can be programmed with this TOP is limited.


PAL Gang Programming Mode

Programming one device at a time can be time consuming.  To expedite the processing of devices, parallel programming, also known as gang programming, can be utilized with the Multisyte line of programmers (Dual, Quad, and Octal).  A Dual is set to operate in gang mode.  Both TOPs are highlighted, indicating that they can all be used to process devices.  As long as all the TOP styles match, they can be used in the gang programming operation.

NOTE:	Some logic devices are not supported in gang programming mode.  Check the device list for your version of software to ensure the device that you are attempting programming is gang capable.  For more information on creating a device list, see the Creating a Device List section on page 3-1.

Another method you may use to determine those devices supported in gang-programming mode is to select the <gang> button with your mouse cursor, select the TOPs to use for gang programming, then re-select the device to be programmed from the Select Device menu.  The top line of the device-select dialogue should now indicate that the devices are available in the gang mode as shown  below.  Any devices that do not support gang programming will be removed from the device list.

Selecting devices in gang mode of operation

The same holds true when gang programming devices using the TOP432 which supports fewer devices than single-socket TOPs.  Once again, select the <gang> button with your mouse cursor, select the TOP432s to use for gang programming, and then re-select the device to be programmed from the Select Device menu.  The top line of the device-select dialogue should now indicate that the devices are available in the gang mode.  Any devices that do not support gang programming will be removed from the device list.

PAL software configured to operate in gang mode

When using mixed TOPs on a Multisyte programmer, only like-styles of TOP may be used to gang program devices.  To enter the gang programming mode perform the following:

1.	Select the <single> button with the mouse cursor to enter the single site programming mode.

2.	Select the TOP style to be used for programming in the gang mode by choosing the appropriate TOP on any site using the mouse cursor.

3.	Select the <gang> button using the mouse cursor; the indicator to the left of the <gang> button will turn yellow indicating that is waiting for the next operation.

4.	Select another TOP of the same style using the mouse cursor; the software will automatically select all of the TOPs of the same style installed on the programmer.  If all of the sites are not used during the programming operation, they are ignored by the Sprint software when no device is detected in socket.

NOTE:	If the user decides to change TOPs while the Sprint software is running, the programmer and software will not recognize that the new TOP has been installed.  Programmer TOPs are only recognized and initialized when the Sprint software begins.  To properly initialize the TOP, end the current session, and restart the Sprint software.  Removing and replacing TOPs while the programmer is turned on will not damage the programmer or the TOPs.

Once the gang mode is properly configured using the steps above, all of the selected sites are used for simultaneous programming.  When beginning the programming operation, devices can be inserted into all of the selected sockets for processing.


PAL Swap Programming Mode

To further increase efficiency in a production environment, the swap mode may be used.  The swap mode is a modified gang mode, in that it allows the operator to load, unload, and label devices on half of the sockets on the programmer as the other half processes devices.

Programmer waits for the user to insert the devices in the first socket for programming

To enter the swap programming mode, perform the following:

1.	Select the <swap> button using the mouse cursor; the indicator beside it will turn yellow, indicating it is waiting for some user action.

2.	Select from one of the installed TOPs on the programmer;  the programmer will then select all of the TOPs that are like the one chosen.  The indicator beside the <swap> button should turn green, indicating that the programmer is ready for operation in the swap mode.

3.	In the Status section of the screen, enter the total number of devices to be programmed in the text field labeled “total.”

NOTE:	If the total number of devices to program is smaller than the number of sites on the programmer, then the swap mode will not be activated.  The purpose of this mode is to enhance productivity when processing a large number of devices.  The swap mode is purposely deactivated when processing extremely small quantities of devices.

4.	From the Device menu, select Program, or select the <Program> button with the mouse cursor to begin the programming operation.

5.	A window will appear instructing the user to insert devices into the sockets with flashing indicators; insert the devices, then select <OK>.

6.	While the first sets of devices are being programmed, the others may be prepared, labeled, etc.

7.	When the programming of the first set of devices is complete, the software will instruct the user to remove the programmed devices, insert the new devices, and select <OK>; the removed devices can be then be labeled, prepared, etc.

8.	A rhythm will soon be established that may prove beneficial to the efficiency of your programming evolution.


PAL TOP432 Special Operations

A unique TOP used in device programming is the TOP432.  It consists of four 32-pin sockets, and is designed primarily for gang-programming of smaller memory-based devices, but can also program a limited range of logic devices as well.

A Quad programmer with a TOP432 installed

While the TOP432 is, in itself, a gang-programming top, it may also be used in gang with other TOP432s on the same programmer, providing a large throughput of devices.  Using the TOP432 in a multiple-gang capacity is as simple as choosing the gang selection and choosing all TOP432s installed on the programmer.  In this mode, all devices inserted into all of the TOPs will receive the same programming information.

As with all TOPs, the TOP432 operates independently of the others when different TOP styles are installed on a Multisyte programmer.  The only major operating difference between them is the number of devices supported by each.  Otherwise they operate seamlessly together on the programmer.


 File Load Options

For most file load operations the operator will accept the default values when the File load options dialog box appears by clicking on OK.  The File load options dialog box has four-option menu.  Start address in file, Destination in memory, File mode and Intel/Motorola format which are described below

This dialogue provides options for file starting address, device memory destination, file mode, and data format.  Select the mode appropriate for the device to be programmed and select the <OK> button.  In most cases the default values (shown) are used.

Start address in file:  If a  Hexadecimal number is placed in the Start address in file box prior to a File Load operation the Load software waits until that address is reached before placing data into the Optima Ram Buffer.

In the example below the Start address in file has been set to 300 Hex, the load software waits until address 300 hex has been reached before placing data into the ram buffer.

Start address in file works for all formats

Start address in file

File Data (ASCII Hex Space)	Optima Ram Buffer

$A000,	Address	Data

00 01 02 03 04 05 06 07 	0000	88

     	0001	99

$A100,	0002	AA

08 09 0A 0B 0C 0D 0E 0F	0003	BB

0004	CC

$A200,	0005	DD

00 11 22 33 44 55 66 77	0006	EE

0007	FF

$A300,	0008	xx

88 99 AA BB CC DD EE FF	0009 	xx

000A	xx

000B	xx

000C	xx

Start address in file = 300 Hex	000D	xx

xx = Don’t Care	000E	xx

000F	xx

Destination in memory: The hex value placed in the Destination in memory determines the starting point, in the Optima Ram Buffer where data will be stored.

In the example below the Destination in memory value is set to 800 Hex, this causes the start of the data file to placed at 800 hex in the Optima ram buffer.

Destination in memory works will all file formats

Destination in memory

File Data (ASCII Hex Space)	Optima Ram Buffer

$A000,	Address	Data

00 01 02 03 04 05 06 07 	0000	xx

0100	xx

$A008,	0200	xx

08 09 0A 0B 0C 0D 0E 0F	0300	xx

0400	xx

$A010,	0500	xx

00 11 22 33 44 55 66 77	0600	xx

0700	xx

$A018,	0800	00

88 99 AA BB CC DD EE FF	0801 	01

0802	02

0803	03

0804	04

Destination in memory = 800 Hex	0805	05

xx = Don’t Care	0806	06

0807	07

File mode: allows the user to rearrange the file data, which will allow the data to fit in the targeted-programmed device.  For example a 16 bit data file has to be programmed into two eight bit devices.  File mode has five different ways to rearrange data:

8-Bit All: which has no affect on the incoming data.  The default value.

8 Bit Merge Low and High which used to merge two 8 bit files into one 16 bit file.

16-Bit Even and Odd; used to program a 16-Bit data file into two 8-bit devices.

32-Bit Byte 0, Byte 1, Byte 2, Byte 3; used to program a 32-bit data file into four 8-bit devices.

32-Bit Low and High Word; used to program a 32 bit data file into two 16 bit devices.

With 8-Bit All the file data that is read is transferred directly into the Optima ram Buffer

8-Bit All

File Data 	Optima Ram Buffer

$A000,	Address	Data

00 01 02 03 04 05 06 07 	0000	00

0001	01

$A008,	0002	02

08 09 0A 0B 0C 0D 0E 0F	0003	03

0004	04

$A010,	0005	05

00 11 22 33 44 55 66 77	0006	06

0007	07

$A018,	0008	08

88 99 AA BB CC DD EE FF	0009 	09

000A	0A

000B	0B

000C	0C

000D	0D

000E	0E

000F	0F

8-Bit Merge Low and High is used to merge two 8 Bit data files into one 16 bit data file, allowing a 16 bit device.

To merge two 8-bit files into one 16-bit file do the following:

Select the first  8-bit  file and choose 8-Bit Merge Low and load your file, the 8-bit data will be loaded at all the even addresses (Red).

Select the second 8-bit file, choose 8-Bit merge High and load the file, the 8-bit data will be loaded at all the odd addresses. (Green).

Program the 16-bit memory device.

The newly created 16-bit data file can be saved.

8-Bit Merge Low and High

File Data 	Optima Ram Buffer

$A000,	(8-Bit file one)	Address	Data

00 01 02 03 04 05 06 07 	0000	00

0001	00

$A008,	0002	01

08 09 0A 0B 0C 0D 0E 0F	0003	11

0004	02

$A000,	(8 Bit file two)	0005	22

00 11 22 33 44 55 66 77	0006	03

0007	33

$A008,	0008	04

88 99 AA BB CC DD EE FF	0009 	44

000A	05

000B	55

000C	06

000D	66

000E	07

000F	77

16-Bit Even and Odd is used to split a 16-Bit data file into two 8-bit data files

This is a two step process and each step requires a programming operation.

Select the 16-Bit data file that is to be split into two 8-bit files and select 16-Bit Even and load the file.  All the even data bytes will be loaded into Optima Ram buffer as shown in red.  After the file has been loaded, program the 8-bit memory device.

Repeat the file download operation, but select 16-Odd.  All the odd data bytes will be loaded into the ram buffer which  are shown in green.  Program the second 8 Bit device.

16-Bit Even and Odd

File Data 	Optima Ram Buffer	Optima Ram Buffer

16-Bit Even Selected	16-Bit Odd Selected

$A000,	(8-Bit file one)	Address	Data 	Data

00 01 02 03 04 05 06 07 	0000	00	01

0001	02	03

$A008,	0002	04	05

08 09 0A 0B 0C 0D 0E 0F	0003	06	07

0004	08	09

$A010,	0005	0A	0B

00 11 22 33 44 55 66 77	0006	0C	0D

0007	0E	0F

$A018,	0008	00	11

88 99 AA BB CC DD EE FF	0009 	22	33

000A	44	55

000B	66	77

000C	88	99

000D	AA	BB

000E	CC	DD

000F	EE	FF

32-Bit Byte0..Byte3 is used to split a 32-Bit data file into four 8-bit data files.

This is a four-step process and each step requires a programming operation.

Select the 32-Bit data file that is to be split into four 8-bit files and select 32-Bit Byte 0  and load the file.  Data bytes D0-D7 will be loaded into Optima Ram buffer as shown in red.  After the file has been loaded, program the first 8-bit memory device.

Repeat the file download operation, but select 32-Bit Byte 1  Data Bytes D8-D15  will be loaded into the ram buffer which  are shown in green.  Program the second 8-bit device.

Once again repeat the operation but select 32-Bit Byte 2.  Data bytes D16-D23 will be loaded into the ram buffer which are in blue.  Program the third 8-bit device.

Repeat the operation a forth time but select 32-Bit Byte 3. Data bytes D24-D31 will be loaded into the ram buffer which is shown in pink.  Program the forth 8 bit device.

32-Bit Byte0..Byte3

File Data 	 Ram Buffer	 Ram Buffer	Ram Buffer 	Ram Buffer

32-Bit Byte 0  	32-Bit Byte 1	32-Bit Byte 2	32-Bit Byte 3

$A000,	Address	Data 	Data	Data	Data

00 01 02 03 04 05 06 07 	0000	00	01	02	03

0001	04	05	06	07

$A008,	0002	08	09	0A	0B

08 09 0A 0B 0C 0D 0E 0F	0003	0C	0D	0E	0F

0004	00	11	22	33

$A010,	0005	44	55	66	77

00 11 22 33 44 55 66 77	0006	88	99	AA	BB

0007	CC	DD	EE	FF

$A018,

88 99 AA BB CC DD EE FF

32-Bit Low and High Word is used to split a 32-Bit data file into two 16-bit data files.

This is a two step process and each step requires a programming operation.

Select the 32-Bit data file that is to be split into two 16-bit files and select 32-Bit Low Word and load the file.  All the low-order data words will be loaded into Optima Ram buffer as shown in red.  After the file has been loaded, program the 16-bit memory device.

Repeat the file download operation, but select 32-Bit High.  All the high order data words will be loaded into the ram-buffer which is shown in green.  Program the second 16-bit device.

32-Bit Low and High Word

File Data 	Optima Ram Buffer	Optima Ram Buffer

32-Bit Low Word Selected	32-Bit High Word Selected

$A000,	Address	Data 	Data

00 01 02 03 04 05 06 07 	0000	00	02

0001	01	03

$A008,	0002	04	06

08 09 0A 0B 0C 0D 0E 0F	0003	05	07

0004	08	0A

$A010,	0005	09	0B

00 11 22 33 44 55 66 77	0006	0C	0E

0007	0D	0F

$A018,	0008	00	22

88 99 AA BB CC DD EE FF	0009 	11	33

000A	44	66

000B	55	77

000C	88	AA

000D	99	BB

000E	CC	EE

000F	DD	FF

The Intel / Motorola Format is used to do an odd/even byte swap as data is being loaded.  Selecting Intel Little Endian (default value) the data is loaded directly into memory.  When Motorola Big Endian is selected an odd/even byte swap is performed before prior to the data being stored into the ram buffer.

Note: All version of the Windows Optima software up to an including B/99 does not have a byte swap mode.  Versions after B/99 do have a Byte Swap feature  which is located under the Memory menu.

Intel / Motorola Format

File Data 	Optima Ram Buffer	Optima Ram Buffer

Intel Little Endian Selected	Motorola Big Endian  Selected

$A000,	Address	Data 	Data

00 01 02 03 04 05 06 07 	0000	00	01

0001	01	00

$A008,	0002	02	03

08 09 0A 0B 0C 0D 0E 0F	0003	03	02

0004	04	05

$A010,	0005	05	04

00 11 22 33 44 55 66 77	0006	06	07

0007	07	06

$A018,	0008	08	09

88 99 AA BB CC DD EE FF	0009 	09	08

000A	0A	0B

000B	0B	0A

000C	0C	0D

000D	0D	0C

000E	0E	0F

000F	0F	0E


Save As

The Save As dialogue is found under File Menu and allows the generation of data files as shown below:

The Save-As dialogue

The user may save data files in the following format:

?	Binary (*.bin)

?	Hex (*.hex) Intel 86

?	Motorola S-Record (*.SRC)

?	ASCII  Hex Space (*.spc)

?	Formatted Binary (*.fmt)

After loading a data file or reading a master device, select Save As from the File menu, select the appropriate file format, name the file, and save it to the desired location.

With the Optima PAL software files can be Saved As a JEDEC file format


Edit

Both the Optima Pal and Prom software have and editor, which allows editing of the data in ram.  Going to the Memory Menu and selecting Edit accesses this feature.

The Optima Prom editor allows data to be edited in hexadecimal or ASCII.  On the left hand side is the hexadecimal editor and on the right is the ASCII editor.  To enable the editor, place the cursor where you want to be editing and then click.

Hexadecimal Editor	ASICII Editor

Optima Prom Editor

The Optima Pal editor allows fuse map data to be edited.

Optima Pal Editor


Fill

This is a feature of the Optima Prom software.  It can be selected two different ways.  First, by going to the Memory Menu and selecting Fill.  The second is by clicking on the right mouse button when in the Memory Edit mode.

This features allows either all or part of the ram buffer to be filled with a specific data pattern.

For example if:	Start-Addr. = 1000h

 	End-Addr.   = 1FFFh

Pattern = 	       AAh

The Ram buffer memory location from 1000 – 1FFF hex would be filled AA hex after clicking on OK.


Swap Bytes

This is a feature of the Optima Prom software.  It can be selected two different ways.  The first is by going to the Memory Menu and selecting Swap Bytes.  The second is by clicking on the right mouse button when in the Memory Edit mode.

Each left mouse click on Swap Bytes causes an odd/even byte swap in ram buffer to be performed.  For example:

Address	     Data	After Swap Bytes	Address	Data

00	00	00	01

01	01	01	00

02	02	02	03

03	03	03	02


Address Range

This is a feature of the Optima Prom software.  It is selected by going to the Memory Menu and selecting Address Range.

There may be times when only certain portions of the memory device need to be programmed.  The Address Range is used to establish the programming area of the device.  For example:

Selecting the Address Range… item from the Memory menu will produce the following dialogue:

With Start Address set to 1000h and the End Address 1FFF, when the programming operation is performed, only location 1000h to 1FFFh of the memory device will be programmed.


Checksum

Checksum option is a feature of Optima Prom software and is located under the Memory Menu.  The Optima Prom software can display a 4-8 digit checksum.  The default value is 4 digit.

The checksum is calculated by adding all the data bytes of each memory location together until the word limit of the device selected is reached.  For example an AMD 2764 has a word limit of 1FFF, the default checksum is E000h.  This value is obtained by adding all the FF’s from address 0000 through 1FFF.


Special Device Features

Certain memory and microcontroller devices have additional programmable feature such as programmable oscillators, special ID bits or sector protect.  These optional programmable features are selecting Special Device Features which reside under the Memory Menu.  This option is grayed out if the device selected does not have any special programmable features

The Special Device Functions…menu item is used to set features unique to the devices under test.  These features will vary from device to device.  One of the most common is the device sector protection feature for Flash memory devices

Setting special device functions for Flash

Setting special device functions for a microcontroller


Device Serialization Options

Device Serialization Options which is available under the Memory Menu, allows the user to assign unique electronic serial numbers to each device being programmed.  When serializing devices, the serial number is automatically incremented for the next device each time the Sprint software completes a programming operation.  When serializing with Multisyte programmers (Dual, Quad, and Octal) in gang mode, sequential serial numbers are automatically generated for devices inserted into adjacent TOPs.

NOTE: 	Serialization is only supported with single-socket TOPs, such as the TOP48, TOP84PLC, and other similar TOPs.  It is not supported on the TOP432.

To set up this feature, refer to the figures below and perform the following:

4.	From the Memory menu, select Device Serialization Options… The following screen will appear:

Selecting the serial number file

5.	Choose the path and serial number file you would like to use, or if creating a new serial number file, type in the desired name of the file in the File name field.  For clarity, please use DOS standard 8.3 file names.  The default file extension for serial number files is *.sn, but can be anything you like.  To locate files with extensions other than *.sn, select All (*.*) from the List files of type pull-down menu in the lower left of the window.  When finished, select <OK>.

6.	A Serialization Options screen appears:

The Serialization Options screen

Editable fields include:

?	Serialization- Selecting ENABLED allows serialization of devices.  DISABLED allows multiple serialization files  to be created and saved but will not active until they are enabled.

?	S/N Options file—The name of the serial number file that was selected or created from the previous screen

?	Next S/N—The starting serial number of the next device to be programmed; this is a decimal number.  Numbers entered here will automatically be converted to the correct format when the device is programmed.

?	S/N stored in—Selects the format that the serial number data will be written to the device; choices are HEX (each digit from 0h to Fh), ASCII (each digit from 30h to 39h), and BCD (00002 to 10012).

Selecting the format to store serial number data

The example below (Serialization) shows how the decimal value 100 is stored in memory as  BCD, ASCII and Hex values.

?	S/N Digits—Selects the number of characters, in decimal, used for the serial number format.  The maximum number of characters are:

o	8 for S/Ns stored in HEX (FFFFFFFFh); S/Ns 0 through 4,294,967,295

o	9 for S/Ns stored in ASCII (393939393939393939h); S/Ns 0 through 999,999,999

o	8 for S/Ns stored in BCD (99999999h); S/Ns 0 through 2,576,980,377

NOTE:	The S/N Digits value indicates the number of hex characters that are permitted to exist as a serial number in the memory array.  The exception to this rule is the ASCII format, in which the number represents hex bytes.  While this appears complicated, as long as the serial number limits are not exceeded, no errors will occur.

.

?	Serial Number Start Addr.—The hexadecimal address in the memory array where the first byte of the serial number will be placed.  All characters of the serial number must fit within the memory array of the device, else serialization will not take place.

?	Byte Order—Used to select the order that the serial number data is placed in the device as related to the data file; choices include Big Endian (Hi byte/Lo byte—Motorola) and Little Endian (Lo byte/Hi byte—Intel).

Selecting the byte order of a data file

?	Word Mode—Set when a serial number byte is to extend to the word width of the device.  If word mode is set to:

o	Off—The default byte width of 8 bits is used.

o	On—One byte of the serial number data will occupy the width of the data path.  If the data width of the device is 16 bits wide, then one byte of the serial number will also be 16 bits wide.  For unique devices, such as some Microchip Technology devices, the word width may be 12 or 14 bits.

?	Store S/N bytes—This setting specifies which bytes are written to the memory array and in which order.  The selections are:

o	All—All bytes of the serial number are written to the memory array

o	Even—Only the even bytes of the serial number are written.  If this option is selected, then the number of serial number digits (selected in S/N Digits) must be even (2, 4, 6, or 8).

o	Odd—Only the odd bytes of the serial number are written.  If this option is selected, then the number of serial number digits must be even (2, 4, 6, or 8).

o	0 of four, 1 of four, 2 of four, 3 of four—Only bytes in the corresponding byte position in the serial number are written.  For example, if a HEX serial number of 00BC614Eh is generated, when 1 of four is selected, BCh (byte #1 of four bytes total) is written to the designated start address.  The largest hexadecimal serial number allowed is FFFFFFFFh, or 4,294,967,29510.  The largest BCD serial number allowed is 99999999h, or 2,576,980,37710.

NOTE:	The X of four mode works only with hexadecimal and BCD serial number types as selected in the S/N stored in field.  Selecting ASCII as a serial number value type will return an error.

Selecting the method of storing serial number bytes


Verify

This feature is part of the Optima PAL and Optima Prom software.  After the programming operation verification is automatically performed.  The verify operation compares the information in the Optima ram buffer  with the actual data that was programmed into the device.  If an error is found the operator is notified.

At any time the operator can perform a manual verify operation by clicking on VERIFY.

The following device verification options are available under the PROM Options menu:

o	Verify Off, as the name implies, provides no verification of the device after programming

o	Verify Normal provides a single-pass verify at nominal VCC for the device after programming

o	Verify High/Low provides a two-pass verify; once at device-rated low VCC, and a second at device-rated high VCC

The following device verification options are available under the PAL Options menu:

o	Verify Off, as the name implies, provides no verification of the device after programming

o	Verify Normal provides a single-pass verify at nominal VCC for the device after programming

o	Verify Low provides a single-pass verify at device-rated low VCC

o	Verify High provides a single-pass verify at device-rated high VCC

o	Verify Low and High provides a two-pass verify; once at device-rated low VCC, and a second at device-rated high VCC


EErase

This is an On/Off option in the Optima Prom software and resides under the Option Menu.  If a check mark is in front of this option it is enabled and an erase cycle will automatically be preformed prior to programming any electrically erasable memory device.

If you are receiving brand new devices from a distributor this option could be turned off as new EEPROMs are erase.  In some cases the erase cycle is longer that the programming cycle.  Turning the erase cycle off may help increase device programming throughput.

The option resides under the Option menu of the Prom software.  To enable or disable click on the option.


Continuity Check

This is an On/Off feature that resides in the Optima Prom and Pal software under the Options Menu.  By default this option is On (checked) and is used to make sure that the device is correctly inserted in the socket before a programming operation is executed.


ID Check

This is a feature that resides in the Optima Prom software under the Options Menu.  Allows for the checking of the manufactures electronic ID prior to programming the device.  The device selected activates this feature; some devices do not have electronic ID.  Typically the devices that do not have electronic ID are BI-polar devices and some of the early generation EPROM’s and EEPROM’s.  When a device is selected that does not have an electronic ID this option is turned OFF.

The purpose of the electronic ID is to help ensure that the correct device in the socket and that the proper algorithm has been selected.  Prior to programming the electronic ID of the device is read and compared to the programming algorithm selected if the two match,  the programming operation continues otherwise an error is reported.

ID Check has three options Off, On and Auto which are enabled by placing a check mark next to the option.   Clicking on the desired option enables the option.    Clicking on the option again turns disables the option. Only one of the options can be enables at a time.

Off:  The electronic ID is not checked prior to programming the device.

On: The electronic ID of the device is compared to the device programming algorithm selected, if the two match to programming algorithm is allowed to continue.  Otherwise an error message is displayed and the programming operation is terminated.

Auto: When selected the device electronic ID is read and compared to the algorithm selected.  If an error is detected then the Optima Prom software takes the device ID looks up the device in the database and compares it to the selected programming algorithm.  If they have the same number of address lines, data lines and similar pinout the software will automatically change programming algorithms an program the device in the socket

An example and Intel 27128 programming algorithm has been selected, but an AMD 27128 device has been placed in the programming socket.  At the beginning of the programming operation the electronic ID is read, an error occurs.  The Optima software looks up the AMD 27128 electronic ID in the database and determines that the two devices are the same except for the programming algorithm.  The Optima software would automatically change the programming algorithm to support the AMD 27128 and the programming operation would continue without an error message being generated.


Algorithm Options

?	This options shows the programming parameters for the selected device.  These programming parameters are for reference only and can not be changed.  At the bottom is the Default buffer contents which shows how the ram buffer is filled.  If required these values can be changed.


Secure

This feature, which is found under the Device Menu is part of the Optima PAL software and is a manual operation and is applicable only to those logic device that have a security.   The purpose of the security bit is to stop unauthorized reading of the fuse map data of a logic device.

Selecting the Secure features causes the PAL software to program the Security bit that resides within certain logic devices.  Once the security bit has been programmed a programmer can no longer read the fuse data but the programmed logic device will still function correctly.

The security bit should not be set until the logic device has been programmed and verified.

NOTE:	 after setting of the security bit,  test vectors can still be applied to the programmed logic device.


Test

This feature, which is found under the Device Menu is part of the Optima PAL software and is manual operation. Test applies the optional test vectors to the programmed logic device after the device has been programmed and verified.

Test vectors are used to determine if the device performs the intended logic function.  Test vectors contain input information and expected output information.

When the test vectors are executed the programmer applies the input information to the logic device, then reads outputs of the device.   The PAL software looks at the expected output information in the test vector and compares the output information that was read from the device.  If the output information matches  the next test vector is applied until all the test vectors have been applies.  If an error occurs the operator is notified and the test vector operation is terminated.

During a programming operation if the test vectors are appended to the JEDEC files the test vectors are automatically executed after the programming and verification process.


Auto Secure

This feature,  which is found under the Options Menu is part of the Optima PAL software and is an enable or disable option.  Auto secure is enabled by clicking on Auto Secure which places a “check mark’’ in front of the option.  Clicking again on Auto Secure removes the “check mark” and disables the option.

Auto Secure works in conjunction with the Security Fuse Field (G field) of the JEDEC file.  If G field is set to a 1 and the Auto Secure feature is enabled (checked), then, after the program and verify operation the security bit of the programmed logic will be set and the fuse data will not be able to be read by the programmer.

Note: after setting of the security bit test vectors can still be applied to the programmed logic device.


Vector Test

Is an Optima PAL feature, found under the Options Menu and is used to select the vector testing methods of the device after programming.  If a JEDEC file with test vectors has been read into memory, then the device in the socket can be tested for conformance with these test sequences with this command:

Vector testing options in the Options menu

The following vector test options are available:

?	Off, as the name implies, provides no vector testing of the device after programming

?	Normal provides a single-pass vector test at nominal VCC for the device after programming

?	Low provides a single-pass vector test at device-rated low VCC

?	High provides a single-pass vector test at device-rated high VCC

?	Low and High provides a two-pass vector test; once at device-rated low VCC, and a second at device-rated high VCC


File Load

Selecting File>Load will produce the following screen:

The Open dialogue

The Open dialogue allows the use of several different data formats including:

?	Binary file formats (*.com, *.bin)

?	Hex files such as Intel Intellec 8/MDS, Intel MCS-86 Hex Object, Intel OMF 286, Intel OMF 386, Intel Hex-32, Motorola EXORciser, Motorola EXORmax, Motorola 32 bit (S3 record), Tektronix Hexadecimal, Tektronix Hexadecimal Extended.

?	MOS Technology format MOS (*.mos)

?	QuickLogic LOF  format (*.lof)

?	Actel  file format for ACT One devices  (*.dio)

?	Hewlett Packard 64000 Unix Format (*.hp)

When selecting a Hex file format the user does not have to select a specific file format such as Intel MDS 83.  The Optima PROM software reads the beginning of the selected file and automatically determines the type of Hex file format.

The user file does not have to have the specific file extension as shown.  In the File name dialog box the use can select *.* which will list all files.


Goto Address

This feature is part of the Optima Prom software.  It is selected by going to the Memory Menu, selecting Edit and clicking the right mouse button.

Entering a hex number and clicking OK causes the editor to go to the specific address entered and displays the address and data.

Example enter 100 hex will display the address and data at address 100 hex.


Search for Byte

This feature is part of the Optima Prom software.  It is selected by going to the Memory Menu, selecting Edit and clicking the right mouse button

In the Find hex figures box enter the hex figure that needs to be found.

In the Start address box enter the address (hex) where you want to start searching from.

Example:  Find hex figures = 55h

                 Start Address = 100h

Search for byte will find the first hex 55h byte at address 100h or after.

Repeat search will continue the search for the next hex figure.


TOP432 Set Operations

Clicking on the Top 432 icon brings up the following dialog box.  For Set operations choose SET-MODE , then select either 8 Bit, 16 Bit, or 32 Bit.

The 8 Bit mode is selected when a large data file needs to be programmed over multiple memory devices.  In the example below the 64K file data is  programmed into four 16K memory devices.  The first 16K (0000-3FFF) would be programmed into socket 1, the second 16K (4000-7FFF) into socket 2, third 16K (8000-BFFF)into socket 3 and the last 16K (C000-FFFF) is programmed into socket 4.

With the Top432 this is an automatic process, the file is downloaded, the 8 Bit mode is selected and the programming operation is started.

The 16 Bit mode is selected when a 16 Bit data file needs to programmed into two 8 Bit devices.  In the example below the file data is a 16 Bit format.  As the file data is read during the programming operation, the Top432 software places the low order bytes in sockets one and three.  The High order bytes are placed in sockets two and four.

Note: Often low order bytes are refereed to as EVEN bytes and high order bytes as ODD bytes.

With the Top432 this is an automatic process, the file is downloaded, the 16 Bit mode is selected and the programming operation is started.

The 32 Bit mode is selected when a 32 Bit data file needs to programmed into four 8 Bit devices.  In the example below the file data is a 32 Bit format.  As the file data is read during the programming operation, the Top432 software places low order data bytes (D0-D7) in socket one.  Data bytes (D8-D15) are placed in socket two, data bytes (D16-D23) are placed in socket three and the high order bytes (D24-D310  are placed in socket four.

With the Top432 this is an automatic process, the file is downloaded, the 32 Bit mode is selected and the programming operation is started.


PROM Software Menus

The PROM software is organized by means of six pulldown menus. To find help on one of the menus in the PROM software, search for the menu in the Table of Contents, or Click on one of the links below.

File Menu

Memory Menu

Device Menu

Select Device Menu

Options Menu

Help Menu


PAL Software Menus

The PAL software is organized by means of five pulldown menus. To find help on one of the menus in the PROM software, search for the menu in the Table of Contents, or Click on one of the links below.

File Menu

Memory Menu

Device Menu

Select Device Menu

Options Menu

Help Menu


PROM Software Features

The following features are integral parts of the PROM software. To find help on one of the features, either search through the help index, or click on one of the features below.

Using the Programming Controls

Single Site Programming Mode

Gang Programming Mode

Swap Programming Mode

TOP432 Special Operations


PAL Software Features

The following features are integral parts of the PAL software. To find help on one of the features, either search through the help index, or click on one of the features below.

Using the PAL Programming Controls

PAL Single Site Operations

PAL Gang Programming Mode

PAL Swap Programming Mode

PAL TOP432 Special Operations


Pal Checksum

Here the user can change the checksum display from four digits (default) to 8 digits.


Pal File Open

Selecting File > Load will product the following screen:

The File Open dialogue

The Open dialogue allows the use of several different data formats including:

?	JEDEC standard (*.jed)

?	Altera POF format (*.pof)

?	Altera JAM format (*.jam)

Navigate the computer or network for the required data file, and select the <OK> button.  Once the file is loaded, the device may be programmed.

NOTE:	   As with any data file used with a logic device, it absolutely must be compiled for the device you are trying to program.  Using an incompatible data file type, or a data file designed for a different device, can result in an error being returned by the PAL software.  A one-character difference in device numbers on the device can mean the difference between a successful or failed programming attempt.  The exception would be if the user was using a cross-programming algorithm that was designed for that purpose of programming a different device.

Typical error messages would include:

?	ERROR, expected 5828 fuses, file has 8294—Usually encountered when programming with JEDEC files; the data file has been compiled for a different device than that which is installed.  In this instance, the device has 5828 physical fuses, but the data file has accommodations for 8294.  For JEDEC files, the parameters must match.

Not an allowed file type—A file type is being used with a device that it is not compatible with.  For example, the device installed may require an Altera POF file format, but the user has selected a JEDEC or JAM file.


Pal File Save As

There is also an option for saving the data in RAM as a data file.  This can be helpful when the user has a master device but no data file, and would like to create one.  The Save As dialogue allows the generation of data files as shown below:

The Save-As dialogue

The user may save data files in standard JEDEC (*.jed) format only.  Select a path and filename for your file, then select <OK> to save it to the designated location.


Pal Select Device

Selecting the device to be programmed is as simple as using the Select Device menu item.  When selected, the following screen will appear:

Selecting the device to be programmed

In the example above, the Optima software has recognized the TOP48 is in use.  The devices listed are those that are supported by the TOP that has been installed.  If the device is not found on the list, then it is probably not supported by that TOP.  Be sure to check all of the Family classifications for the device in case that the part number may be in a different location than expected.  The family categories are presorted in a number of fashions to make searching for the device a bit less time consuming.

Because the information in the device selection dialogue is the exact same data that is used to create the device list, the device menu name will be exactly as it is noted in the device list.


Calibration

The Optima family consists of precision products that require periodic calibration.  Typically, once a year.  It is recommended that you send your programming system to your nearest Data I/O service facility for calibration.

The user can do there own calibration if they have been trained and certified by Data I/O.  For additional information an training please contact the Data I/O service center.

In Europe 49.89.858.580

In U.S.A. 800.247.5700

E-mail – techhelp@data-io.com

If you plan to purchase a Software Maintenance Plan (SMP) start the calibration software by clicking on <Yes>.  After the parallel port test has completed the Level, Serial #, Load, System Type and SMP expires after boxes will have values placed in them.  The Level, Serial #, System Type and SMP expires after information will be needed when ordering.

Installing an SMP is done by clicking on <Yes> to run the “checking printer port” test.  When this is complete click <No>.  Select <SMP-Update> which was previously “grayed out” from the top portion of the calibration window.

I


Vector Test Errors

When a test vector fails a test vector error-map is displayed:

Test vector error-map

The error- map shows the test vector(s) that failed, the expected data and measured data.  The user can select <More> which will display the next failed test vector.  Clicking on <Abort> will display the follow the following:

Selecting <Yes> starts the Test Vector Editor.

Optima TestVector Editor

The top portion of the editor shows a graphic representation of the chip with the appropriate input stimuli and the expected output.  In the bottom half is a list of the vectors that are being applied to the device.  The hi-lighted vector is the one currently being applied to the device.  Errors are shown in red.

At the bottom of the screen are control buttons:

.

?	Cursor is Start – Hi-light the test vector at the point you wish to begin running the vectors  (In most cases the starting point is the first vector.) then click <Cursor is Start>

?	Single Step – steps through each vector each time <Single Step> is selected

?	Run to End – causes the software to run through all the test vectors until the end is reached unless an error is encountered.  If an error occurs the software will stop.


Calibrate Voltages

The Sprint and Quad and Octal programmers are precision-made pieces of electronic equipment that need periodic calibration.  Typically, once a year.  Calibration should also be considered if the programming yield of the devices decrease dramatically.

There are two parts to the calibration.  The first is the user will be asked to connect resistors across certain pins of a Top 48 adapter.  Once the resistor has been connected, a digital voltmeter will be placed across the resistor.  A measurement will be taken, and the value will enter in the appropriate box.  This operation will be repeated for several different pins on the Top 48.  Once all the values have been entered the calibration software will evaluate the entered values and determine if calibration is needed.  If it is the user will have the option to enter calibration mode

Although calibration is not difficult it is suggested that you contact your nearest Data I/O service center to ensure that you have the latest information available.  Having a calibrated programmer is critical in having the highest quality and best possible yields.

For additional information an training please contact the Data I/O service center.

In Europe 49.89.858.580

In U.S.A. 800.247.5700