February 12th, 2013 ~ by admin
Users of the Python programming language often say it can do anything, and that may just be true. Microcontrollers through out their history have had a variety of ways to store the programs they run. Unlike a microprocessor, a microcontroller typically has a fixed, or somewhat fixed, program that it runs. This program is often referred to as firmware (its not software, as its cant easily be changed, and its not hardware as it isn’t discrete chips, thus firmware).
There are several common ways to store firmware:
- UV-EPROM: The microcontroller has a UV-EPROM as part of its die (or in some cases separate but on the same package). This can be programmed using higher voltages, and erased/updated, albeit not in the field. This was popular in the 80′s for prototyping work.
- Flash (or EEPROM): This replaced UV-EPROM program storage as it was update-able in circuit, allowing for such things as user BIOS upgrades, updating firmware on CD/Hard Drives etc. This has become fairly standard for any firmware that is likely to need to be upgraded in the future.
Intel B2616 – Unless you clean the paint off
OTP: One Time Programmable Read Only Memory is useful for medium to large scale production runs. This allows the code to be ‘burnt’ onto a chip prior to shipping. Often all these were were UV-EPROM chips in a plastic package. Early Intel’s even used UV-EPROM chips, and simply painted over the window. a 2708 UV-EPROM became a 2608 PROM with the simple application of some nail polish. There has been some experimentation and success in erasing/reusing these with the use of X-Rays. (they can penetrate the plastic package).
- Mask ROM: A Mask ROM is just as it sounds, the program code is actually added to the actual mask itself when making the microcontroller die. This is the most economical and reliable for very large production runs. Obviously one wants to make very sure the code is correct before cutting a mask with it, masks are expensive, and manufacturers are not keen on giving do overs. In 1978 Intel charged $1000 Mask fee, and a minimum order of 100 units for an 8k ROM (~$10). By 1986 that Mask fee had risen to $3000 and min units to 1000.
So what happens when 20+ years later you need to figure out whats ON a mask ROM? The paper tape, 8″ floppy or punch card the program original was stored on is long since gone. Being that its a mask ROM one can actually SEE the connections, so its possible to decap a device, and visually determine the code, albeit with a lot of tedious work. Adam Laurie of Aperture Labs developed a Python script to automate some of it, and wrote an article explaining it, which covers some every interesting Mask ROM info. Not to mention some very nice pictures, so check it out.
September 27th, 2012 ~ by admin
AMD AM27C2048-150DC – 3 Dies (Click to view larger)
In the semiconductor industry process shrinks are highly sought after. They result in smaller die sizes for the same part, which results in more chips per wafer, thus increasing revenue. There are other benefits (typically speed increases and power decreases (aside from leakage)) but from a purely economical stand point, the smaller dies result in more profits.
Rarely do you get to SEE the result of these process changes. UV-EPROMs fortunately have a window, for erasing them with UV light, that also lets the die be seen. Here are three AMD AM27C2048 EPROMs. These are CMOS 2-Mbit EPROM, pretty common in the 1990s. As you can see that while they are all the same part, the dies are significantly different. While its hard to say for sure without a die analysis, we can make some good estimations based on what foundries AMD had at the time these devices were made. The first EPROM is date late 1993 which will likely be a 1 micron process. The second EPROM, dated mid 1997 is a bit smaller, around 20% smaller, which fits with AMD’s 0.8 micron fabs. The last, and latest, EPROM was made in 1998, likely at the joint AMD-Fujitsu (FASL) plant in Japan. This would mean it is a 0.5 micron device. The plant was transitioning to 0.35 micron at the time, but that was most likely used for the higher profit Flash memory devices. By 1998 EPROM’s were on the decline.
Also of note is the different copyrights. The first two are copyright 1989 while the third is 1997. Its hard to know for sure (I do not have the microscopes/tools needed to do die analysis) but it is likely the 1 micron to 0.8 micron was an optical shrink. Literally this means that the die (and masks) are scaled down to a new smaller process with no architectural changes. This is simple and inexpensive. Sometimes changes will have to be made to support a new process, or make full use of its benefits, so a new layout/masks are made. This is likely the case with the 1997 copyrighted EPROM. The design was altered to work with the new, smaller process, and it was significant enough to warrant a new copyright.
April 29th, 2011 ~ by admin
Intel C8755A - 1977
When Intel released the 8755 in 1976 and 8755A in 1977 it provided an easy way to interface the 8080 and the 8085 to other components. It was a 16k (2kx8) EPROM with a pair of latched 8 bit I/O ports. This greatly reduced system chip counts and complexity of board design. The basic 8755A ran at 3Mhz (the later 8755A-2 ran at 5MHz) which allowed interfacing with the 8085AH with zero wait states. The 8755A continued to be used well into the 1980s with many processors (Intel and others)
Intel D87C75PF - 1988 Engineering Sample
By 1988 the 8755A was out of date, its 16k of EPROM space was insufficient for most designs and its power consumption was much higher then contemporary parts. Intel sought to remedy this with the release of the 87C75. The 87C75 is essnetially a 27C256 EPROM, and 82C55A port expander, and latches combined on a single chip. It was made on Intel CHMOSII-E process which reduced power consumption (from 1.5Watts to 500mW). It ran at a max of 5MHz and the EPROM was bumped up from 16k to 256k. It was designed to interface direction to the 8051, MCS-96 and i188 processors.
Why then do we find so few examples of the 87C75PF? The late 80′s and early 90′s also ushered in dozens of microcontrollers and embedded processors that had all of the 87C75′s features on chip; larger EPROM on die, more I/O ports, and the widespread use of Flash on microcontrollers effectively made the 87C75PF obsolete.
June 8th, 2010 ~ by admin
Its well known that manufacturers such as Intel and AMD will sell quad cores as dual cores, or 6-cores as quad-cores in order to meet demand, or to use dies that didn’t ‘make the cut.’ This process has been going on for over 30 years though. Back in the 70′s and 80′s it was very common for a device such as this:
Intel D2704 4k EPROM
Which is a 2704 4k EPROM, to actually be made from a 2708 die, just with not all the leads connected, or sometimes, with them connected but just labeled as the smaller part. In a production environment, it is cheaper to have a single production line making dies that can be used in more then one device, then having an entire seperate production line just to make a product that may not be the most popular. Look at this die shot (its a bit blurry) but you can see its a 2708 die.
2704 with 2708 die
Once again, whats new, really isn’t we have just went from small EPROMs, to CPUs with billions of transistors
February 11th, 2009 ~ by admin
Electronic Arrays was born in the late 60′s back in the time of many start-ups (which mostly trace their roots back to Fairchild) EA attempted to make a CPU called the EA9002, but production problems kept them from going anywhere with it. They made EPROM’s likely to keep them afloat (and only 8k ones at that).
Electronic Arrays 2708
This EPROM was made in early 1977, less then a year later EA was bought out by NEC, now a world leader in electronics.