Someone asked what the difference between flash and eeprom really was... I
expected a flury of responses, but there haven't been any so far, so I'll
take a shot at it. As I understand it, the underlying technolgies are
pretty substantially different (with flash being similar to eeprom
technology, and EEPROM being more similar to RAM technology, I think.)
However, the END USER difference is usually that EEPROM is erasable and
re-writable on a byte-by-byte basis, while FLASH is only bulk erasable.
I guess by labling the program memory "flash", a manufacturer does not
have to provide byte erasability that my be difficult from any number
of non-technology perspectives.
> Someone asked what the difference between flash and eeprom really was... I
> expected a flury of responses, but there haven't been any so far, so I'll
> take a shot at it. As I understand it, the underlying technolgies are
> pretty substantially different (with flash being similar to eeprom
> technology, and EEPROM being more similar to RAM technology, I think.)
> However, the END USER difference is usually that EEPROM is erasable and
> re-writable on a byte-by-byte basis, while FLASH is only bulk erasable.
> I guess by labling the program memory "flash", a manufacturer does not
> have to provide byte erasability that my be difficult from any number
> of non-technology perspectives.
Sort of... from my perspective, Flash is closer to EPROM [single E] while
EEPROM is between EPROM and RAM in design. Other properties:
[1] EEPROM is _usually_ byte-erasable though some older EEPROM chips were
only device- or block-eraseable.
[2] EEPROM is _usually_ a higher-endurance technology, at least with regard
to erase cycles (sometimes with Flash it's possible to successively clear
bits until on the last cycle they're all erased; in this case, Flash's
endurance can be pretty good).
[3] Many Flash chips offer substantially faster writes than EEPROM, but slower
erase cycles. I think AMD's 256x16 Flash device, for example, has a write
cycle of about 10us [1000x faster than the 16C84 EEPROM] but an erase time
of several seconds [300x slower than the 16C84 EEPROM]. Note that in many
applications the erase time of a Flash device may not be a major issue
since an erase cycle only has to be performed once for many bytes to be
written.
I would like to know about PLD's.
Do you think using PIC is better then PLD's.
The only thing I know that PLD does't have ram & eprom.
Could you tel me do you stil use them.
There are many books on the subject, and some relatively recent magazine
articles. PLDs are entirely different creatures than microcontrollers,
having no RAM, no instructions, and no ALU. You can think of them mostly
an a ROM with some logic on the inputs and outputs, and some programmable
internal interconnects. PLDs form the core of many a high speed processor
system, and tend to be VERY fast (7 nS propagation time is common.) The
cost for this speed is power - an average PLD will draw 100 mA or so.
There are tiny single-board computers out there that have essentially been
rendered unusable in battery power applications because of the use of a PAL
in a design that otherwise has very low power parts.
Do you think using PIC is better then PLD's.
If you don't NEED 7ns Speed, or anywhere within a couple decimal orders of
magnitude, and you can give up a pin or two (for the PIC's oscillator), a
PIC can certainly do anything a PLD can do, considerably more flexibly, and
with MUCH lower power consumption. It's not really BETTER than PALs, but
it can do similar things.
Consider, for example, a classic LED "chaser" circuit that lights 8 LEDs
in sequence. You can do this in medium scale logic by wiring it up.
You can do it with a PLD using PAL type languages and tools. That way you
could stock one type of PAL to replace many types of logic chip It might
sort of look like this:
Q1 := /Q1 * /Q2 * /Q3 * /Q4 * /Q5 * /Q6 * /Q7 * /Q8 ; always supply 1 bit
Q2 := Q1 ; Shift Left
Q3 := Q2 ; Shift Left
Q4 := Q3 ; Shift Left
Q5 := Q4 ; Shift Left
Q6 := Q5 ; Shift Left
Q7 := Q6 ; Shift Left
Q8 := Q7 ; shift Left
And you could also do it with a PIC and software. Another advantage of
this would be that you can more readilly find cheap PIC programmers than
cheap PLD programmers...