時(shí)間 |
課程大綱 |
第一部分 |
階段目標(biāo) |
第一天的課程將幫助學(xué)員了解FPGA系統(tǒng)設(shè)計(jì)的基礎(chǔ)知識(shí),使學(xué)員對(duì)FPGA的典型應(yīng)用及解決方案,典型型號(hào)及結(jié)構(gòu)特點(diǎn)有一個(gè)深入的認(rèn)識(shí)。學(xué)員將掌握FPGA系統(tǒng)設(shè)計(jì)的方法、流程及手段,學(xué)會(huì)操作FPGA開(kāi)發(fā)軟件來(lái)完成簡(jiǎn)單的FPGA設(shè)計(jì)和開(kāi)發(fā)。 |
|
1. FPGA典型應(yīng)用及解決方案
??
本節(jié)將介紹FPGA在不同領(lǐng)域應(yīng)用的優(yōu)勢(shì),幫助學(xué)員了解FPGA的應(yīng)用場(chǎng)合及常見(jiàn)的解決方案。
??
本節(jié)要點(diǎn):
??
1.1?嵌入式應(yīng)用,DSP應(yīng)用,高速互聯(lián)應(yīng)用,ASIC驗(yàn)證應(yīng)用,外設(shè)接口互聯(lián)應(yīng)用
??
1.2?FPGA典型應(yīng)用案例分享
2. FPGA典型器件型號(hào)及結(jié)構(gòu)
??
本節(jié)將介紹主流FPGA廠商的傳統(tǒng)、主流及最新型號(hào)的器件特點(diǎn),幫助學(xué)員掌握幾種最常見(jiàn)的FPGA器件的結(jié)構(gòu),了解最新的FPGA器件型號(hào)特點(diǎn),掌握FPGA器件選型的原則和方法。
??
本節(jié)要點(diǎn):
??
2.1?Altera:CPLD,CycloneI/II,Arria,Stratix
??
2.2?Xilinx:CPLD,Spartan3/6,Virtex5/6
??
2.3?FPGA兼容設(shè)計(jì)案例分析
3. FPGA設(shè)計(jì)流程及開(kāi)發(fā)方法
??
本節(jié)圍繞FPGA的設(shè)計(jì)流程,介紹主流FPGA廠商的開(kāi)發(fā)工具鏈,重點(diǎn)講授關(guān)鍵設(shè)計(jì)環(huán)節(jié)的工具特點(diǎn),使學(xué)員掌握FPGA設(shè)計(jì)流程的各個(gè)環(huán)節(jié)及對(duì)應(yīng)的開(kāi)發(fā)方法。
??
本節(jié)要點(diǎn):
??
3.1?FPGA PCB設(shè)計(jì)要點(diǎn)
??
3.2?Altera:Quartus II,EDS,DSP Builder,SignalTap
??
3.3?Xilinx:ISE,XPS/EDK,System Generator,AccelDSP,ChipScope
??
3.4?Synplify,Modelsim,Matlab,Simulink |
|
1. FPGA實(shí)驗(yàn)平臺(tái)介紹
??
本節(jié)簡(jiǎn)要介紹課程使用的實(shí)驗(yàn)開(kāi)發(fā)平臺(tái):紅色颶風(fēng)系列開(kāi)發(fā)板,對(duì)其資源配置、設(shè)計(jì)理念、使用方法等進(jìn)行介紹,使學(xué)員具備在此實(shí)驗(yàn)平臺(tái)開(kāi)展FPGA設(shè)計(jì)開(kāi)發(fā)的基礎(chǔ)。
??
本節(jié)要點(diǎn)
??
1.1?PCB設(shè)計(jì),電源設(shè)計(jì),F(xiàn)PGA配置鏈路,接口設(shè)計(jì),使用方法
2. 解剖一個(gè)典型的FPGA工程
??
本節(jié)以一個(gè)典型的FPGA工程為基礎(chǔ),手把手為學(xué)員講授FPGA工程中的關(guān)鍵要素,要素的設(shè)計(jì)方法及作用。幫助學(xué)員迅速掌握FPGA開(kāi)發(fā)的主要環(huán)節(jié)。
??
本節(jié)要點(diǎn):
??
2.1?設(shè)計(jì)輸入文件,約束文件,仿真激勵(lì)文件,波形文件,下載文件,調(diào)試文件,設(shè)計(jì)報(bào)告
3. 實(shí)戰(zhàn)訓(xùn)練
??
本節(jié)由學(xué)員動(dòng)手,在FPGA實(shí)驗(yàn)平臺(tái)上完成第一個(gè)FPGA工程設(shè)計(jì)。學(xué)員根據(jù)實(shí)驗(yàn)手冊(cè)一步一步的完成一個(gè)功能直觀步驟完整的FPGA設(shè)計(jì),總結(jié)在FPGA設(shè)計(jì)過(guò)程中常見(jiàn)的錯(cuò)誤和問(wèn)題。
??
本節(jié)要點(diǎn):
??
3.1?工程創(chuàng)建及屬性設(shè)置,源文件設(shè)計(jì)輸入方式,約束設(shè)計(jì),工程編譯,功能仿真,時(shí)序仿真,硬件下載,硬件調(diào)試 |
第二部分 |
階段目標(biāo) |
第二天的課程以設(shè)計(jì)輸入、仿真激勵(lì)設(shè)計(jì)及測(cè)試調(diào)試為主要內(nèi)容,學(xué)員可以掌握FPGA開(kāi)發(fā)的基本設(shè)計(jì)輸入方法:原理圖輸入及Verilog硬件描述語(yǔ)言輸入,配合豐富的實(shí)例使學(xué)員了解FPGA資源的語(yǔ)言描述方法及數(shù)字系統(tǒng)的測(cè)試驗(yàn)證方法,同時(shí)通過(guò)對(duì)設(shè)計(jì)原則和設(shè)計(jì)技巧部分的課程可以幫助學(xué)員提高系統(tǒng)設(shè)計(jì)的能力,為SOPC的系統(tǒng)設(shè)計(jì)打下良好的基礎(chǔ)。 |
|
1. FPGA設(shè)計(jì)輸入方法
??
本節(jié)針對(duì)FPGA開(kāi)發(fā)過(guò)程中的主要工作——設(shè)計(jì)輸入——進(jìn)行詳細(xì)分析,幫助學(xué)員掌握常見(jiàn)設(shè)計(jì)輸入方法,仿真激勵(lì)文件設(shè)計(jì)方法,理解硬件描述語(yǔ)言的可綜合設(shè)計(jì)風(fēng)格。
??
本節(jié)要點(diǎn):
??
1.1?原理圖設(shè)計(jì)方法,Verilog語(yǔ)言基本結(jié)構(gòu),可綜合設(shè)計(jì),仿真激勵(lì)設(shè)計(jì)
??
1.2?常用設(shè)計(jì)輸入方法實(shí)例分析
2. FPGA常用資源結(jié)構(gòu)特點(diǎn)及調(diào)用方法
??
本節(jié)將學(xué)習(xí)FPGA器件的工藝結(jié)構(gòu),詳細(xì)介紹FPGA的各種邏輯資源特點(diǎn)及調(diào)用方法,幫助學(xué)員深刻理解FPGA的各種內(nèi)部資源,為系統(tǒng)的進(jìn)行FPGA開(kāi)發(fā)打下基礎(chǔ)。
??
本節(jié)要點(diǎn):
??
2.1?PLL/DCM等時(shí)鐘資源,Select IO資源,RAM資源,乘法器資源,SERDES資源
??
2.2?FPGA常用資源調(diào)用方法實(shí)例分析
3. 有限狀態(tài)機(jī)設(shè)計(jì)
??
本節(jié)講授數(shù)字系統(tǒng)設(shè)計(jì)中最常見(jiàn)的結(jié)構(gòu)設(shè)計(jì)方法——有限狀態(tài)機(jī),通過(guò)學(xué)習(xí)學(xué)員將掌握狀態(tài)機(jī)設(shè)計(jì)中的狀態(tài)劃分原則及硬件描述語(yǔ)言實(shí)現(xiàn)方法。
??
本節(jié)要點(diǎn):
??
3.1?狀態(tài)機(jī)編碼,三段式狀態(tài)機(jī)設(shè)計(jì)
??
3.2?狀態(tài)機(jī)實(shí)例分析 |
|
1. FPGA設(shè)計(jì)原則及常用設(shè)計(jì)技巧
??
本節(jié)介紹FPGA設(shè)計(jì)中應(yīng)遵循的設(shè)計(jì)原則和常用設(shè)計(jì)技巧,通過(guò)學(xué)習(xí)學(xué)員可從更高的層次上理解數(shù)字系統(tǒng)的設(shè)計(jì)方法。
??
本節(jié)要點(diǎn):
??
1.1?設(shè)計(jì)原則:模塊化設(shè)計(jì),基于IP設(shè)計(jì),時(shí)鐘復(fù)位系統(tǒng)設(shè)計(jì)
??
1.2?設(shè)計(jì)技巧:面積與速度互換、兵乓操作、流水線
??
1.3?流水線設(shè)計(jì)實(shí)例分析
2. 設(shè)計(jì)輸入與驗(yàn)證實(shí)戰(zhàn)訓(xùn)練
??
本節(jié)讓學(xué)員動(dòng)手去完成既定的實(shí)驗(yàn)任務(wù),在實(shí)踐中掌握硬件描述語(yǔ)言的編寫(xiě)方法及系統(tǒng)設(shè)計(jì)的模塊化設(shè)計(jì)方法。
??
本節(jié)要點(diǎn):
??
2.1?用Verilog語(yǔ)言實(shí)現(xiàn)特定功能組合邏輯電路
??
2.2?用Verilog語(yǔ)言實(shí)現(xiàn)特定功能時(shí)序邏輯電路
??
2.3?頂層文件設(shè)計(jì)方法及模塊調(diào)用方法
??
2.4?測(cè)試激勵(lì)的編寫(xiě)方法及仿真
3. 實(shí)時(shí)硬件調(diào)試實(shí)戰(zhàn)訓(xùn)練
??
本節(jié)通過(guò)實(shí)驗(yàn)演示及學(xué)員動(dòng)手相結(jié)合,是學(xué)員掌握FPGA實(shí)時(shí)調(diào)試工具——虛擬邏輯分析儀——的使用方法,提高FPGA調(diào)試測(cè)試的技能。
??
本節(jié)要點(diǎn):
??
3.1?虛擬邏輯分析儀的原理及特點(diǎn)
??
3.2?使用虛擬邏輯分析儀進(jìn)行調(diào)試的設(shè)計(jì)流程
??
3.3?Altera實(shí)戰(zhàn):使用SignalTap進(jìn)行實(shí)時(shí)硬件調(diào)試
??
3.4?Xilinx實(shí)戰(zhàn):使用ChipScope進(jìn)行實(shí)時(shí)硬件調(diào)試 |
第三部分 |
階段目標(biāo) |
第三天的課程以SOPC系統(tǒng)概念為切入點(diǎn),重點(diǎn)介紹FPGA EDS解決方案的體系結(jié)構(gòu)及硬件設(shè)計(jì)流程。圍繞軟核處理器、Avalon總線及外圍組件三個(gè)方面對(duì)SOPC的硬件結(jié)構(gòu)進(jìn)行介紹。通過(guò)簡(jiǎn)單實(shí)用的SOPC工程使學(xué)員掌握EDS/XPS工具的基本使用方法及硬件設(shè)計(jì)流程。 |
|
1. SOPC系統(tǒng)基礎(chǔ)及典型解決方案
??
本節(jié)講授SOPC系統(tǒng)的基礎(chǔ)知識(shí)及SOPC的構(gòu)成要素,介紹當(dāng)前典型的幾種SOPC解決方案及優(yōu)缺點(diǎn),使學(xué)員對(duì)SOPC有一個(gè)基本的認(rèn)識(shí)。
??
本節(jié)要點(diǎn):
??
1.1?SOPC構(gòu)成要素,典型軟核SOPC解決方案,典型硬核SOPC解決方案,SOPC系統(tǒng)優(yōu)缺點(diǎn)
2. Altera NIOS II解決方案
??
本節(jié)基于Altera NIOS II軟核處理器,通過(guò)一個(gè)典型的工業(yè)數(shù)據(jù)采集SOPC系統(tǒng)工程,詳細(xì)介紹NIOS II SOPC解決方案的構(gòu)成要素。通過(guò)學(xué)習(xí),學(xué)員將從整體上理解NIOS II SOPC解決方案的架構(gòu)和重要的構(gòu)成要素,學(xué)會(huì)使用原理圖和硬件描述語(yǔ)言的方式調(diào)用SOPC工程模塊。
??
本節(jié)要點(diǎn):
??
2.1?一個(gè)典型的工業(yè)采集系統(tǒng)SOPC工程
??
2.2?NIOS II解決方案架構(gòu),開(kāi)發(fā)工具鏈
??
2.3?NIOS II 軟核處理器,Avalon總線,典型外設(shè)組件
??
2.4?NIOS II硬件抽象層HAL及系統(tǒng)庫(kù)
??
2.5?定制指令及定制組件
??
2.6?SOPC的時(shí)鐘與復(fù)位系統(tǒng)
??
2.7?NIOS II軟核系統(tǒng)的調(diào)用方法 |
|
1. NIOS II解決方案的系統(tǒng)設(shè)計(jì)流程
??
本節(jié)為學(xué)員講述NIOS II解決方案的系統(tǒng)設(shè)計(jì)流程,通過(guò)學(xué)習(xí)學(xué)員可以從流程上清晰地理解SOPC設(shè)計(jì)的各個(gè)主要環(huán)節(jié)。
??
本節(jié)要點(diǎn):
??
1.1?NIOS II解決方案的系統(tǒng)設(shè)計(jì)流程
??
1.2?NIOS II解決方案的硬件設(shè)計(jì)流程
??
1.3?NIOS II解決方案的軟件設(shè)計(jì)流程
??
1.4?NIOS II解決方案的軟硬件下載流程
2. SOPC Builder開(kāi)發(fā)環(huán)境及使用方法
??
本節(jié)基于實(shí)驗(yàn)平臺(tái)的一個(gè)SOPC最小系統(tǒng)工程,介紹SOPC Builder工具環(huán)境的使用方法。學(xué)員可學(xué)會(huì)使用該工具建立SOPC系統(tǒng),掌握該工具提供的主要功能。
??
本節(jié)要點(diǎn):
??
2.1?實(shí)驗(yàn)平臺(tái)上的一個(gè)SOPC最小系統(tǒng)工程
??
2.2?NIOS II處理器的調(diào)用與配置
??
2.3?Avalon總線互聯(lián)方法
??
2.4?常用外設(shè)組件及調(diào)用及其配置
??
2.5?定制外設(shè)組件的實(shí)現(xiàn)方法
??
2.6?SOPC系統(tǒng)的地址及中斷
??
2.7?SOPC系統(tǒng)軟件設(shè)計(jì)初步
3. SOPC Builder實(shí)戰(zhàn)訓(xùn)練
??
本節(jié)由學(xué)員動(dòng)手設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡(jiǎn)單的處理器控制系統(tǒng),在實(shí)踐中加深對(duì)SOPC硬件設(shè)計(jì)流程及常見(jiàn)組件的使用方法,熟練SOPC Builder工具的操作。
??
本節(jié)要點(diǎn):
??
3.1?在FPGA開(kāi)發(fā)板上組建一個(gè)簡(jiǎn)單的處理器控制系統(tǒng)
??
3.2?SOPC Builder工具操作方法 |
第四部分 |
階段目標(biāo) |
第四天的課程以軟件開(kāi)發(fā)及調(diào)試為主。通過(guò)第四天的學(xué)習(xí),學(xué)員應(yīng)掌握NIOS II SOPC系統(tǒng)的軟件開(kāi)發(fā)流程及相關(guān)工具,能夠針對(duì)不同的系統(tǒng)需求進(jìn)行系統(tǒng)配置,并選擇或設(shè)計(jì)相應(yīng)的API接口進(jìn)行軟件開(kāi)發(fā)。配合前三天講授的內(nèi)容,掌握SOPC系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)設(shè)計(jì)。 |
|
1. NIOS II解決方案的軟件架構(gòu)
??
本節(jié)主要講授NIOS II解決方案的軟件架構(gòu),主要圍繞硬件抽象層,API和用戶(hù)應(yīng)用程序三個(gè)方面進(jìn)行介紹,使學(xué)員深入了解NIOS II解決方案的軟件設(shè)計(jì)要素。
??
本節(jié)要點(diǎn):
??
1.1?軟件架構(gòu),軟件開(kāi)發(fā)工具鏈
??
1.2?HAL硬件抽象層
??
1.3?HAL API接口
??
1.4?用戶(hù)應(yīng)用程序
??
1.5?標(biāo)準(zhǔn)系統(tǒng)庫(kù),嵌入式操作系統(tǒng)
2. NIOS II IDE開(kāi)發(fā)環(huán)境及使用方法
??
本節(jié)為學(xué)員介紹NIOS II IDE軟件及其工具鏈的使用方法,按照SOPC軟件設(shè)計(jì)流程對(duì)重要的設(shè)計(jì)步驟進(jìn)行講解,使學(xué)員學(xué)會(huì)使用NIOS II IDE工具,了解SOPC軟件設(shè)計(jì)及調(diào)試方法。
??
本節(jié)要點(diǎn):
??
2.1?系統(tǒng)工程向?qū)Ъ澳0?br>
??
2.2?系統(tǒng)庫(kù)及用戶(hù)工程的管理與配置
??
2.3?SOPC軟件設(shè)計(jì)方法
??
2.4?SOPC軟硬件協(xié)同調(diào)試方法
??
2.5?SOPC軟件的固化方法
3.NIOS II IDE實(shí)戰(zhàn)訓(xùn)練
??
本節(jié)由學(xué)員動(dòng)手在前一天設(shè)計(jì)的簡(jiǎn)單的處理器控制系統(tǒng)上添加軟件功能,理解SOPC系統(tǒng)中軟件實(shí)現(xiàn)方法和硬件實(shí)現(xiàn)方法的區(qū)別,掌握SOPC軟件設(shè)計(jì)及調(diào)試方法,熟練NIOS II IDE工具的操作。
??
本節(jié)要點(diǎn):
??
3.1?在組建的簡(jiǎn)單處理器控制系統(tǒng)上添加軟件工程
??
3.2?NIOS II IDE工具操作方法 |
|
1. SOPC軟件工程實(shí)例分析
??
本節(jié)基于典型的工業(yè)數(shù)據(jù)采集SOPC系統(tǒng)的軟件結(jié)構(gòu),為學(xué)員介紹常見(jiàn)的SOPC外圍組件的軟件控制方法,介紹自定義外圍組件的HAL設(shè)計(jì)及API封裝方法,使學(xué)員具備開(kāi)發(fā)SOPC外圍接口的能力。
??
本節(jié)要點(diǎn):
??
1.1?常見(jiàn)外圍組件的軟件控制方法
??
1.2?用戶(hù)自定義組件的HAL設(shè)計(jì)及API封裝方法
2. SOPC系統(tǒng)綜合訓(xùn)練
??
本節(jié)提出一個(gè)SOPC系統(tǒng)需求,要求學(xué)員設(shè)計(jì)一個(gè)圖像顯示系統(tǒng)的SOPC結(jié)構(gòu),并在實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn)。通過(guò)這個(gè)綜合訓(xùn)練,使學(xué)員融會(huì)貫通的使用SOPC系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、FPGA硬件設(shè)計(jì)、SOPC軟硬件協(xié)同設(shè)計(jì)等方法。具備從需求到實(shí)現(xiàn)的設(shè)計(jì)開(kāi)發(fā)能力。
??
本節(jié)要點(diǎn):
??
2.1?SOPC系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
??
2.2?FPGA硬件設(shè)計(jì)
??
2.3?SOPC軟硬件協(xié)同設(shè)計(jì)
??
2.4?SOPC工具鏈?zhǔn)褂?br>
3. 課程總結(jié)與展望
??
本節(jié)將回顧四天SOPC課程的主要內(nèi)容,幫助學(xué)員總結(jié)課程的要點(diǎn)和課程培訓(xùn)中常見(jiàn)的問(wèn)題,同時(shí)為學(xué)員介紹進(jìn)一步學(xué)習(xí)SOPC系統(tǒng)的相關(guān)內(nèi)容和資源。 |