Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
1. the internal archi.. the fpga use lookuptables that are 4x1 mem cells,
and the most new cpld cells have one ff+aditional logic array of and+or gates.
Some kind of special fpga have also some special blocks for implement
of system on chip(soc) that usefull for build uc/up/dsp inside.
2. Most fpga based on ram cells so evry time you power up you need
boot them from mem or aditional uc/uc/dsp, also you can cange it desing
in system work(careful).
the cpld based in otp fuse or flash fuse so you don't need boot them.
3. the most of the cpld are not big like the fgpa
most cpld are in range of 1k-50k(~100k) gates equvalent
fpga today you can find in range over some milion gates equvalent
cpld are more popular is small design for glue logic some state mechine
and some fast app, etc..
fpga are more popular in big design when is need of mem and machine
that need a lot of ff,also in system on chips(for reduce space or
for develop design before asic productions).
CPLD's are implmented in the way like PAL's but FPGA's are implemented in a gate array approach. u need PALSM and environments like taht to program CPLD's and u use max+2 environment and VHDL and Verilog HDL to program FPGA's. also about the internal structure u can get more on this pdf.
I have some points regarding the differences:
1.CPLDs as such have no specific architecture. They are just an array of PLDs in order increase the gate complexity resources. Even complex designs cannot be run on CPLDs as the number of cells provided is very less.
2. In contrast, FPGAs have the 2-dimenstional architecture in which each CLB will have 2-SLICEs. Main features are :
1. HIgher frequency of operation
2. Very Huge available memory blocks
3. In Built Multipliers for floating point arithmetic
4. DLLs for clock multiplication and division
HOpe this helps.