tft每日頭條

 > 生活

 > dsp和fpga的區别

dsp和fpga的區别

生活 更新时间:2024-08-29 22:17:24

dsp和fpga的區别?這世界真是瘋了,貌似有人連FPGA原理是什麼都不知道就開始來學習FPGA了,今天小編就來說說關于dsp和fpga的區别?下面更多詳細答案一起來看看吧!

dsp和fpga的區别(大咖解讀啥是FPGADSP)1

dsp和fpga的區别

這世界真是瘋了,貌似有人連FPGA原理是什麼都不知道就開始來學習FPGA了。

DSP就是一個指令比較獨特的處理器。它雖然是通用處理器,但是實際上不怎麼“通用”。技術很牛的人可以用DSP做一台電腦出來跑windows,而實際上真正這麼幹的肯定是蠢材。用DSP做信号處理,比其他種類的處理器要厲害;用DSP做信号處理之外的事情,卻并不見長。而且信号處理的代碼一般需要對算法很精通的人才能真正寫好。

數據結構裡面的時間複雜度和空間複雜度在這裡是一把很嚴酷的尺子。 FPGA隻不過披着軟件的外衣,實際上是硬件。FPGA内部有兩層相對獨立的電路。使用者“編碼->編譯”後生成一個映像,這個映像作用于第一層電路。這層電路之際上就是一個0,1的開關矩陣,這個開關矩陣用來控制第二層工作電路,将第二層工作電路配置成一個相應的處理器。

理論上FPGA可以配置成任何需要的處理器,而實際上為了盡量少出bug,FPGA開發都使用已經開發好的“庫文件”,也就是把人家能穩定工作的電路圖拿過來。

因此,對大多數FPGA開發者來說,FPGA内部有幾個核基本上隻能從庫文件裡面選——除非你有能力自己設計核心内部的電路和核間總線——ram和rom也是用宏來配置,自己隻需要改改外部的專用電路和接線方式等等。

甚至外部的專用電路都有庫文件,搭個積木就完事了。玩FPGA真正掙錢的人是做積木的人,你原創幾個積木并且能申請專利,迫使人家給你交專利費,那你這輩子可以衣食無憂了。

FPGA區别于ASIC設計屬于硬件設計的範疇ASIC是硬件全定制FPGA是硬件半定制. 具體來說ASIC整個電路都由設計師設計的,用多少資源設計多少資源 一般多用于産品設計. FPGA資源事先由廠商給定,例如Altera Xilinx等都提供不同系列的FPGA芯片,設計師可以在給定資源下做硬件設計開發.

DSP主要用于處理信号,事先算法,特點是多級流水,可以加快數據處理的速度,開發環境主要是C語言,可以說DSP應用的範圍更專DSP的設計. 可以理解為軟件設計,設計師不需要太了解DSP的結構.

補充幾個小概念

DSP願意就是指數字信号處理 隻不過DSP芯片由于主要功能是實現數字信号處理 實現各種算法 所以簡稱為DSP(數字信号處理器).

FPGA一樣可以做DSP(數字信号處理),就意味着可以用FPGA做硬件設計來實現DSP芯片的功能,當然,相比較專業的DSP芯片 成本太高.

現在除了FPGA和DSP之外還有一個近幾年熱門的産品 ARM. ARM主要應用與手持設備和嵌入式産品,幾乎籠罩了90%的市場份額,可以說ARM開發也偏向于軟件開發,設計者主要是講wince系統或者linux系統移植到ARM開發平台上,然後做各種軟件應用開發.

所以 這三個方向都有其不同的應用場合,很難講誰更有前途,不過,作為我個人而言,更喜歡做硬件設計,所以我選擇FPGA作為自己的方向 FPGA.

主要是給設計者提供了一個硬件平台 開發的核心還是需要獨立的應用設計和高效的算法設計 所以設計者應該處理好工具的掌握和具體設計的區别 FPGA:并行處理,内部資源多 DSP:成本低,低功耗,高性能的處理能力。具有強大的外部通信接口(SCI,SPI,CAN)便于構成大的控制系統。

特點:

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

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

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

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

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

(6)具有在單周期内操作的多個硬件地址産生器;

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

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

本人認為FPGA更有前途,DSP其實隻是個特殊的處理器,有專用的硬件乘法器,有桶形移位器可以把數據從存儲器移到ALU,還有流水線等技術。

但FPGA同樣可以完成這些功能,并且FPGA是并行工作的,現在很多FPGA内部可以使用軟DSP或者硬核的DSP,當你的項目需要時序很嚴格的情況非FPGA莫屬。

比如說用DSP和USB芯片CY68013進行FIFO(同步傳送)數據時,IFCLK可以是外部或内部,USB芯片在

(IFCONFIG的IFCLKSRC裡配置)。如果IFCLK使用内部的情況下,DSP根本無法知道我把數據送到FIFO數據端口後USB芯片内部時鐘過了多少周期,但FPGA就可以,因為FPGA的時鐘取自于USB芯片的48M輸出,在FPGA内部做一個狀态機,當數據送到USB芯片的FIFO數據端口時,下一狀态把SLWR拉低,再下一狀态拉高,就等于USB内部過了一周期,數據就寫進USB芯片内部的FIFO了,我隻是舉個簡單的例子,很多關于時序的案例非FPGA莫屬,DSP做算法快速,成熟,FPGA更有挑戰,據我的經驗,FPGA現在内部起碼有很多核是可以用的,

這像一個可配置的單片機,不用的我就不放進項目。以ACTEL的FPGA來說,用的比較多的軟核

是:Core8051S、CoreABC、微處理器軟核,特别說明CoreABC占用的空間非常少,可以裁減指令,可以配置數據寬度8,16,32,有1組通用輸入端口和輸出端口,可配置堆棧。

CoreDES,CoreAES128,CoreFROM,CoreI2C,CoreGPIO,CoreInterrupt,CoreLPC,CoreSDR,CoreUART,還有很多很多,看這些名字,很多人都知道幹什麼用的。 關于DPS,FPGA,AME你如何看待呢?哪個是你的最愛?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved