新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 認(rèn)清CPLD和FPGA

認(rèn)清CPLD和FPGA

作者:winthony 時(shí)間:2013-08-15 來源:電子產(chǎn)品世界 收藏

  我們再來以cyclone系列為例看看的內(nèi)部結(jié)構(gòu):

本文引用地址:http://butianyuan.cn/article/159017.htm

  內(nèi)部主要就是由,連線和IO單元組成。一個(gè)又包含若干個(gè)LE模塊。LE模塊是Cyclone 的基本邏輯單元,下圖是LE模塊的具體結(jié)構(gòu):

  初看上去好像比較復(fù)雜,其實(shí)最主要的部分就是LUT查找表模塊,以及后面的D觸發(fā)器。其他都是一些清零進(jìn)位旁路等等控制信號(hào)邏輯。也就是說查找表是FPGA最根本的邏輯單元。Cyclone FPGA使用的是4輸入LUT查找表。我們設(shè)計(jì)的邏輯電路最終都是通過EDA工具把所有可能的結(jié)果計(jì)算出來然后儲(chǔ)存在查找表里面。每次根據(jù)輸入信號(hào)查找對(duì)應(yīng)的結(jié)果,然后輸出就可以了。也就是說FPGA的工作更像是一個(gè)RAM,根據(jù)不同的輸入信號(hào)(地址)輸出相應(yīng)的數(shù)據(jù)。

  通過上面的結(jié)構(gòu)圖比較我們就可以清楚的看出來是由實(shí)實(shí)在在的組合電路組成的,而FPGA說到底就是一個(gè)巨大的查找表!也正是這個(gè)根本的差異造成了和FPGA各方面的不同。除了以外,主要的和FPGA生產(chǎn)廠商還有,Actel,Lattice以及Atmel等。各家公司的產(chǎn)品各有特點(diǎn),在架構(gòu)上會(huì)略有區(qū)別,但基本原理都是相同的。下面我們整理一下CPLD和FPGA的主要區(qū)別:

  1) CPLD的更適合可重復(fù)編程的EEPROM或Flash技術(shù)來實(shí)現(xiàn)。而FPGA顯然是利用SRAM技術(shù)更合適。
  2) 由于是EEPROM或者Flash工藝決定了CPLD是有一定的擦寫次數(shù)限制的。而FPGA在實(shí)際使用中幾乎可以說是無配置次數(shù)限制。
  3) CPLD由于采用的是EEPROM或者Flash工藝所以配置掉電后不丟失,也就不需要外掛配置芯片。而FPGA采用的是SRAM工藝,配置在掉電后就沒有了,因此需要一個(gè)外部配置芯片。
  4) CPLD的安全性更高。由于配置芯片的存在,F(xiàn)PGA的保密性就會(huì)比CPLD略差。邏輯數(shù)據(jù)有可能被讀取。(當(dāng)然FPGA芯片會(huì)有一定的加密措施)
  5) CPLD由于不需要上電重新配置,所以上電后可以馬上工作。而FPGA上電后需要配置時(shí)間,邏輯量的大小配置方式的區(qū)別也會(huì)影響配置時(shí)間的長短。
  6) 由于CPLD的連續(xù)式布線結(jié)構(gòu),決定了它的時(shí)序延時(shí)是均勻和固定的。而FPGA采用的分段式布線結(jié)構(gòu)造成了延時(shí)不固定。
  7) 由于工藝難度的差異,CPLD一般集成度較低,大多為幾千門或幾萬門的芯片規(guī)模,做到幾十萬門已經(jīng)很困難。而FPGA基于SRAM工藝,集成度更高,可以輕松做到幾十萬門甚至幾百萬門的芯片規(guī)模,最新的FPGA產(chǎn)品已經(jīng)接近千萬門的規(guī)模。
  8) 同樣由于結(jié)構(gòu)的差異,CPLD更適合完成的是復(fù)雜的組合邏輯,如編、譯碼的工作。而FPGA更適合做復(fù)雜的時(shí)序邏輯。換句話說就是FPGA更適合觸發(fā)器豐富的邏輯結(jié)構(gòu),CPLD適合于觸發(fā)器有限但是乘積項(xiàng)豐富的邏輯結(jié)構(gòu)。
  9) 也是由于工藝的原因,一般CPLD會(huì)比FPGA的功耗高。

fpga相關(guān)文章:fpga是什么




評(píng)論


相關(guān)推薦

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

關(guān)閉