99久久免费精品高清特色大片_亚洲色图集配字幕_被多个强壮的黑人灌满精_中文字幕乱码 亚洲精品_国产美女在线

  •  歡迎來到 深圳市毅創(chuàng)騰電子科技有限公司  
網(wǎng)站首頁 > 技術(shù)資料> Altera SoC FPGA含有大吞吐量數(shù)據(jù)通路和無阻塞低延時控制通路

Altera SoC FPGA含有大吞吐量數(shù)據(jù)通路和無阻塞低延時控制通路

信息來源 : 網(wǎng)絡(luò) | 發(fā)布時間 : 2019-08-13 17:23 | 瀏覽次數(shù) : 283

目前,市場上主要有三種SoC FPGA,它們的處理器都是完全專用的“硬核”處理器子系統(tǒng),而不是FPGA架構(gòu)中的軟核知識產(chǎn)權(quán)(IP)。所有這三種器件都采用了全功能ARM處理器,具有完整的存儲器層次結(jié)構(gòu),以及專用外設(shè),啟動、運行和工作都與“普通”的ARM處理器一樣。

Microsemi SmartFusion2 SoC FPGA基于ARM Cortex-M3嵌入式處理器,主要面向微控制器應(yīng)用。Altera SoC和Xilinx Zynq-7000器件使用了雙核ARM Cortex-A9應(yīng)用處理器。除了處理器,SoC FPGA還有豐富的外設(shè)、片內(nèi)存儲器、FPGA類型的邏輯陣列,以及大量的I/O。

這幾種可編程SoC產(chǎn)品表面上看來來都一樣。它們都在一個器件中集成了ARM處理器、各種外設(shè)和FPGA。而實際上,仔細的評估這些器件,更深入的了解數(shù)據(jù)資料是非常關(guān)鍵的。應(yīng)針對具體應(yīng)用來評估底層體系結(jié)構(gòu)及其內(nèi)涵。SoC FPGA體系結(jié)構(gòu)非常重要。仔細的檢查和思考會發(fā)現(xiàn)在體系結(jié)構(gòu)上有很多明顯的不同。

設(shè)計人員應(yīng)如何選擇?本文介紹了在為應(yīng)用選擇最佳可編程SoC時應(yīng)進行的設(shè)計考慮,綜合考慮后作出工程決定。選擇標準主要集中在六個方面:系統(tǒng)性能、系統(tǒng)可靠性和靈活性、系統(tǒng)成本、功耗、未來發(fā)展路線圖、開發(fā)工具。

1.系統(tǒng)性能

SoC FPGA體系結(jié)構(gòu)的兩方面最終決定在不同的單元之間能否高效的傳送數(shù)據(jù):互聯(lián),以及片內(nèi)和片外存儲器帶寬。

SoC體系結(jié)構(gòu)要考慮的第一項是Level-3 (L3)互聯(lián)。顧名思義,L3是L1和L2 Cache之下的一級數(shù)據(jù)傳輸層。L3互聯(lián)的重要性體現(xiàn)在,它是提高性能的交換中心。

不同SoC FPGA供應(yīng)商在L3系統(tǒng)互聯(lián)上的特性有所不同。Altera SoC FPGA提供由三種交換架構(gòu)構(gòu)成的L3系統(tǒng)互聯(lián)——L3主交換、L3主機外設(shè)交換、L3從機外設(shè)交換,使用ARM的AMBA NIC-301網(wǎng)絡(luò)互聯(lián)基礎(chǔ)結(jié)構(gòu)來實現(xiàn),如圖1所示。

圖1.Altera SoC FPGA互聯(lián)體系結(jié)構(gòu)

Altera SoC使用精簡分層總線,無阻塞交換體系結(jié)構(gòu)減小了延時。互聯(lián)設(shè)計支持來自多個主機的同時多路會話,提供足夠的帶寬,因此,每一主機能夠連續(xù)運行(“無阻塞”)。對于仲裁,能夠為每一主機分配優(yōu)先級,指導(dǎo)總線仲裁。使用最近使用(LRU)算法對優(yōu)先級相同的主機進行仲裁。其他廠家的SoC FPGA體系結(jié)構(gòu)可能使用多級層次,這需要分布式仲裁,但這會帶來延時。分布式仲裁類似于有多個數(shù)據(jù)流仲裁。這種方法要求使用中心服務(wù)質(zhì)量(QoS)模塊以確保主機不會擁塞。分布式仲裁也有調(diào)整問題,會與DDR存儲器控制器端口仲裁沖突。

SoC FPGA體系結(jié)構(gòu)最顯著的優(yōu)勢是處理器與FPGA的片內(nèi)緊密耦合。為實現(xiàn)這種性能優(yōu)勢,處理器至FPGA互聯(lián)應(yīng)有足夠的帶寬(寬度和速度),選擇類型合適的互聯(lián)也非常重要,這不能成為系統(tǒng)數(shù)據(jù)傳輸?shù)钠款i。

在結(jié)構(gòu)方面,在其他廠家SoC FPGA器件中,數(shù)據(jù)通路和控制通路會競爭并占用帶寬。處理器需要訪問FPGA邏輯中硬件加速器并對其進行設(shè)置。如果這些控制會話過程與數(shù)據(jù)流出現(xiàn)競爭,那將會阻塞大吞吐量數(shù)據(jù)流,輸入數(shù)據(jù)連續(xù)處理的過程會出現(xiàn)中斷。相似的,寬帶數(shù)據(jù)流會延時控制信號,增加了控制延時。

為防止出現(xiàn)這種情況,Altera SoC FPGA采用了第二個低延時、無阻塞“輕量”互聯(lián)橋接。處理器通過這一簡單的32位ARM Advanced eXtensible Interface (AXI)接口來訪問FPGA中的控制寄存器,不會阻塞或者影響大吞吐量數(shù)據(jù)流,如圖2中的藍色部分所示。同時,處理器和FPGA之間的寬帶數(shù)據(jù)連接支持32位、64位以及128位寬度會話,如圖2中的紅色部分所示。

圖2.Altera SoC FPGA含有大吞吐量數(shù)據(jù)通路和無阻塞低延時控制通路

2.系統(tǒng)可靠性和靈活性

高度集成的SoC FPGA還有助于建立更可靠的系統(tǒng)。兩個重要的方面體現(xiàn)了SoC FPGA器件的不同之處:系統(tǒng)中有多少存儲器保護? SoC FPGA怎樣應(yīng)對軟件缺陷?

對錯誤探測、糾正和監(jiān)視的需求已經(jīng)成為當今設(shè)計的發(fā)展趨勢。隨著存儲器容量和密度的不斷增長,對錯誤檢查和糾正的需求也在增長,也越來越重要。大部分現(xiàn)代系統(tǒng)包括專用硬件來幫助實現(xiàn)數(shù)據(jù)完整性。

從SoC FPGA角度看,這包括糾錯碼,即ECC保護——它不僅僅是存儲器控制器保護的一部分,而且還集成在處理器的片內(nèi)存儲器、高速緩存,以及外設(shè)緩沖中。ECC電路使系統(tǒng)更可靠,系統(tǒng)不受意外數(shù)據(jù)錯誤或者數(shù)據(jù)損壞的影響。

表1總結(jié)了Altera SoC的硬件ECC與其它廠家的對比

表1.SoC FPGA中的ECC

值得重點介紹的另一方面是NAND閃存。NAND閃存適用于文件系統(tǒng)存儲,但有時候可靠性不如NOR閃存。因此,NAND閃存的ECC被用于消除錯誤。早期版本的NAND閃存控制器包括單比特ECC保護。這雖然有一些優(yōu)點,但是CPU必須參與其中,CPU必須通過軟件管理ECC,導(dǎo)致對性能有明顯的影響。大部分現(xiàn)代NAND閃存控制器都包括多比特ECC保護。特別是,在Altera SoC FPGA中實現(xiàn)的NAND閃存控制器包括對512字節(jié)段的4比特、8比特和16比特硬件糾錯,以及對1,024字節(jié)段的24比特硬件糾錯。這實現(xiàn)了功能更強更需要的保護功能,而且不會降低性能。

存儲器保護通常是先進的處理器具有的一種特性。不論是被稱為存儲器管理單元(MMU)還是存儲器保護單元(MPU),處理器的存儲器保護單元都能夠防止錯誤或者非法的處理器會話讀取或者損害其他的存儲器區(qū)域。在Cortex-A9處理器中,ARM的TrustZone技術(shù)擴展了這一保護概念,為安全敏感的系統(tǒng)提供了系統(tǒng)級方法。

某些SoC FPGA將存儲器保護擴展到了FPGA。為什么這一存儲器保護來自FPGA,又用于FPGA呢?處理器和FPGA可以共享一個外部DDR存儲器接口,以便降低成本,減小電路板空間,節(jié)省功耗。假設(shè)定制FPGA邏輯恰好覆寫了一段屬于處理器數(shù)據(jù)、應(yīng)用程序代碼,或者操作系統(tǒng)(OS)內(nèi)核的存儲器,那么會怎樣呢?這會導(dǎo)致系統(tǒng)故障或者將處理器指向錯誤的方向。

為防止出現(xiàn)這種情況,為操作系統(tǒng)和嵌入式應(yīng)用軟件指定了特定的存儲器區(qū)域,而其他存儲器區(qū)域可以專門用于基于FPGA的功能,如圖3所示。通過存儲器保護,基于FPGA的功能不會損壞操作系統(tǒng)或者嵌入式軟件區(qū)域。

圖3.DDR存儲器保護,處理器和FPGA共享公共的存儲器。

看門狗定時器可以防止出錯的軟件將系統(tǒng)阻塞。在以前的雙芯片分立方案,即處理器加FPGA的解決方案中,如果處理器運行出錯導(dǎo)致看門狗復(fù)位,F(xiàn)PGA仍然能夠運行。體系結(jié)構(gòu)設(shè)計良好的SoC FPGA必須支持同樣的“獨立”行為,而且還提供選擇給系統(tǒng)設(shè)計人員來決定是否重新配置FPGA。在很多情況下,很關(guān)鍵的是當處理器自己復(fù)位時,F(xiàn)PGA邏輯需要繼續(xù)監(jiān)視并響應(yīng)外部激勵。因此,在這種條件下,檢查FPGA怎樣重新配置非常重要。


如表2所示,Altera SoC支持處理器和FPGA的復(fù)位電路單獨工作。由系統(tǒng)設(shè)計人員決定是否在CPU復(fù)位時重新配置FPGA。而其他SoC FPGA則在處理器復(fù)位時必須重新配置。

表2.SoC FPGA中的CPU復(fù)位

靈活性是很多設(shè)計人員選擇使用FPGA的主要原因之一??扇婢幊痰腟oC將設(shè)計靈活性擴展到了系統(tǒng)級。選擇SoC FPGA時要考慮的三種體系結(jié)構(gòu):處理器啟動和FPGA配置優(yōu)先級可選、片內(nèi)FPGA接口、封裝引腳兼容。

處理器啟動和FPGA配置的多種選擇——對靈活性的需求首先從啟動開始。SoC FPGA中有三種:“CPU最先啟動”方式;或者先配置FPGA,再通過FPGA邏輯啟動CPU方式;以及完全獨立的處理器啟動和FPGA配置機制的方式。目前,Altera SoC FPGA是唯一設(shè)計支持所有這三種選擇的ARM Cortex-A9處理器SoC FPGA。

靈活性也擴展到片內(nèi)FPGA接口上。有時候應(yīng)用程序需要特性豐富的標準接口;有時候則要求簡單或者可定制接口。對于需要高級功能的應(yīng)用,SoC FPGA使用了ARM的AXI接口來連接處理器、硬核外設(shè)和FPGA邏輯。AXI標準使用成熟的業(yè)界標準,提供高速寬帶接口。但是,對于不需要AXI所有特性的IP內(nèi)核應(yīng)該怎樣呢?可擴展特性更重要,又會怎樣呢?需求的一個極端可能是用戶定制的1000線接口;而另一個極端則只需要一條線來點亮LED或者讀取一個開關(guān)。

為滿足這種變化的需求,除了AXI接口,Altera SoC FPGA還支持Avalon存儲器映射(Avalon-MM)接口,以及Avalon流(Avalon-ST)接口。這些可擴展的Altera接口標準非常適合要求較低或者其他的特殊功能需求。這樣,IP設(shè)計人員可以為每一功能選擇最優(yōu)接口。這也支持現(xiàn)有Altera FPGA客戶繼續(xù)使用現(xiàn)有的IP,不一定要移植到AXI。


該信息來源于網(wǎng)絡(luò),如有侵權(quán),請及時與我們聯(lián)系