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