1) As no minimization of logic circuits is needed the circuits can be designed easily.
2) It is possible to modify the circuit faster.
3) These are high speed as compared to discrete SSI/MSI circuits.
4) The Cost is lower.Applications:
on simplifying we get: F1 = AB’ + ACF2 = A’BC + AB’C + ABC
on simplifying we get: F2 = BC + AC Applications:
Y= AB’ + BC’ Applications:
Programmable Array Logic (PAL)
Programmable Logic Array (PLA)
The full form of PAL is programmable array logic
The full form of the PLA is a programmable logic array
The construction of PAL can be done using the programmable collection of AND & OR gates
The construction of PLA can be done using the programmable collection of AND & fixed collection of OR gates.
The availability of PAL is less prolific
The availability of PLA is more
The flexibility of PAL programming is more
The flexibility of PLA is less
The cost of a PAL is expensive
The cost of PLA is middle range
The number of functions implemented in PAL is large
The number of functions implemented in PLA is limited
The speed of PAL is slow
The speed of PLA is high
1
Instant-on. CPLDs start working as soon as they are powered up
Since FPGA has to load configuration data from external ROM and setup the fabric before it can start functioning, there is a time delay between power ON and FPGA starts working. The time delay can be as large as several tens of milliseconds.
2
Non-volatile. CPLDs remain programmed, and retain their circuit after powering down. FPGAs go blank as soon as powered-off.
FPGAs uses SRAM based configuration storage. The contents of the memory is lost as soon as power is disconnected.
3
Deterministic Timing Analysis. Since CPLDs are comparatively simpler to FPGAs, and the number of interconnects are less, the timing analysis can be done much more easily.
Size and complexity of FPGA logic can be humongous compared to CPLDs. This opens up the possibility less deterministic signal routing and thus causing complicated timing scenarios. Thankfully implementation tools provided by FPGA vendors have mechanisms to assist achieving deterministic timing. But additional steps by the user is usually necessary to achieve this.
4
Lower idle power consumption. Newer CPLDs such as CoolRunner-II use around 50 uA in idle conditions.
Relatively higher idle power consumption.
5
Might be cheaper for implementing simpler circuits
FPGAs are much more capable compared to CPLDs but can be more expensive as well.
6
More "secure" due to design storage within built in non-volatile memory.
FPGAs that use external memory can expose the IP externally. Many FPGA vendors offer mechanisms such as encryption to combat this. Design specific protection mechanisms also can be implemented.
7
Very small amount of logic resources.
Massive amount logic and storage elements, with which incredibly complex circuits can be designed. FPGAs have thousands times more resources! This point alone makes FPGAs more popular than CPLDs.
8
No on-die hard IPs available to offload processing from the logic fabric.
Variety of on-die dedicated hardware such as Block RAM, DSP blocks, PLL, DCMs, Memory Controllers, Multi-Gigabit Transceivers etc give immense flexibility. This is not even thinkable with CPLDs.
9
Power down and reprogramming is always required in order to modify design functionality.
FPGAs can change their circuit even while running! (Since it is just a matter of updating LUTs with different content) This is called Partial Reconfiguration, and is very useful when FPGAs need to keep running a design and at the same time update the it with different design as per requirement. This feature is widely used in Accelerated Computing.
Reference Books