認(rèn)清CPLD和FPGA
CPLD和FPGA都是我們經(jīng)常會(huì)用到的器件。有的說(shuō)有配置芯片的是FPGA,沒有的是CPLD;有的說(shuō)邏輯資源多的是FPGA,少的是CPLD;有的直接就不做區(qū)分,把他們都叫做FPGA。那么兩者到底有什么區(qū)別呢?下面我們就以Altera公司的CPLD和FPGA為例來(lái)說(shuō)說(shuō)兩者的區(qū)別。
本文引用地址:http://www.ex-cimer.com/article/159017.htm首先我們看一下CPLD的芯片結(jié)構(gòu),搞清楚CPLD是由哪幾部分組成的。下圖是MAX系列CPLD的芯片結(jié)構(gòu)圖:
從圖中可以清楚的看出來(lái)CPLD主要由三部分組成:Macro cell(宏單元),PIA(可編程連線),和IO Control Block(IO控制塊)。每個(gè)宏單元都與GCLK(全局時(shí)鐘)OE(輸出使能)GCLR(清零)等控制信號(hào)直接相連,并且延時(shí)相同。各宏單元之間也由固定長(zhǎng)度的金屬線互連,這樣保證邏輯電路的延時(shí)固定。其中宏單元模塊是CPLD的邏輯功能實(shí)現(xiàn)單元,是器件的基本單元,我們?cè)O(shè)計(jì)的邏輯電路就是由宏單元具體實(shí)現(xiàn)的。下面我們?cè)賮?lái)看看宏單元的具體結(jié)構(gòu):
一個(gè)宏單元主要包括了LAB Local Array(邏輯陣列),Product-Term Select Matrix(乘積項(xiàng)選擇矩陣)和一個(gè)可編程D觸發(fā)器組成。其中邏輯陣列的每一個(gè)交叉點(diǎn)都可以通過(guò)編程實(shí)現(xiàn)導(dǎo)通從而實(shí)現(xiàn)與邏輯,乘積項(xiàng)選擇矩陣可實(shí)現(xiàn)或邏輯。這兩部分協(xié)同工作,就可以實(shí)現(xiàn)一個(gè)完整的組合邏輯。輸出可以選擇通過(guò)D觸發(fā)器,也可以對(duì)觸發(fā)器進(jìn)行旁路。通過(guò)這個(gè)結(jié)構(gòu)可以發(fā)現(xiàn),CPLD非常適合實(shí)現(xiàn)組合邏輯,再配合后面的觸發(fā)器也能夠?qū)崿F(xiàn)一定的時(shí)序邏輯。
fpga相關(guān)文章:fpga是什么
評(píng)論