CPLD、FPGA、DSP的聯繫和區別?

2021-01-13 電子產品世界

  ARM(Advanced RISC Machines)是微處理器行業的一家知名企業,設計了大量高性能、廉價、耗能低的RISC處理器、相關技術及軟體。ARM也是單片機。ARM架構是面向低預算市場設計的第一款RISC微處理器,基本是32位單片機的行業標準,它提供一系列內核、體系擴展、微處理器和系統晶片方案,四個功能模塊可供生產廠商根據不同用戶的要求來配置生產。

本文引用地址:http://www.eepw.com.cn/article/201807/383059.htm



  由於所有產品均採用一個通用的軟體體系,所以相同的軟體可在所有產品中運行。目前ARM在手持設備市場佔有90以上的份額,可以有效地縮短應用程式開發與測試的時間,也降低了研發費用。

  DSP(digital singnal processor)是 一種獨特的微處理器,有自己的完整指令系統,是以數位訊號來處理大量信息的器件。一個數位訊號處理器在一塊不大的晶片內包括有控制單元、運算單元、各種寄 存器以及一定數量的存儲單元等等,在其外圍還可以連接若干存儲器,並可以與一定數量的外部設備互相通信,有軟、硬體的全面功能,本身就是一個微型計算機。

  DSP採 用的是哈佛設計,即數據總線和地址總線分開,使程序和數據分別存儲在兩個分開的空間,允許取指令和執行指令完全重疊。也就是說在執行上一條指令的同時就可 取出下一條指令,並進行解碼,這大大的提高了微處理器的速度 。另外還允許在程序空間和數據空間之間進行傳輸,因為增加了器件的靈活性。其工作原理是接收模擬信號,轉換為0或1的數位訊號,再對數位訊號進行修改、刪除、強化,並在其他系統晶片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條複雜指令程序,遠遠超過通用微處理器,是數位化電子世界中日益重要的電腦晶片。



  它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。由於它運算能力很強,速度很快,體積很小,而且採用軟體編程具有高度的靈活性,因此為從事各種複雜的應用提供了一條有效途徑。根據數位訊號處理的要求,DSP晶片一般具有如下主要特點:

  (1)在一個指令周期內可完成一次乘法和一次加法;

  (2)程序和數據空間分開,可以同時訪問指令和數據;

  (3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問;

  (4)具有低開銷或無開銷循環及跳轉的硬體支持;

  (5)快速的中斷處理和硬體I/O支持;

  (6)具有在單周期內操作的多個硬體地址產生器;

  (7)可以並行執行多個操作;

  (8)支持流水線操作,使取指、解碼和執行等操作可以重疊執行。

  當然,與通用微處理器相比,DSP晶片的其他通用功能相對較弱些。

  FPGA(Field Programmable Gate Array)(現場可編程門陣列)的縮寫,它是在PAL、GAL、PLD等可編程器件的基礎上進一步發展的產物,是專用集成電路(ASIC)中集成度最高的一種。FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。

  用戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶的邏輯。它還具有靜態可重複編程和動態在系統重構的特性,使得硬體的功能可以像軟體一樣通過編程來修改。作為專用集成電路(ASIC)領域中的一種半定製電路,FPGA既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。可以毫不誇張的講,FPGA能完成任何數字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用FPGA來實現。FPGA如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法,或是硬體描述語言自由的設計一個數字系統。通過軟體仿真,我們可以事先驗證設計的正確性。在PCB完成以後,還可以利用FPGA的在線修改能力,隨時修改設計而不必改動硬體電路。使用FPGA來開發數字電路,可以大大縮短設計時間,減少PCB面積,提高系統的可靠性。

  FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。加電時,FPGA晶片將EPROM中數據讀入片內編程RAM中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關係消失,因此,FPGA能夠反覆使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。可以說,FPGA晶片是小批量系統提高系統集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

  那麼它們的區別有哪些呢?

  ARM具有比較強的事務管理功能,可以用來跑界面以及應用程式等,其優勢主要體現在控制方面,而DSP主要是用來計算的,比如進行加密解密、調製解調等,優勢是強大的數據處理能力和較高的運行速度。FPGA可以用VHDL或verilogHDL來編程,靈活性強,由於能夠進行編程、除錯、再編程和重複操作,因此可以充分地進行設計開發和驗證。當電路有少量改動時,更能顯示出FPGA的優勢,其現場編程能力可以延長產品在市場上的壽命,而這種能力可以用來進行系統升級或除錯。

  作為Processor,這幾種器件有什麼有優缺點。

  其實C51,ARM,DSP都不是單獨作為晶片來提供給用戶的,都要加一些外圍電路來支持。

  例如:memory controller,interrupt controller,timer,UART,SPI,I2C等等。

  所以要比較最好從processor的角度來比較他們。

  (1). C51是8位的;ARM是32位的;DSP有16位的,也有更高的。

  (2).所有說從運算能力上看,C51最弱,DSP最強,ARM居中。

  (3).結構差別較大,C51最簡單,是一般的馮諾伊曼結構;ARM9以上是哈佛結構的RISC;DSP一般使用哈佛結構。

  (4).C51一般晶片面積非常小,工作頻率很低(一般是10多MHz,有的是24MHz),所以功耗低。DSP則頻率很高(高的達到300MHz以上),所以功耗大。ARM晶片面積也很小,ARM7是0.55平方毫米,功耗也比較小。頻率大約在(幾十到200MHz之間)

  (5).所以一般C51主要應用於不需要太多計算量的控制類系統。一般配有豐富的外圍module。DSP則主要應用於需要進行複雜計算的高端系統,例如圖像處理,加密解密,導航系統等,外圍module一般較少。ARM是C51和DSP之間的一個折衷。

  (6).強調一點:C51的性能遠不如ARM和DSP,但仍然佔據重要的一席之地,原因就是性能價格比。因為它太成熟了,太小了,太便宜了。而在一些需要複雜計算的領域,DSP也不可或缺。ARM的成功就是他找到了一個折衷點,並且建立了一個非常靈活的商業模型。

  CPLD(Complex Programmable Logic Device)複雜可編程邏輯器件, 是從PAL和GAL器件發展出來的器件,相對而言規模大,結構複雜,屬於大規模集成電路範圍。是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。 其基本設計方法是藉助集成開發軟體平臺,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶片中,實 現設計的數字系統.

  FPGA和CPLD的區別

  FPGA與 CPLD的辨別和分類主要是根據其結構特點和工作原理。通常的分類方法是:將以乘積項結構方式構成邏輯行為的器件稱為CPLD,如Lattice的 ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

  將以查表法結構方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。

  儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:

  ①CPLD更適合完成各種算法和組合邏輯,FPGA更適合於完成時序邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。

  ②CPLD的連續式布線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式布線結構決定了其延遲的不可預測性。

  ③在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的布線來編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。

  ④FPGA的集成度比CPLD高,具有更複雜的布線結構和邏輯實現。

  ⑤CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部存儲器晶片,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法複雜。

  ⑥CPLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分布式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。

  ⑦在編程方式上,CPLD主要是基於E2PROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丟失。CPLD又可分為在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程信息在系統斷電時丟失,每次上電時,需從器件外部將編程數據重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。

  ⑧CPLD保密性好,FPGA保密性差。

  ⑨一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。

相關焦點

  • 基於DSP和FPGA的機器人聲控系統設計與實現
    系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。工作流程是麥克風將人的語音信號轉化為模擬信號,在經過音頻晶片tlv320aic23量化轉化成數位訊號輸入dsp.dsp完成識別後,輸出動作指令。 fpga根據dsp輸入的動作指令產生正確的正反轉信號和準確的脈衝給步進電機驅動晶片,驅動晶片提供步進電機的驅動信號,控制步進電機的轉動。片外flash用於存儲系統程序和語音庫並完成系統的上電加載。
  • 基於DSP的數字掃描探針顯微鏡的硬體解決方案研究
    ,與此同時,數位訊號處理技術已經發展得相當成熟,dsp技術也已經廣泛地應用於通信、測量、多媒體、消費電子產品等領域,由於把dsp和spm結合在一起是spm儀器發展的必然方向,它能使spm性能更趨於完善,為此,本文介紹如何用tms320c5416來實現這一設想!
  • 第六講 DSP在雷達信號處理中的應用
    為了讓工程師在設計開發中完善和拓展基礎理論與系統知識,豐富應用經驗,《世界電子元器件》和中電網聯合清華大學等知名院校共同創辦了這個欄目,特約知名學者、教授以及著名半導體公司的應用工程師撰寫,以系列講座的方式對熱點ic技術進行全面而系統的介紹,涵蓋最新技術要點。最先開設的講座將圍繞三大課題:dsp、fpga和嵌入式系統,每個課題都將連載6期。
  • 基於小波變換與DSP的實時音頻視頻處理系統
    在該實時系統中,dsp晶片作為控制核心、一方面要管理adv611,ct8021,存儲器和通信接口,另一方面要對adv611的圖像壓縮效果進行調解,對數據速率實時控制。系統實現方案原理圖如圖1所示。
  • fpga/cpld - fpga_電子產品世界
    fpga 文章
  • AMBE2000和AD73311在多模式電臺中的應用
    該語音處理模塊的靈活性主要體現在: 1、fpga設定ambe2000復位管腳和控制管腳的電平,從而靈活地設置ambe2000的工作狀態; 2、復位之後,dsp可以通過寫控制字來設置ambe2000和ad73311的工作狀態; 3、fpga切換數據交換的路徑,從而適應不同的調製方式。
  • 如何在 FPGA 上實現雙線性插值的計算?
    下面的實際對比圖中也能看出兩者的區別,雙線性插值會使得圖片縮放更加平滑。How?怎麼實現雙線性插值?Interp的算法簡單來說就是用源圖的四個點分別與各自的權重相乘然後再相加得到目標圖片的一個值。所以這個算法的關鍵點有兩個:1. 源圖4個像素點的選擇;2. 與4個像素點相乘的權重的計算。
  • 關於FPGA與CPLD之間的區別分析
    關於FPGA與CPLD之間的區別分析 電子發燒友 發表於 2019-04-03 11:08:47 FPGA與CPLD的區別 1.CPLD CPLD主要是由可編程邏輯宏單元(LMC,
  • 2019-2025年dsp晶片市場深度調查分析及發展前景研究報告
    《2019-2025年dsp晶片市場深度調查分析及發展前景研究報告》是目前dsp晶片領域最專業和最全面系統的深度市場研究報告。dsp晶片產能 產量 成本 價格 毛利 產值 毛利率等詳細數據,同時統計了這些企業dsp晶片產品 客戶 應用 產能 市場地位 企業聯繫方式等信息,然後對這些企業相關數據進行匯總統計和總結分析,得到中國dsp晶片產能市場份額,產量市場份額,供應量 需求量 供需關係,進口量 出口量 消費量等數據統計,同時介紹中國dsp晶片近幾年產能 產量 售價 成本 毛利 產值 毛利率等,之後分析了dsp晶片產業上遊原料
  • 使用STM32 的DSP庫進行FFT變換
    /**********************************************************************************************************FileName:dsp_asm.h*******************************************
  • 音位和音素的區別與聯繫
    音位和音素都是最小的語音單位,但二者不是一回事,它們既不相同,但又有聯繫。
  • fpga應用領域_fpga應用三個主要方向
    3)FPGA內部有豐富的觸發器和I/O引腳。   4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。   5) FPGA採用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。   可以說,FPGA晶片是小批量系統提高系統集成度、可靠性的最佳選擇之一。那麼fpga的應用領域有哪些呢?
  • 零基礎學FPGA(七)淺談狀態機
    fpga相關文章:fpga是什麼
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    fs調製器的時鐘頻率即採樣頻率fs、抽取率M和輸出數據的頻率fdata之間的關係為:        濾波器相關文章:濾波器原理 fpga
  • FPGA開發外設子板模塊電路設計詳解
    FPGA以並行運算為主,以硬體描述語言來實現;相比於PC或單片機(無論是馮諾依曼結構還是哈佛結構)的順序操作有很大區別,也造成了FPGA開發入門較難。目前國內有專業的FPGA外協開發廠家,開發展基本電路如下:蜂鳴器電路如圖3.47所示。FM信號由FPGA的I/O口控制。當FM為高電平時,Q1的BE導通,則CE導通,蜂鳴器的5V和GND形成迴路,發出聲音。
  • 用FPGA實現FFT算法
    當N較大時,因計算量太大,直接用DFT算法進行譜分析和信號的實時處理是不切實際的。快速傅立葉變換(Fast Fourier Transformation,簡稱FFT)使DFT運算效率提高1~2個數量級。其原因是當N較大時,對DFT進行了基4和基2分解運算。FFT算法除了必需的數據存儲器ram和旋轉因子rom外,仍需較複雜的運算和控制電路單元,即使現在,實現長點數的FFT仍然是很困難。
  • 線電壓和相電壓的區別與聯繫(詳細)
    在學習和工作中經常會提到線電壓和相電壓,那什麼是線電壓和相電壓呢,它們之間有什麼區別和聯繫呢,本文就詳細的給大家來解釋下這兩個問題。首先我們先弄明白一個問題,什麼是三相交流電(這是基礎)?好,知道這些,下面一起看下線電壓和相電壓的區別與聯繫吧。一、線電壓和相電壓的區別1.線電壓和相電壓定義(1)線電壓定義。
  • gnss和gps的區別和聯繫
    打開APP gnss和gps的區別和聯繫 發表於 2018-01-19 14:20:09 我們了解它是從開車的導航儀、手機的定位開始的,但是它的軍事作用早在海灣戰爭開始就大放光彩,其主要軍事作用有巡航飛彈和精確制導炸彈,為戰鬥機的飛行和投彈提供有利的條件等。 既然定位和導航這麼重要,那我國也要發展自己的衛星導航系統吧!當然,它還有一個比較富有文化內涵的名字:北鬥衛星導航系統。