復(fù)雜的可編程邏輯器件CPLD規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。
CPLD有五個(gè)主要部分:邏輯陣列塊、宏單元、擴(kuò)展乘積項(xiàng)、可編程連線陣列和I/O控制塊。
1.邏輯陣列塊(LAB)
一個(gè)邏輯陣列塊由16個(gè)宏單元的陣列組成,多個(gè)LAB通過可編程陣列(PIA)和全局總線連接在一起。全局總線從所有的專用輸入、I/O引腳和宏單元饋入信號(hào)。對(duì)于每個(gè)LAB有下列輸入信號(hào)。
來自作為通用邏輯輸入的PIA的36個(gè)信號(hào)
全局控制信號(hào),用于寄存器輔助功能
從I/O引腳到寄存器的直接輸入通道
。陠卧
MAX7000系列中的宏單元由3個(gè)功能塊組成:邏輯陣列、乘積項(xiàng)選擇矩陣和可編程寄存器。各部分可以被獨(dú)自配置為時(shí)序邏輯和組合邏輯工作方式。其中邏輯陣列實(shí)現(xiàn)組合邏輯,可以為每個(gè)宏單元提供5個(gè)乘積項(xiàng)。乘積項(xiàng)選擇矩陣分配這些乘積項(xiàng)作為到“或門”和“異或門”的主要邏輯輸入,以實(shí)現(xiàn)組合邏輯函數(shù),或者把這些乘積項(xiàng)作為宏單元中寄存器的輔助輸入:如清零、置位、時(shí)鐘和時(shí)鐘使能控制。
每個(gè)宏單元中的觸發(fā)器可以單獨(dú)地編程為具有可編程時(shí)鐘控制的D、T、JK或RS觸發(fā)器的工作方式。觸發(fā)器的時(shí)鐘、清零輸入可以通過編程選擇使用專用的全局清零和全局時(shí)鐘,或使用內(nèi)部邏輯(乘積項(xiàng)邏輯陣列)產(chǎn)生的時(shí)鐘和清零。觸發(fā)器也支持異步清零和異步置位功能,乘積項(xiàng)選擇矩陣分配乘積項(xiàng)來控制這些操作。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號(hào)直接輸給PIA或輸出到I/O引腳,以實(shí)現(xiàn)組合邏輯工作方式。
3.?dāng)U展乘積項(xiàng)
每個(gè)宏單元的一個(gè)乘積項(xiàng)可以反相回送到邏輯陣列。這個(gè)“可共享”的乘積項(xiàng)能夠連到同一個(gè)LAB中的任何其它乘積項(xiàng)上。盡管大多數(shù)邏輯函數(shù)能夠用每個(gè)宏單元中的5個(gè)乘積項(xiàng)實(shí)現(xiàn),但在某些復(fù)雜的邏輯函數(shù)中需要附加乘積項(xiàng)。為提供所需的邏輯資源,可以利用另一個(gè)宏單元,MAX70000結(jié)構(gòu)也允許利用共享和并聯(lián)擴(kuò)展乘積項(xiàng),這兩種擴(kuò)展項(xiàng)可作為附加的乘積項(xiàng)直接送到本LAB的任意宏單元中。利用擴(kuò)展項(xiàng)可保證在實(shí)現(xiàn)邏輯綜合時(shí),用盡可能少的邏輯資源實(shí)現(xiàn)盡可能快的工作速度。
4.可編程連線陣列PIA
通過可編程連線陣列可將各LAB相互連接構(gòu)成所需的邏輯。這個(gè)全局總線是可編程的通道,它能把器件中任何信號(hào)源連到其目的地。所有MAX7000系列器件的專用輸入、I/O引腳和宏單元輸出均饋送到PIA,PIA可把這些信號(hào)送到整個(gè)器件內(nèi)的各個(gè)地方。只有每個(gè)LAB所需的信號(hào)才真正給它布置從PIA到該LAB的連線,如圖是PIA信號(hào)布線到LAB的方式。
5.I/O控制塊