EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一文简析复杂可编程逻辑器件的工作原理 7 B s5 n0 ^! Q* C9 |, s2 Z
1 C# @8 F- W2 v* H! z) I; o$ ^
: L X+ ^! m: p9 `5 m( {* K8 y; K' B8 }7 t7 l
cpld(复杂可编程逻辑器件),它是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。 它的工作方式和原理与FPGA(现场可编程门阵列)相类似,都是使用硬件描述语言VHDL/Verilog描述逻辑电路功能,然后将代码进行综合,布局,布线等操作,生成比特流文件来描述这些逻辑电路信息,再加载入芯片。因此它也属于硬件开发范畴。
6 E0 Q, s% Z* u) w* d+ n' i; h
但是CPLD与FPGA的内部组成结构是不同的,它由可编程逻辑宏单元阵列(MCA),可编程互联矩阵单元,可编程IO单元组成。 宏单元结构又由与阵列,或阵列,可编程触发器和多路选择器等电路组成。
图中乘积项阵列是一个与阵列,该阵列的每一个交叉点都是一个可编程熔丝,如果导通就是与逻辑,乘积项选择矩阵是一个或阵列,两者一起完成组合逻辑,后面再跟一个可编程触发器,组成整个最小可编程逻辑单元。 通过编程逻辑单元的比较,可以看出CPLD与FPGA的实现组合逻辑的机制存在本质的区别,前者使用可编程与阵列和或阵列实现,后者使用sram保存逻辑真值表来实现,并且前者一个逻辑单元中只包含一个可编程触发器,而后者一个逻辑单元包含“8”个触发器。 我们知道触发器是实现时序逻辑电路的基本器件,CPLD有丰富的组合逻辑资源(与/或阵列),FPGA有丰富的时序逻辑资源(触发器),因此它们各有所适用的场景。
; ^" h) W+ ]" m' J4 s( Q5 J9 t# T" N
, G6 y( ]1 ~& k% T8 v
( s, ^, ` @" X+ Z3 i: E* h |