復雜可編程邏輯器件CPLD的基本結構
發布時間:2008/12/8 0:00:00 訪問次數:1198
1.基于乘積項的cpld結構
cpld的結構是基于乘積項(product-term)的,現在以xilinx公司的xc9500xl系列芯片為例介紹cpld的 基本結構,如圖1所示,其他型號cpld的結構與此非常類似。
cpld可分為3部分:功能模塊(function block)、快速互連矩陣(fastconnect ⅱ switch matrix)和i/o控制模塊。每個功能模塊包括可編程與陣列、乘積項分配器和18個宏單元,功能模塊的結 構如圖2所示。快速互連矩陣負責信號傳遞,連接所有的功能模塊。i/o控制模塊負責輸人輸出的電氣特性 控制,比如可以設定集電極開路輸出、三態輸出等。圖1中的i/o/gck,i/o/gsr,1/0/gts是全局時鐘、全 局復位和全局輸出使能信號,這幾個信號有專用連線與cpld中每個功能模塊相連,信號到每個功能模塊的 延時相同并且延時最短。
圖1 基于乘積項的cpld內部結構
圖2 功能模塊的結構
宏單元是cpld的基本結構,由它來實現基本的邏輯功能。圖3所示為宏單元的基本結構。圖3中左側是乘 積項陣列,實際就是一個與或陣列,每一個交叉`點都是可編程的,如果導通就實現“與”邏輯,與后面的乘積項分配器一起完成組合邏輯。圖3右側是一個可編程的觸發器,可配置為d觸發器或t觸發器,它的時鐘、清零輸入都可以編程選擇,可以使用專用的全局清零和全局時鐘,也可以使用內部邏輯(乘積項陣列)產生的時鐘和清零。如果不需要觸發器,也可以將此觸發器旁路,信號直接輸出給互連矩陣或輸出到i/0腳。
圖3 cpld的宏單元結構
2.cpld邏輯實現原理
下面以一個簡單的電路為例,具體說明cpld是如何利用以上結構實現邏輯的,電路如圖4所示。
假設組合邏輯的輸出為f,則f=(a十b)* c *(!d)=a * c*!d+b*c *!d(以!d表示d的“非”),cpld將以圖5的方式來實現組合邏輯f。
a,b,c,d由pld芯片的引腳輸人后進入互連矩陣,在內部會產生a,a,b,b,c,c,d,d 8個輸出。圖5中每一個叉表示相連(可編程熔絲導通),所以得到:f=fl+12=(a* c *!d)+(b*c*!d),這樣就實現了組合邏輯。圖4中,d觸發器的實現比較簡單,直接利
圖4 簡單邏輯電路 圖5 cpld的邏輯實現
用宏單元中的可編程d觸發器來實現。時鐘信號clk由i/o腳輸入后進人芯片內部的全局時鐘專用通道,直接連接到可編程觸發器的時鐘端。可編程觸發器的輸出與i/o腳相連,把結果輸出到芯片引腳。這樣cpld就完成了圖4所示電路的功能。以上這些步驟都是由軟件自動完成的,不需要人為干預。
圖4的電路是一個很簡單的例子,只需要一個宏單元就可以完成。但對于一個復雜的電路,一個宏單元是不可能實現的,這時就需要通過并聯擴展項和共享擴展項將多個宏單元相連,宏單元的輸出也可以連接到互連矩陣,再作為另一個宏單元的輸入。這樣cpld就可以實現更復雜的邏輯。
這種基于乘積項的cpld基本都是由e2prom和flashェ藝制造的,一上電就可以工作,無須其他芯片配合。
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
1.基于乘積項的cpld結構
cpld的結構是基于乘積項(product-term)的,現在以xilinx公司的xc9500xl系列芯片為例介紹cpld的 基本結構,如圖1所示,其他型號cpld的結構與此非常類似。
cpld可分為3部分:功能模塊(function block)、快速互連矩陣(fastconnect ⅱ switch matrix)和i/o控制模塊。每個功能模塊包括可編程與陣列、乘積項分配器和18個宏單元,功能模塊的結 構如圖2所示。快速互連矩陣負責信號傳遞,連接所有的功能模塊。i/o控制模塊負責輸人輸出的電氣特性 控制,比如可以設定集電極開路輸出、三態輸出等。圖1中的i/o/gck,i/o/gsr,1/0/gts是全局時鐘、全 局復位和全局輸出使能信號,這幾個信號有專用連線與cpld中每個功能模塊相連,信號到每個功能模塊的 延時相同并且延時最短。
圖1 基于乘積項的cpld內部結構
圖2 功能模塊的結構
宏單元是cpld的基本結構,由它來實現基本的邏輯功能。圖3所示為宏單元的基本結構。圖3中左側是乘 積項陣列,實際就是一個與或陣列,每一個交叉`點都是可編程的,如果導通就實現“與”邏輯,與后面的乘積項分配器一起完成組合邏輯。圖3右側是一個可編程的觸發器,可配置為d觸發器或t觸發器,它的時鐘、清零輸入都可以編程選擇,可以使用專用的全局清零和全局時鐘,也可以使用內部邏輯(乘積項陣列)產生的時鐘和清零。如果不需要觸發器,也可以將此觸發器旁路,信號直接輸出給互連矩陣或輸出到i/0腳。
圖3 cpld的宏單元結構
2.cpld邏輯實現原理
下面以一個簡單的電路為例,具體說明cpld是如何利用以上結構實現邏輯的,電路如圖4所示。
假設組合邏輯的輸出為f,則f=(a十b)* c *(!d)=a * c*!d+b*c *!d(以!d表示d的“非”),cpld將以圖5的方式來實現組合邏輯f。
a,b,c,d由pld芯片的引腳輸人后進入互連矩陣,在內部會產生a,a,b,b,c,c,d,d 8個輸出。圖5中每一個叉表示相連(可編程熔絲導通),所以得到:f=fl+12=(a* c *!d)+(b*c*!d),這樣就實現了組合邏輯。圖4中,d觸發器的實現比較簡單,直接利
圖4 簡單邏輯電路 圖5 cpld的邏輯實現
用宏單元中的可編程d觸發器來實現。時鐘信號clk由i/o腳輸入后進人芯片內部的全局時鐘專用通道,直接連接到可編程觸發器的時鐘端。可編程觸發器的輸出與i/o腳相連,把結果輸出到芯片引腳。這樣cpld就完成了圖4所示電路的功能。以上這些步驟都是由軟件自動完成的,不需要人為干預。
圖4的電路是一個很簡單的例子,只需要一個宏單元就可以完成。但對于一個復雜的電路,一個宏單元是不可能實現的,這時就需要通過并聯擴展項和共享擴展項將多個宏單元相連,宏單元的輸出也可以連接到互連矩陣,再作為另一個宏單元的輸入。這樣cpld就可以實現更復雜的邏輯。
這種基于乘積項的cpld基本都是由e2prom和flashェ藝制造的,一上電就可以工作,無須其他芯片配合。
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
上一篇:PAL的輸出和反饋結構