FPGA和cpld在执行硬件描述语言上没有区别。cpld掉电不丢代码,保密性好一些,成本也低一些,当然资源也少一些,不适合做比较大的项目。& Y! t! Z" E( b: @) _) s7 w3 a
FPGA内部有PLL这个在倍频和相移等操作时很方便。FPGA内部有RAM可以用来做fifo等类似结构来进行数据缓冲而不消耗逻辑单元。如果用cpld做则会消耗原本就不多的逻辑单元,cpld虽然内部有flash但操作起来很麻烦,也占用有限的逻辑资源。高端一点的FPGA还可以装软核,内部有dsp等资源。随着FPGA价格降低,cpld快被淘汰了。cpld一般只是教学或做一些简单的组合逻辑。 % c6 f' F" f1 [) w2 H