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