一、課程介紹
高級(jí)FPGA系統(tǒng)設(shè)計(jì)需要研究包括設(shè)計(jì)方法學(xué)、算法和數(shù)據(jù)結(jié)構(gòu)、編程語言和程序、體系結(jié)構(gòu)與硬線邏輯以及設(shè)計(jì)與實(shí)現(xiàn)工具五個(gè)關(guān)鍵問題。只有學(xué)習(xí)掌握好這5個(gè)方面的知識(shí),并深刻理解這五個(gè)方面的關(guān)系,才能做到從總體上把握全系統(tǒng),設(shè)計(jì)出滿足要求的高性能數(shù)字系統(tǒng)。
FPGA系統(tǒng)設(shè)計(jì)實(shí)質(zhì)上是一個(gè)同步時(shí)序系統(tǒng)的設(shè)計(jì),理解掌握時(shí)序的概念,并能進(jìn)行正確完整的時(shí)序約束,是實(shí)現(xiàn)高性能系統(tǒng)的重要保證。本課程按照"從宏觀到微觀,從頂層到底層"的系統(tǒng)設(shè)計(jì)原則,以"時(shí)序分析與設(shè)計(jì)(Timing Analyzing and Design)"為主線,按照從"高性能內(nèi)部邏輯設(shè)計(jì)"到"高速外部接口設(shè)計(jì)"再到"FPGA嵌入式系統(tǒng)"的順序,深入探討了"FPGA和FPGA數(shù)字系統(tǒng)"、"FPGA設(shè)計(jì)流程與時(shí)序收斂"、"Virtex-4和Virtex-5高級(jí)資源"、"FPGA高速I/O接口設(shè)計(jì)"以及FPGA嵌入式系統(tǒng)開發(fā)的高級(jí)特性與技術(shù)5大主題。課程內(nèi)容結(jié)合了美國相關(guān)原版培訓(xùn)課程和培訓(xùn)講師的科研教學(xué)實(shí)踐,理論豐富,實(shí)驗(yàn)合理,具有非常強(qiáng)的系統(tǒng)性和實(shí)用性,可以引導(dǎo)學(xué)員快速提高FPGA數(shù)字系統(tǒng)設(shè)計(jì)水平,從而能夠更快地創(chuàng)建設(shè)計(jì),縮短開發(fā)時(shí)間,降低開發(fā)成本。
二、主辦單位:中國高科技產(chǎn)業(yè)化研究會(huì)信號(hào)處理專家委員會(huì)
三、研修時(shí)間:2010年06月10-13日(09日?qǐng)?bào)到)
四、地 點(diǎn):上 海(具體地點(diǎn)及路線圖詳見報(bào)到通知)
五、培訓(xùn)對(duì)象
課程適合于使用FPGA器件進(jìn)行科研和產(chǎn)品開發(fā)的具有中等水平的工程技術(shù)人員,也適合于相關(guān)專業(yè)領(lǐng)域具有相當(dāng)水平的教師和研究生。
六、工具平臺(tái)
培訓(xùn)課程使用的所有軟硬件工具由培訓(xùn)方提供。根據(jù)培訓(xùn)時(shí)間和地點(diǎn)的不同,軟硬件版本會(huì)有所變化。培訓(xùn)方可以以優(yōu)惠的價(jià)格向?qū)W員提供基于Xilinx XC3S500E的高級(jí)開發(fā)板一塊,以方便學(xué)員在學(xué)習(xí)結(jié)束后繼續(xù)深入研究。本次培訓(xùn)使用的硬件平臺(tái): XUPV2Pro實(shí)驗(yàn)板。
七、授課大綱
1:FPGA和FPGA數(shù)字系統(tǒng)
本節(jié)通過對(duì)數(shù)字信號(hào)處理、計(jì)算(Computing)、算法和數(shù)據(jù)結(jié)構(gòu)、編程語言和程序、體系結(jié)構(gòu)和硬件邏輯以及設(shè)計(jì)方法學(xué)的基本概念和它們之間關(guān)系的介紹,使學(xué)員從更高的層次上去理解FPGA數(shù)字系統(tǒng)的設(shè)計(jì)問題。通過本節(jié),希望學(xué)員能夠理解現(xiàn)代電子系統(tǒng)的三大基本關(guān)系(模擬系統(tǒng)與數(shù)字系統(tǒng)的關(guān)系/軟件與硬件的關(guān)系/同步系統(tǒng)與異步系統(tǒng)的關(guān)系),理解FPGA的基本結(jié)構(gòu)和技術(shù)特點(diǎn)。
2:FPGA設(shè)計(jì)流程與時(shí)序收斂
FPGA系統(tǒng)設(shè)計(jì)實(shí)質(zhì)上是一個(gè)同步時(shí)序系統(tǒng)的設(shè)計(jì),深入理解掌握時(shí)序的概念,并能使用時(shí)序約束工具對(duì)設(shè)計(jì)進(jìn)行正確的、完整的約束,是實(shí)現(xiàn)高性能系統(tǒng)的重要保證。本節(jié)是對(duì)FPGA結(jié)構(gòu)資源、設(shè)計(jì)流程和設(shè)計(jì)工具的歸納、總結(jié)與升華,使學(xué)員透過表面現(xiàn)象看到FPGA設(shè)計(jì)技術(shù)的實(shí)質(zhì),從而為掌握FPGA高級(jí)設(shè)計(jì)技術(shù)打下基礎(chǔ)。
主要內(nèi)容如下:深入理解FPGA設(shè)計(jì)和驗(yàn)證流程;掌握綜合(Synthesize)的不同屬性對(duì)性能改善的影響;通過使用高級(jí)實(shí)現(xiàn)(Implement)屬性增加設(shè)計(jì)性能;掌握全局時(shí)序約束,進(jìn)一步學(xué)習(xí)特定路徑時(shí)序約束,并使用約束編輯器正確設(shè)置系統(tǒng)約束;運(yùn)用靜態(tài)時(shí)序分析工具(Timing Analyzer)和時(shí)序收斂流程解決時(shí)序問題;深入理解基于FPGA的軟硬件協(xié)同系統(tǒng)設(shè)計(jì)環(huán)境(ISE、EDK、SysGen)。
3:Virtex-4和Virtex-5高級(jí)資源
學(xué)習(xí)掌握最新的FPGA設(shè)計(jì)分析方法和最流行的FPGA設(shè)計(jì)工具對(duì)實(shí)現(xiàn)高性能的FPGA數(shù)字系統(tǒng)意義重大。本節(jié)和上一節(jié)重點(diǎn)關(guān)注FPGA設(shè)計(jì)領(lǐng)域的新技術(shù)。
Xilinx Virtex-4和Virtex-5 FPGA芯片是目前最先進(jìn)的可編程邏輯器件。本節(jié)介紹Virtex-4和Virtex-5 FPGA提供的新資源和新設(shè)計(jì)方法,特別是時(shí)鐘系統(tǒng)的設(shè)計(jì)方法和設(shè)計(jì)技巧。Virtex-4和Virtex-5高性能的源同步資源和技術(shù)為解決芯片間高速通信提供了有力保證。本節(jié)重點(diǎn)學(xué)習(xí)基于Virtex-4和Virtex-5的 時(shí)鐘設(shè)計(jì)和源同步技術(shù),為高速IO接口設(shè)計(jì)分析打下基礎(chǔ)。
4:FPGA高速I/O接口設(shè)計(jì)
FPGA片內(nèi)工作頻率可以達(dá)到500MHz,并且具有強(qiáng)大的并行處理能力,而芯片間接口速度已經(jīng)成為高性能系統(tǒng)的瓶頸。高速系統(tǒng)主要有三種時(shí)鐘結(jié)構(gòu),即全局時(shí)鐘系統(tǒng)、源同步時(shí)鐘系統(tǒng)和自同步時(shí)鐘系統(tǒng)。本節(jié)重點(diǎn)學(xué)習(xí)源同步時(shí)鐘技術(shù)的原理和應(yīng)用,并有大量實(shí)例分析。學(xué)員將從理論和實(shí)踐兩個(gè)方面深入理解源同步技術(shù)在高速接口技術(shù)中的應(yīng)用,學(xué)習(xí)使用靜態(tài)時(shí)序分析工具分析高速接口的時(shí)序問題,學(xué)習(xí)使用源同步技術(shù)和源同步資源解決高速接口的時(shí)序問題。
主要內(nèi)容如下:學(xué)習(xí)源同步高速I/O接口技術(shù);使用時(shí)序分析器查找接口時(shí)序失敗原因,并修改設(shè)計(jì)以滿足時(shí)序要求;分析學(xué)習(xí)高速多通道串行ADC與FPGA接口設(shè)計(jì)和高性能DSP芯片與FPGA接口設(shè)計(jì)。
5:FPGA嵌入式系統(tǒng)高級(jí)特性與技術(shù)理論授課
隨著FPGA技術(shù)的發(fā)展,在FPGA上實(shí)現(xiàn)可編程片上系統(tǒng)(PSOC)在技術(shù)上已成為可能。基于FPGA的PSOC系統(tǒng)開發(fā)已成為目前FPGA應(yīng)用的一個(gè)熱點(diǎn)。但是基于FPGA的嵌入式系統(tǒng)開發(fā)對(duì)使用者的知識(shí)要求比較高,流程復(fù)雜,相關(guān)資料不多,這些都成為目前開發(fā)FPGA嵌入式系統(tǒng)的瓶頸問題。
本部分內(nèi)容以FPGA嵌入式系統(tǒng)開發(fā)初級(jí)班所授的技能為基礎(chǔ),要求學(xué)員具備基本的嵌入式系統(tǒng)開發(fā)以及C語言知識(shí),主要圍繞在嵌入式系統(tǒng)的高級(jí)操作和工程應(yīng)用展開講授,具體包括:Picoblaze、MicroBlaze和PowerPC這兩大類,其中Picoblaze為一個(gè)8位的MCU內(nèi)核,應(yīng)用方式非常靈活;MicroBlaze和PowerPC為更高級(jí)的32位處理內(nèi)核,前者為軟核,后者為硬核,適合完成復(fù)雜的PSOC系統(tǒng)實(shí)現(xiàn)。
PicoBlaze 8位微處理器是Xilinx公司為Virtex系列FPGA、Spartan系列FPGA和CoolRunner-II系列CPLD器件設(shè)計(jì)嵌入式專用IP Core。它解決了常量編碼可編程狀態(tài)機(jī)(KCPSM)的問題。這一模塊只占用SpartanIIE的76個(gè)小區(qū)(slice),且還包括一個(gè)用于存儲(chǔ)指令的由Block RAM組成的ROM,最多可存儲(chǔ)256條指令。在實(shí)際工程中頗具"四兩撥千斤"之功效
對(duì)于MicroBlaze和PowerPC系統(tǒng),則更注重存儲(chǔ)器技術(shù)、系統(tǒng)加速策略、用戶自定義外設(shè)、軟件開發(fā)、啟動(dòng)加載程序(Boot loader)設(shè)計(jì)、操作系統(tǒng)、軟硬件協(xié)同開發(fā)等核心問題。同時(shí),在實(shí)際中,配合FPGA的并行特征,則可以將MicroBlaze和PowerPC看成"大腦",而FPGA的邏輯資源則等效于"心臟、四肢以及五官"等核心組件,只有彼此有機(jī)結(jié)合才能形成高效的系統(tǒng)。因此在學(xué)習(xí)基于FPGA的嵌入式系統(tǒng)開發(fā)中,不能簡單認(rèn)為嵌入式就是全部。這和典型的MCU、ARM以及DSP嵌入式系統(tǒng)有著本質(zhì)區(qū)別,但就于MicroBlaze和PowerPC內(nèi)核來講,其和傳統(tǒng)的嵌入式系統(tǒng)實(shí)相通的。
因此,本課程基于FPGA平臺(tái)將學(xué)員帶入一個(gè)更為廣闊的視角,同時(shí)對(duì)理解其他類型的嵌入式應(yīng)用系統(tǒng)架構(gòu)會(huì)有也有更深的理解。