資源描述:
《賽靈思ZYNQ-7000架構(gòu).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、賽靈思ZYNQ-7000架構(gòu) 該文章的硬件平臺(tái)是:ZC702(XC7Z020-1CLG484CES)。所用軟件包括:PlanAhead、XilinxPlatformStudio、XilinxSoftwareDevelopmentKit,版本均為14.4。串口工具為TeraTerm?! YNQ-7000是Xilinx推出的一款全可編程片上系統(tǒng)(AllProgrammableSoC),該芯片集成了ARMCortexA9雙核與FPGA,所以ZYNQ是一款SoPC芯片。其架構(gòu)如下圖: 圖中的ProcessingSystem(一般簡(jiǎn)稱為P
2、S)即為處理器(ARMCortexA9MPCore)部分,里面資源非常的豐富,具體可參看Xilinx官方文檔。ProgrammableLogic(一般簡(jiǎn)稱為PL)即可編程部分(FPGA),該部分的資源隨SoC芯片級(jí)別高低不同而不同,最低的是ArTIx-7(Zynq-7010和Zynq-7020),最高的是Kintex-7(Zynq-7030和Zynq-7045)。當(dāng)然,后續(xù)可能SoC中的FPGA會(huì)使用更高的Virtex系列,這個(gè)就不得而知了。PS和PL的關(guān)系: PS的實(shí)質(zhì)就是一個(gè)ARMCortexA9MPcore,所以如果我們不使用可編
3、程部分,我們完全可以只使用PS部分。也就是說,對(duì)于ZYNQ芯片,PS部分可以完全獨(dú)立使用,不依賴PL部分?! L部分的實(shí)質(zhì)是XilinxFPGA。在ZYNQ中,我們可以把PL看成是PS的另一個(gè)具有可重配置特點(diǎn)的“外設(shè)”,它可以作為PS部分的一個(gè)從設(shè)備,受ARM處理器控制。比如ARM(PS)的串口數(shù)量不夠時(shí),以太網(wǎng)接口不夠時(shí),或者需要視頻接口時(shí)都可以用PL部分?jǐn)U展。當(dāng)然我們也可以把PL部分看成一個(gè)不受ARM處理器控制,與ARM處理器對(duì)等的主設(shè)備,主動(dòng)完成與外部芯片、接口的數(shù)據(jù)交互。更甚至PL部分也可以作為整個(gè)系統(tǒng)的主設(shè)備,主動(dòng)從APU部分
4、的存儲(chǔ)器中獲取、存儲(chǔ)數(shù)據(jù),并可控制ARM處理器的運(yùn)算。所以,理論上PL部分也可以像PS部分那樣獨(dú)立運(yùn)行。但限制是必須使用JTAG接口對(duì)PL部分進(jìn)行配置。如果沒有JTAG接口,就無法獨(dú)立運(yùn)行,因?yàn)閆YNQ的PS部分和PL部分都必須依靠PS來完成芯片的初始化配置?! ‰S著嵌入式系統(tǒng)越來越復(fù)雜,功能越來越強(qiáng)大,往往在設(shè)計(jì)中既需要非常靈活的FPGA,又需要處理器去做一些控制,以及配合操作系統(tǒng)使用。傳統(tǒng)的方法是使用一個(gè)FPGA芯片和一個(gè)處理器芯片,比如FPGA+ARM這種模式。不過在這種模式中,F(xiàn)PGA和ARM之間的通信往往會(huì)成為系統(tǒng)的瓶頸。但在Z
5、YNQ7000中,將FPGA和ARM集成在一個(gè)芯片內(nèi)部,兩者之間的通信使用AXI_HP、AXI_GP、AXI_ACP三種接口通信,帶寬可達(dá)吉比特,基本上不會(huì)存在二者通信帶寬不足的問題。當(dāng)然,傳統(tǒng)上也有在FPGA上實(shí)現(xiàn)一個(gè)軟核(比如Altera的NiosII,Xilinx的Picoblaze、Micoblaze等),這樣對(duì)于一些對(duì)處理器要求不高的場(chǎng)合是可以勝任的,但如果對(duì)于處理器要求比較高的場(chǎng)景,這種軟核的性能往往是捉襟見肘。而且軟核會(huì)占用一部分PFGA的資源。所以ZYNQ系列實(shí)現(xiàn)FPGA和硬核的集成,對(duì)于嵌入式開發(fā)設(shè)計(jì)可以說是具有里程碑意
6、義的一件事?! ilinx為ZYNQ的開發(fā)提供了三個(gè)主要軟件:PlanAhead、XilinxPlatformStudio(XPS)、XilinxSoftwareDevelopmentKit(SDK)。當(dāng)然,關(guān)于這三個(gè)軟件的定位以及作用,Xilinx以及網(wǎng)上都有很詳細(xì)很官方的說明,我就不贅述了。我個(gè)人理解PlanAhead就是做整個(gè)硬件環(huán)境搭建,系統(tǒng)集成的。XPS可以從PlanAhead直接調(diào)用,主要用于處理器部分的開發(fā)設(shè)計(jì)。SDK是Xilinx對(duì)Eclipse的改裝,主要用于軟件部分的設(shè)計(jì)。當(dāng)然,目前Xilinx已經(jīng)推出了新一代的設(shè)計(jì)
7、軟件Vivado,詳情可參加Xilinx官網(wǎng)?! ‘?dāng)然,ZYNQ系列的芯片本身的設(shè)計(jì)與結(jié)構(gòu)就很復(fù)雜,其涉及到的技術(shù)更是非常之多,因?yàn)楸鞠盗形恼碌亩ㄎ唬粫?huì)對(duì)這些進(jìn)行總結(jié)。而且其實(shí)也沒有必要,這些東西都可以在Xilinx官方提供的文檔中找到。我只會(huì)總結(jié)一些文檔中沒有提到的,或者沒有系統(tǒng)概括總結(jié)的東西。