Device programming services program field-programmable gate arrays (FPGA), application-specific integrated circuits (ASIC), general array logic (GAL) devices, programmable array logic (PAL) devices, erasable programmable read-only memory (EPROM), and other electronic components. In some cases, device programming is performed at facilities that assemble printed circuit boards (PCB). Many device programming services use a technique called package-type programming. Examples of integrated circuit (IC) package types include ball grid array (BGA), dual in-line package (DIP), single in-line memory module (SIMM), and personal computer memory cards (PCMCIA). Approximately 15% of the current IC market comprises programmable chips.
Device programming services program IC chips based on type of package, type of device, the size of the device, and the device manufacturer. Specific processes include automated programming, manual programming, and embedded systems programming. Automated programming loads media directly into a programmer handler. Manual programming involves the manual removal of an integrated circuit from the programmer and includes visual inspection, manual marking, and the return of the chip to the program handler. Both manual and automated device programming services are specific to package types such as BGA, DIP, or SIMM.
The other major type of device programming service is embedded systems programming. This involves the direct coding of an entire system’s functionality into a single circuit that is designed to work in tandem with other systems. Device programming services use embedded systems programming with GAL, FPGA, ASIC, PAL, and EPROM devices. Typically, these devices are used in aircraft, spacecraft, manufacturing applications, and robotic devices. Other common applications for embedded systems include printed circuit boards (PCBs) such as motherboards, network interface cards (NIC), and peripheral devices such as printers and modems.
Device programming services can be divided into vendors who perform the actual programming, and suppliers who build the machines for programming the devices. Costs vary by service category, complexity, and turn-around time.