1、復雜可編程邏輯器件cpld的結(jié)構(gòu)
cpld將簡單pld(pal,gal等)的概念做了進一步的擴展,并提高了器件的集成度。和簡單的pld相比,cpld允許有更多的輸入信號、更多的乘積項和更多的宏單元,cpld器件內(nèi)部含有多個邏輯單元塊,每個邏輯塊就相當于一個gal器件,這些邏輯塊之間可以使用可編程內(nèi)部連線實現(xiàn)相互連接。目前,生產(chǎn)cpld器件的著名公司有多家,盡管各個公司的器件結(jié)構(gòu)千差萬別,但它們?nèi)杂邢嗤帲瑘D1給出了通用的cpld器件的結(jié)構(gòu)框圖。
圖1 通用的cpld器件的結(jié)構(gòu)框圖
2、集總布線區(qū)grp ( global roating pool)
下面以lattice公司生產(chǎn)的在系統(tǒng)可編程大規(guī)模集成邏輯器件isplsi1016為例,介紹cpld的電路結(jié)構(gòu)及其工作原理。這種器件的最大特點是“在系統(tǒng)可編程”特性。所謂在系統(tǒng)可編程是指未編程的isp器件可以直接焊接在印刷電路板上,然后通過計算機的并行口和專用的編程電纜對焊接在電路板上的isp器件直接多次編程,從而使器件具有所需要的邏輯功能。這種編程不需要使用專用的編程器,原來屬于編程器的編程電路及升壓電路已被集成在isp器件內(nèi)部了。isp技術(shù)使得調(diào)試過程不需要反復拔插芯片,從而不會產(chǎn)生引腳彎曲變形現(xiàn)象,提高了可靠性,而且可以隨時對焊接在電路板上的isp器件的邏輯功能進行修改,因而加快了數(shù)字系統(tǒng)的調(diào)試過程。
isplsi1016的結(jié)構(gòu)如圖2所示。它由16個相同的通用邏輯塊glb(a0-a7、b0-b7)、32個相同的輸入、輸出單元(i/o0-i/o31)、可編程的集總布線區(qū)grp、時鐘分配網(wǎng)絡cdn以及在系統(tǒng)編程控制電路等部分組成(圖中未畫出編程控制電路)。在grp的左邊和右邊各形成一個宏模塊。每個宏模塊包括:8個glb、16個i/o單元、兩個專用輸入引腳(sdi/in0 sd0/in1或mode/in2,in3)、一個輸出布線區(qū)opr以及16位的輸入總線。
圖2 isplsi 1016的結(jié)構(gòu)框圖
集總布線區(qū)grp位于兩個宏模塊的中央,它由眾多的可編程e2cmos構(gòu)成,內(nèi)部邏輯的連接都是通過這一區(qū)域完成的。它接受輸入總線送來的輸入信號和各glb的輸出信號,并向每個宏模塊輸出信號。因此,任何一個glb的輸出信號和任何一個通過i/o單元的輸入信號都能送到任何一個glb的輸入端。這種結(jié)構(gòu)使得信號的傳輸延遲時間是可預知的,有利于獲得高性能的數(shù)字系統(tǒng)。
3、通用邏輯塊glb(generic logic block)的結(jié)構(gòu)
glb是由與陣列、乘積項共享陣列、輸出邏輯宏單元olmc和功能控制4部分組成。它可實現(xiàn)類似gal的功能。簡化的glb邏輯圖如圖3所示。
圖3 isplsi 1016器件通用邏輯塊(glb)的結(jié)構(gòu)
4部分具體功能如下:
1.與陣列
與陣列有18個輸入,其中有16個來自集總布線區(qū)grp(它們可以是來自i/o引腳的信號、也可以是glb的反饋信號),另外兩個來自專用輸入引腳,它們經(jīng)過輸入緩沖器后,都產(chǎn)生互補信號。通過對與陣列編程,可以產(chǎn)生20個乘積項(0~19)。
2.乘積項共享陣列
這一陣列可以把20個乘積項分組送到4個或門,其輸出經(jīng)過乘積項共享陣列的編程,可以按需要連至glb的任何一個輸出。乘積項共享陣列具有“線或”功能,如果輸出函數(shù)需要的乘積項多于7個,可將兩個或兩個以上的或門輸出的乘積項再次相或,最多可以實現(xiàn)20個乘積項的輸出。這種同一個的乘積項可以被多個輸出宏單元使用的情況,稱為乘積項共享。 乘積項共享陣列可以靈活地配置以滿足用戶不同的需要,同一個glb中的4個輸出可以采用相同的配置形式,也可以采用不同的配置形式(混合配置),圖4采用的是混合配置。圖中,o3配置為異或模式,第一個或門輸出的3個乘積項與第三個或門輸出的4個乘積項進行“線或”組成7個乘積項,然后再與第0個乘積項“異或”,“異或”的結(jié)果送到屬于o3的d觸發(fā)器輸入端。o2配置為高速旁路模式,第二個或門的輸出直接送到olmc。o1配置為單乘積項旁路模式,可以獲得最快的信號傳輸速度。00的配置為共享下面兩個或門的11個乘積項,實現(xiàn)11個乘積項相或的運算。
圖4 isplsi 1016器件通用邏輯模塊(glb)的配置
3.輸出邏輯宏單元olmc
與gal中的olmc類似,它由4個d觸發(fā)器構(gòu)成,其輸入端接異或門(圖3中未畫出)。異或門可以作為邏輯單元來使用,也可以把它與d觸發(fā)器結(jié)合構(gòu)成jk觸發(fā)器或t觸發(fā)器。如果需要組合邏輯輸出,可以通過數(shù)據(jù)選擇器把觸發(fā)器旁路掉。
4.功能控制
寄存器的時鐘信號分為同步時鐘和異步時鐘信號兩種。同步時鐘信號由時鐘分配網(wǎng)絡供給,它可以在clk0、cld1及clk2中選擇一個;異步時鐘信號由glb中的第12乘積項提供。寄存器的復位信號由全局復位引腳或glb中的第12或19乘積項提供。另外,第19乘積項還可以作為輸出三態(tài)門的輸出使能控制信號。因此,若在設計中使用第12或第19乘積項作為控制信號,那么這一乘積項就不能用于實現(xiàn)其他邏輯功能。乘積項時鐘是通過輸入項相“與”產(chǎn)生的時鐘,也是isplsi器件最有特色的性質(zhì)之一。