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