ARM,DSP,FPGA,CPLD,SOPC,SOC區別和聯系
ARM,DSP,FPGA,CPLD,SOPC,SOC之間有什么區別和聯系?
arm是一種嵌入式芯片,比單片機功能強,可以針對需要增加外設。類似于通用cpu,但是不包括桌面計算機。
DSP主要用來計算,計算功能很強悍,一般嵌入式芯片用來控制,而DSP用來計算,譬如一般手機有一個arm芯片,主要用來跑界面,應用程序,DSP可能有兩個,adsp,mdsp,或一個,主要是加密解密,調制解調等。
FPGA和CPLD都是可編程邏輯器件,都可以用VHDL或verilog HDL來編程,一般CPLD使用乘積項技術,粒度粗些;FPGA使用查找表技術,粒度細些,適用觸發器較多的邏輯。其實多數時候都忽略它們的差異,一般在設計ASIC芯片時要用FPGA驗證,然后再把VHDL等程序映射為固定的版圖,制作ASIC芯片,在設計VHDL程序時,有可能要使用C仿真。
SOC就是單片系統,主要是器件太多設計復雜,成本高,可靠性差等缺點,所以單片系統是一個發展趨勢。
SOPC就是可編程芯片系統,就是可以用FPGA/CPLD實現一個單片系統,譬如altera的Nios軟核處理器嵌入到Stratix中。
●FPGA與CPLD的區別
系統的比較,與大家共享:
盡管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大,且集成度越高越明顯。
隨著復雜可編程邏輯器件(CPLD)密度的提高,數字器件設計人員在進行大型設計時,既靈活又容易,而且產品可以很快進入市場。許多設計人員已經感受到CPLD容易使用、時序可預測和速度高等優點,然而,在過去由于受到CPLD密度的限制,他們只好轉向FPGA和ASIC。現在,設計人員可以體會到密度高達數十萬門的CPLD所帶來的好處。
CPLD結構在一個邏輯路徑上采用1至16個乘積項,因而大型復雜設計的運行速度可以預測。因此,原有設計的運行可以預測,也很可靠,而且修改設計也很容易。CPLD在本質上很靈活、時序簡單、路由性能極好,用戶可以改變他們的設計同時保持引腳輸出不變。與FPGA相比,CPLD的I/O更多,尺寸更小。
如今,通信系統使用很多標準,必須根據客戶的需要配置設備以支持不同的標準。CPLD可讓設備做出相應的調整以支持多種協議,并隨著標準和協議的演變而改變功能。這為系統設計人員帶來很大的方便,因為在標準尚未完全成熟之前他們就可以著手進行硬件設計,然后再修改代碼以滿足最終標準的要求。CPLD的速度和延遲特性比純軟件方案更好,它的NRE費用低於ASIC,更靈活,產品也可以更快入市。CPLD可編程方案的優點如下:
●邏輯和存儲器資源豐富(Cypress Delta39K200的RAM超過480 Kb)
●帶冗余路由資源的靈活時序模型
●改變引腳輸出很靈活
●可以裝在系統上后重新編程
●I/O數目多
評論