Uwharrie Test Solutions

LLC

TSN_logo.JPG (12298 bytes)

Pants of Fire!


I personally believe that when a test professional argues against Flash Programming at ICT, this probably means that they lack the technical expertise to do so, or they have a third party programmer or some expensive off-line station they are trying to sell you. Or maybe they are trying to market an ICT that does not have this capability.

I keep no secrets. When I argue in favor of Flash at ICT, I have an algorithm I am trying to sell you. However, I do want to keep my points as factual as possible.

When I Google “Flash at ICT” I find an Intellitech paper with some strong arguments against this practice. As you can see below, it is quite easy to read between the lines and debunk all of these arguments.


Intellitech says: “It can greatly impact the design as it requires the designer to add test points for direct access to all FLASH device pin”. Maybe so for some large parallel flash devices. But if you don’t add the test points you can’t test at ICT either. So what’s the point of ICT in the first place? Many of the large BGAs are Microcontroller Embedded Flash or FPGAs, in which case they only need access to a few pins (JTAG, SPI, BDC, UART etc...) to program the flash.

Intellitech says: “ICT is not a highly flexible FLASH programming platform because programming FLASH using ICT cannot be done outside of the manufacturing facility”. Just because you programmed flash at ICT does not eliminate your ability to do so elsewhere. You can still reprogram your flash off-line or in the field. This is like saying they should not put the tires on the cars in the factory because you will need to carry a factory around with you for every time you get a flat.

Intellitech says: “It requires that a new test program to be developed and re-compiled each time there is a change in the FLASH memory contents”. Flat out not true! You recompile a new Deep Serial Memory .DDB file and copy it to the tester, a 5 minute procedure that a penguin can do. No changes in the ICT program itself. That’s about the same amount of work you would need to do for a firmware change at a programming station.

Intellitech says: “Long on-board programming time increases the cost of any PCB (although it has a very good benefit for the CM who charges for this ICT test time)”. Many CM are actually opposed to Flash at ICT because they want to charge you for a separate flash station with another operator and another handling of your boards. Preprogrammed parts will also add another station or a premium to the price of the preprogrammed part.

Intellitech says: “increases production ‘line balancing’ complexity”. In the case where it adds only a few seconds, this argument is just boloney. In the case where flash programming approaches a minute, that‘s a good argument against In-Line ICT in the first place, as In-Line ICT also limits your time allowance to do a meaningful test and produce a quality product. When Flash at ICT exceeds a minute it’s time to revisit the algorithm you are using or the programming speed of the device you have chosen for your design. I will admit that for some very slow-to-program devices it makes sense to program elsewhere on lower cost equipment. But 95% of the time it does not.

Return to Home Page