EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一文简析复杂可编程逻辑器件的工作原理
6 L( U5 c( b3 u, o2 h
8 e. T0 w6 e- Q/ u) `/ I5 V" H N( J! b# n. y9 ^
) `" v2 e' Q. s" `& d
cpld(复杂可编程逻辑器件),它是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。 它的工作方式和原理与FPGA(现场可编程门阵列)相类似,都是使用硬件描述语言VHDL/Verilog描述逻辑电路功能,然后将代码进行综合,布局,布线等操作,生成比特流文件来描述这些逻辑电路信息,再加载入芯片。因此它也属于硬件开发范畴。 $ Z4 @. g# x) f
但是CPLD与FPGA的内部组成结构是不同的,它由可编程逻辑宏单元阵列(MCA),可编程互联矩阵单元,可编程IO单元组成。 宏单元结构又由与阵列,或阵列,可编程触发器和多路选择器等电路组成。
图中乘积项阵列是一个与阵列,该阵列的每一个交叉点都是一个可编程熔丝,如果导通就是与逻辑,乘积项选择矩阵是一个或阵列,两者一起完成组合逻辑,后面再跟一个可编程触发器,组成整个最小可编程逻辑单元。 通过编程逻辑单元的比较,可以看出CPLD与FPGA的实现组合逻辑的机制存在本质的区别,前者使用可编程与阵列和或阵列实现,后者使用sram保存逻辑真值表来实现,并且前者一个逻辑单元中只包含一个可编程触发器,而后者一个逻辑单元包含“8”个触发器。 我们知道触发器是实现时序逻辑电路的基本器件,CPLD有丰富的组合逻辑资源(与/或阵列),FPGA有丰富的时序逻辑资源(触发器),因此它们各有所适用的场景。 d5 |- P+ j1 n: D
* s& R2 S/ t. B5 W) J7 M5 B
) d$ f! D, @' _- m K. l1 k9 S% m( A% T( u
|