新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PLD/FPGA 結(jié)構(gòu)與原理初步(一)

        PLD/FPGA 結(jié)構(gòu)與原理初步(一)

        作者: 時(shí)間:2017-06-06 來(lái)源:網(wǎng)絡(luò) 收藏
        一.基于乘積項(xiàng)(Product-Term)的PLD結(jié)構(gòu)



        采用這種結(jié)構(gòu)的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工藝),Xilinx的XC9500系列(Flash工藝)和Lattice,Cypress的大部分產(chǎn)品(EEPROM工藝)

        我們先看一下這種PLD的總體結(jié)構(gòu)(以MAX7000為例,其他型號(hào)的結(jié)構(gòu)與此都非常相似):



        圖1 基于乘積項(xiàng)的PLD內(nèi)部結(jié)構(gòu)

        這種PLD可分為三塊結(jié)構(gòu):宏單元(Marocell),可編程連線(PIA)和I/O控制塊。 宏單元是PLD的基本結(jié)構(gòu),由它來(lái)實(shí)現(xiàn)基本的邏輯功能。圖1中蘭色部分是多個(gè)宏單元的集合(因?yàn)楹陠卧^多,沒有一一畫出)。可編程連線負(fù)責(zé)信號(hào)傳遞,連接所有的宏單元。I/O控制塊負(fù)責(zé)輸入輸出的電氣特性控制,比如可以設(shè)定集電極開路輸出,擺率控制,三態(tài)輸出等。 圖1 左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局時(shí)鐘,清零和輸出使能信號(hào),這幾個(gè)信號(hào)有專用連線與PLD中每個(gè)宏單元相連,信號(hào)到每個(gè)宏單元的延時(shí)相同并且延時(shí)最短。

        宏單元的具體結(jié)構(gòu)見下圖:



        圖2 宏單元結(jié)構(gòu)

        左側(cè)是乘積項(xiàng)陣列,實(shí)際就是一個(gè)與或陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程熔絲,如果導(dǎo)通就是實(shí)現(xiàn)“與”邏輯。后面的乘積項(xiàng)選擇矩陣是一個(gè)“或”陣列。兩者一起完成組合邏輯。圖右側(cè)是一個(gè)可編程D觸發(fā)器,它的時(shí)鐘,清零輸入都可以編程選擇,可以使用專用的全局清零和全局時(shí)鐘,也可以使用內(nèi)部邏輯(乘積項(xiàng)陣列)產(chǎn)生的時(shí)鐘和清零。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號(hào)直接輸給PIA或輸出到I/O腳。





        二.乘積項(xiàng)結(jié)構(gòu)PLD的邏輯實(shí)現(xiàn)原理



        下面我們以一個(gè)簡(jiǎn)單的電路為例,具體說(shuō)明PLD是如何利用以上結(jié)構(gòu)實(shí)現(xiàn)邏輯的,電路如下圖:



        圖3

        假設(shè)組合邏輯的輸出(AND3的輸出)為f,則f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我們以!D表示D的“非”)

        PLD將以下面的方式來(lái)實(shí)現(xiàn)組合邏輯f:



        圖4

        A,B,C,D由PLD芯片的管腳輸入后進(jìn)入可編程連線陣列(PIA),在內(nèi)部會(huì)產(chǎn)生A,A反,B,B反,C,C反,D,D反8個(gè)輸出。圖中每一個(gè)叉表示相連(可編程熔絲導(dǎo)通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。這樣組合邏輯就實(shí)現(xiàn)了。 圖3電路中D觸發(fā)器的實(shí)現(xiàn)比較簡(jiǎn)單,直接利用宏單元中的可編程D觸發(fā)器來(lái)實(shí)現(xiàn)。時(shí)鐘信號(hào)CLK由I/O腳輸入后進(jìn)入芯片內(nèi)部的全局時(shí)鐘專用通道,直接連接到可編程觸發(fā)器的時(shí)鐘端。可編程觸發(fā)器的輸出與I/O腳相連,把結(jié)果輸出到芯片管腳。這樣PLD就完成了圖3所示電路的功能。(以上這些步驟都是由軟件自動(dòng)完成的,不需要人為干預(yù))

        圖3的電路是一個(gè)很簡(jiǎn)單的例子,只需要一個(gè)宏單元就可以完成。但對(duì)于一個(gè)復(fù)雜的電路,一個(gè)宏單元是不能實(shí)現(xiàn)的,這時(shí)就需要通過(guò)并聯(lián)擴(kuò)展項(xiàng)和共享擴(kuò)展項(xiàng)將多個(gè)宏單元相連,宏單元的輸出也可以連接到可編程連線陣列,再做為另一個(gè)宏單元的輸入。這樣PLD就可以實(shí)現(xiàn)更復(fù)雜邏輯。

        這種基于乘積項(xiàng)的PLD基本都是由EEPROM和Flash工藝制造的,一上電就可以工作,無(wú)需其他芯片配合。


        關(guān)鍵詞: PLDFPGA

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 探索| 吉安县| 个旧市| 洪湖市| 巴东县| 石嘴山市| 桃园县| 宁都县| 金堂县| 司法| 河间市| 石台县| 乌兰察布市| 梨树县| 博罗县| 远安县| 增城市| 广州市| 安乡县| 拜泉县| 府谷县| 贡山| 秭归县| 额尔古纳市| 普陀区| 湟源县| 莲花县| 屏东县| 新安县| 察雅县| 东乡县| 威远县| 牙克石市| 三亚市| 阿合奇县| 济宁市| 鲁甸县| 金阳县| 肃南| 府谷县| 都匀市|