EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一文简析复杂可编程逻辑器件的工作原理
2 z1 j. B5 ]9 W- S- F0 r# R: ~1 y& w: O
: e4 j3 \% x5 R9 I0 j
x6 g4 ]2 E) F1 D7 H; v
7 i/ ^2 d+ `! D' U: o5 ?4 u% }* o, L1 Rcpld(复杂可编程逻辑器件),它是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。 它的工作方式和原理与FPGA(现场可编程门阵列)相类似,都是使用硬件描述语言VHDL/Verilog描述逻辑电路功能,然后将代码进行综合,布局,布线等操作,生成比特流文件来描述这些逻辑电路信息,再加载入芯片。因此它也属于硬件开发范畴。 % _. [: F" q2 K4 n2 N- c9 K! x
但是CPLD与FPGA的内部组成结构是不同的,它由可编程逻辑宏单元阵列(MCA),可编程互联矩阵单元,可编程IO单元组成。 宏单元结构又由与阵列,或阵列,可编程触发器和多路选择器等电路组成。
图中乘积项阵列是一个与阵列,该阵列的每一个交叉点都是一个可编程熔丝,如果导通就是与逻辑,乘积项选择矩阵是一个或阵列,两者一起完成组合逻辑,后面再跟一个可编程触发器,组成整个最小可编程逻辑单元。 通过编程逻辑单元的比较,可以看出CPLD与FPGA的实现组合逻辑的机制存在本质的区别,前者使用可编程与阵列和或阵列实现,后者使用sram保存逻辑真值表来实现,并且前者一个逻辑单元中只包含一个可编程触发器,而后者一个逻辑单元包含“8”个触发器。 我们知道触发器是实现时序逻辑电路的基本器件,CPLD有丰富的组合逻辑资源(与/或阵列),FPGA有丰富的时序逻辑资源(触发器),因此它们各有所适用的场景。 . F6 o% x. z S! x! C) z
3 ^: M6 \5 } y! h7 @, ?6 T
7 e( H; ~& {; J. ]7 k) o# f% z% Q+ O( Z: N& l9 I. l. |# H
|