Techniques are provided for trimming drive current in output drivers to compensate for process variations, model inaccuracies, and/or an off-target process. The actual output drive current is measured on the integrated circuit (IC) at wafer sort or during a final test. Based on the measured output drive current, the total transistor width that is required in the output driver to meet an I/O standard is calculated. A control block controls trimming transistors that are coupled in parallel with main output drive transistors. The control block adjusts the total width of the output drive transistors to bring the total width as close as possible to the desired width. Each I/O driver on a die can be adjusted individually based on its own drive current characteristics. All I/O drivers on a die can be adjusted by the same transistor width based on a single I/O measurement or on multiple I/O measurements.
Methods of compensating for process variations and/or mask revisions in a programmable integrated circuit (IC). A non-volatile memory in the IC stores a value representing a process corner and/or mask revision for the IC. A configuration control circuit monitors a configuration bitstream provided to the programmable IC. When no code key is received, configuration data is applied to a first (e.g., digital) circuit. When a code key is identified, the code key is compared to the stored value. If there is a match, the subsequent configuration data is applied to a second (e.g., analog) circuit. If there is no match, the subsequent configuration data is ignored until an "unlock" command is detected in the bitstream. Thus, the configuration data for the digital circuit need be included only once in the bitstream, while the configuration data for the analog circuit is supplied once for each supported process corner or mask revision.
A plurality of transistor pairs of Pch and Nch transistors are connected in series between VDD and GND. An I/O terminal is connected to each connection point of the transistor pairs. Two transistor pairs constitute one transistor set, in which each of two Pch transistors and two Nch transistors have the same on-resistance. In input mode, one of the two transistor pairs in a first set is turned on, and a transistor pair of a second or later set is selectively turned on. In output mode, two Pch transistors or two Nch transistors of the first set are turned on, and a transistor of the second or later set is selectively turned on.