XC9500 devices receive programming vectors and instructions via the JTAG Test Access Port. During programming, the address and data information is shifted in first and then a programming time is initiated to imprint the programming data into the selected flash cells. This is repeated for all flash memory addresses within the device. Therefore, the time required to program an XC9500 device includes two components: the information download time and the flash memory programming time. In the typical application, where the JTAG clock operates from 1MHz to 10 MHz, the flash memory programming time exceeds 90% of the total programming time.