課程背景 |
FPGA技術經過20多年的發展,現在已經被應用到各個領域,并且正在逐漸成為越來越多領先技術的系統級解決方案。為了幫助從事或者即將從事FPGA設計的工程師盡快的了解FPGA技術,掌握設計的方法和手段,我們針對FPGA的初學者設計了這個為期四天的課程,著重介紹FPGA技術基礎、 Verilog語言及基于 嵌入式軟核處理器的SOPC系統設計方法。
課程說明:本初級培訓班分為“ Altera FPGA設計應用初級培訓班”和“ Xilinx FPGA設計應用初級培訓班”兩個課程,將分別對Altera和Xilinx兩個主流的FPGA制造商的FPGA解決方案進行針對性的培訓,實驗課也將分別在兩大廠商的經典硬件平臺及開發工具上進行。學員可根據需求和興趣進行選擇。 |
課程目標 |
1.熟悉FPGA典型器件型號及結構
2.熟練FPGA設計流程及開發方法
3.掌握Verilog語言設計方法
4.掌握狀態機設計方法
5.掌握FPGA的 仿真及調試方法
6.熟練SOPC系統設計流程
7.掌握NIOS II/Microblaze硬件系統設計方法
8.掌握NIOS II/Microblaze軟件系統設計方法
9.掌握自定義組件的硬件設計、驅動設計、及軟件設計方法
10.掌握嵌入式軟核系統的調試方法
11.掌握FPGA常用接口的設計方法
12.掌握相關開發工具的使用方法 |
培養對象 |
FPGA系統的軟件和硬件開發工程師; 電子類專業的大學生和研究生;電子產品設計愛好者。 |
入學要求 |
學員學習本課程應具備下列基礎知識:
◆ 電路系統的基本概念。 |
師資團隊 |
【劉老師】
● 武漢華嵌中心高級講師,武漢大學工學碩士,曾任武漢某知名企業硬件項目經理,5年嵌入式系統開發經驗,3年項目管理經驗,2年嵌入式培訓講師經驗。熟練基于FPGA的UART、VGA接口電路設計,精通FPGA項目設計和開發,掌握ISP, SIGNAL TAP等高級調試方法, 熟練應用NIOSII。熟悉IC設計流程,熟練應用相關 EDA設計工具;熟練掌握應用系統,硬件測試電路設計;熟悉C51 單片機和 ARM嵌入式處理器、 CPLD和FPGA可編程邏輯器件。
專長研究方向: FPGA系統開發,C 51單片機、ARM系統開發與設計,高速 PCB繪制。。 【李老師】
● 武漢華嵌中心高級講師,豐富的實踐經驗,廣博的專業知識,大型通訊公司的工作經歷,目前就職于某大型科技集團,曾擔任過中興通信項目負責人和武漢電氣科技有限公司研發部經理。
硬件方面:精通硬件開發,設計過多種硬件電路,包括低端的51單片機、AMD的186 CPU系統,到復雜的如Motorola的MPC860、Samsung的S3c2440 arm系列等多種嵌入式系統,使用過Ti公司的C54系列到高端的Dm642系列的 DSP器件,完成的功能包括簡單的語音和DTMF信號的編解碼到復雜的水下成像的視頻算法。 尤其擅長FPGA可編程器件的開發,使用過從Altera公司早期的器件Max7000、Flex10K、epm6000、Acex1K系列,到最新的CycloneII、CycloneIII系列,以及xilinx公司的spartan3 1600e器件,完成基于嵌入式處理器microblaze的設計,熟練使用 QuartusII ISE、Modelsim軟件,完成多種IP core的設計,包括PC104的ISA 總線協議、PCI總線協議、VXI總線協議、HDLC和UART通信協議、100Mhz的SDRAM控制器、復用/解復用、總線仲裁邏輯、自定義總線協議、邏輯運算等。 |
教材 |
◆《武漢華嵌-FPGA應用設計初級班講義》
◆《武漢華嵌-FPGA應用設計初級班實驗手冊》
|
班級規模及環境 |
為了保證培訓效果,增加互動環節,我們堅持小班授課,每期報名人數限15人,多余人員安排到下一期進行。
本課程實驗環境詳細情況單擊此處查看>>> |
上課地點 |
武漢華嵌中心(滾動開班):
上課地點:武漢市洪山區珞瑜路魯巷融眾集團C3棟27層(位于魯巷廣場購物中心正對面,光谷國際廣場旁邊),查看地圖>>
本課程每期班限額15名,報滿即停止報名,請提前在線或電話預約
武漢華嵌保留開課時間調整的權利,歡迎來電洽詢 |
學時費用 |
◆課時: 共4天
◆培訓費用(含教材費):公司(2800元),個人自費(2500元),學生自費(1900元,憑有效證件)
◆認證費(可選):300元(考核通過,可獲中國軟件行業協會嵌入式分會頒發的《FPGA應用設計初級工程師》證書)
◆外地學員:代理安排食宿(需提前預定) |
最新優惠 |
◆團體報名優惠措施:兩人95折優惠,三人或三人以上9折優惠 ◆同時報選《FPGA應用設計高級班》,即享受200元現金優惠 |
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結束后免費提供一個月的技術支持,充分保證培訓后出效果;
3、培訓合格學員可享受免費推薦就業機會。 |
課程進度安排(最新更新日期:2011.02.12) |
時間 | 課程大綱 |
第一天
|
學習目標 | 第一天的課程將幫助學員了解FPGA系統設計的基礎知識,使學員對FPGA的典型應用及解決方案,典型型號及結構特點有一個深入的認識。學員將掌握FPGA系統設計的方法、流程及手段,學會操作FPGA開發軟件來完成簡單的FPGA設計和開發。 |
9:00
|
12:00 | 1. FPGA典型應用及解決方案
本節將介紹FPGA在不同領域應用的優勢,幫助學員了解FPGA的應用場合及常見的解決方案。
本節要點:
1.1 嵌入式應用,DSP應用,高速互聯應用,ASIC驗證應用,外設接口互聯應用
1.2 FPGA典型應用案例分享
2. FPGA典型器件型號及結構
本節將介紹主流FPGA廠商的傳統、主流及最新型號的器件特點,幫助學員掌握幾種最常見的FPGA器件的結構,了解最新的FPGA器件型號特點,掌握FPGA器件選型的原則和方法。
本節要點:
2.1 Altera:CPLD,CycloneI/II,Arria,Stratix
2.2 Xilinx:CPLD,Spartan3/6,Virtex5/6
2.3 FPGA兼容設計案例分析
3. FPGA設計流程及開發方法
本節圍繞FPGA的設計流程,介紹主流FPGA廠商的開發工具鏈,重點講授關鍵設計環節的工具特點,使學員掌握FPGA設計流程的各個環節及對應的開發方法。
本節要點:
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
|
13:00
|
16:00 | 1. FPGA實驗平臺介紹
本節簡要介紹課程使用的實驗開發平臺:紅色颶風系列開發板,對其資源配置、設計理念、使用方法等進行介紹,使學員具備在此實驗平臺開展FPGA設計開發的基礎。
本節要點:
1.1 PCB設計,電源設計,FPGA配置鏈路,接口設計,使用方法
2. 解剖一個典型的FPGA工程
本節以一個典型的FPGA工程為基礎,手把手為學員講授FPGA工程中的關鍵要素,要素的設計方法及作用。幫助學員迅速掌握FPGA開發的主要環節。
本節要點:
2.1 設計輸入文件,約束文件,仿真激勵文件,波形文件,下載文件,調試文件,設計報告
3. 實戰訓練
本節由學員動手,在FPGA實驗平臺上完成第一個FPGA工程設計。學員根據實驗手冊一步一步的完成一個功能直觀步驟完整的FPGA設計,總結在FPGA設計過程中常見的錯誤和問題。
本節要點:
3.1 工程創建及屬性設置,源文件設計輸入方式,約束設計,工程編譯,功能仿真,時序仿真,硬件下載,硬件調試
|
第二天
|
學習目標 | 第二天的課程以設計輸入、仿真激勵設計及測試調試為主要內容,學員可以掌握FPGA開發的基本設計輸入方法:原理圖輸入及Verilog硬件描述語言輸入,配合豐富的實例使學員了解FPGA資源的語言描述方法及數字系統的測試驗證方法,同時通過對設計原則和設計技巧部分的課程可以幫助學員提高系統設計的能力,為SOPC的系統設計打下良好的基礎。 |
9:00
|
12:00 | 1. FPGA設計輸入方法
本節針對FPGA開發過程中的主要工作——設計輸入——進行詳細分析,幫助學員掌握常見設計輸入方法,仿真激勵文件設計方法,理解硬件描述語言的可綜合設計風格。
本節要點:
1.1 原理圖設計方法,Verilog語言基本結構,可綜合設計,仿真激勵設計
1.2 常用設計輸入方法實例分析
2. FPGA常用資源結構特點及調用方法
本節將學習FPGA器件的工藝結構,詳細介紹FPGA的各種邏輯資源特點及調用方法,幫助學員深刻理解FPGA的各種內部資源,為系統的進行FPGA開發打下基礎。
本節要點:
2.1 PLL/DCM等時鐘資源,Select IO資源,RAM資源,乘法器資源,SERDES資源
2.2 FPGA常用資源調用方法實例分析
3. 有限狀態機設計
本節講授數字系統設計中最常見的結構設計方法——有限狀態機,通過學習學員將掌握狀態機設計中的狀態劃分原則及硬件描述語言實現方法。
本節要點:
3.1 狀態機編碼,三段式狀態機設計
3.2 狀態機實例分析
|
13:00
|
16:00 | 1. FPGA設計原則及常用設計技巧
本節介紹FPGA設計中應遵循的設計原則和常用設計技巧,通過學習學員可從更高的層次上理解數字系統的設計方法。
本節要點:
1.1 設計原則:模塊化設計,基于IP設計,時鐘復位系統設計
1.2 設計技巧:面積與速度互換、兵乓操作、流水線
1.3 流水線設計實例分析
2. 設計輸入與驗證實戰訓練
本節讓學員動手去完成既定的實驗任務,在實踐中掌握硬件描述語言的編寫方法及系統設計的模塊化設計方法。
本節要點:
2.1 用Verilog語言實現特定功能組合邏輯電路
2.2 用Verilog語言實現特定功能時序邏輯電路
2.3 頂層文件設計方法及模塊調用方法
2.4 測試激勵的編寫方法及仿真
3. 實時硬件調試實戰訓練
本節通過實驗演示及學員動手相結合,是學員掌握FPGA實時調試工具——虛擬邏輯分析儀——的使用方法,提高FPGA調試測試的技能。
本節要點:
3.1 虛擬邏輯分析儀的原理及特點
3.2 使用虛擬邏輯分析儀進行調試的設計流程
3.3 Altera實戰:使用SignalTap進行實時硬件調試
3.4 Xilinx實戰:使用ChipScope進行實時硬件調試
|
第三天
|
學習目標 | 第三天的課程以SOPC系統概念為切入點,重點介紹FPGA EDS解決方案的體系結構及硬件設計流程。圍繞軟核處理器、Avalon總線及外圍組件三個方面對SOPC的硬件結構進行介紹。通過簡單實用的SOPC工程使學員掌握EDS/XPS工具的基本使用方法及硬件設計流程。 |
9:00
|
12:00 | 1. SOPC系統基礎及典型解決方案
本節講授SOPC系統的基礎知識及SOPC的構成要素,介紹當前典型的幾種SOPC解決方案及優缺點,使學員對SOPC有一個基本的認識。
本節要點:
1.1 SOPC構成要素,典型軟核SOPC解決方案,典型硬核SOPC解決方案,SOPC系統優缺點
2. Altera NIOS II解決方案
本節基于Altera NIOS II軟核處理器,通過一個典型的工業數據采集SOPC系統工程,詳細介紹NIOS II SOPC解決方案的構成要素。通過學習,學員將從整體上理解NIOS II SOPC解決方案的架構和重要的構成要素,學會使用原理圖和硬件描述語言的方式調用SOPC工程模塊。
本節要點:
2.1 一個典型的工業采集系統SOPC工程
2.2 NIOS II解決方案架構,開發工具鏈
2.3 NIOS II 軟核處理器,Avalon總線,典型外設組件
2.4 NIOS II硬件抽象層HAL及系統庫
2.5 定制指令及定制組件
2.6 SOPC的時鐘與復位系統
2.7 NIOS II軟核系統的調用方法
|
13:00
|
16:00 | 1. NIOS II解決方案的系統設計流程
本節為學員講述NIOS II解決方案的系統設計流程,通過學習學員可以從流程上清晰地理解SOPC設計的各個主要環節。
本節要點:
1.1 NIOS II解決方案的系統設計流程
1.2 NIOS II解決方案的硬件設計流程
1.3 NIOS II解決方案的軟件設計流程
1.4 NIOS II解決方案的軟硬件下載流程
2. SOPC Builder開發環境及使用方法
本節基于實驗平臺的一個SOPC最小系統工程,介紹SOPC Builder工具環境的使用方法。學員可學會使用該工具建立SOPC系統,掌握該工具提供的主要功能。
本節要點:
2.1 實驗平臺上的一個SOPC最小系統工程
2.2 NIOS II處理器的調用與配置
2.3 Avalon總線互聯方法
2.4 常用外設組件及調用及其配置
2.5 定制外設組件的實現方法
2.6 SOPC系統的地址及中斷
2.7 SOPC系統軟件設計初步
3. SOPC Builder實戰訓練
本節由學員動手設計并實現一個簡單的處理器控制系統,在實踐中加深對SOPC硬件設計流程及常見組件的使用方法,熟練SOPC Builder工具的操作。
本節要點:
3.1 在FPGA開發板上組建一個簡單的處理器控制系統
3.2 SOPC Builder工具操作方法
|
第四天
|
學習目標 | 第四天的課程以軟件開發及調試為主。通過第四天的學習,學員應掌握NIOS II SOPC系統的軟件開發流程及相關工具,能夠針對不同的系統需求進行系統配置,并選擇或設計相應的API接口進行軟件開發。配合前三天講授的內容,掌握SOPC系統的軟硬件協同設計設計。 |
9:00
|
12:00 | 1. NIOS II解決方案的軟件架構
本節主要講授NIOS II解決方案的軟件架構,主要圍繞硬件抽象層,API和用戶應用程序三個方面進行介紹,使學員深入了解NIOS II解決方案的軟件設計要素。
本節要點:
1.1 軟件架構,軟件開發工具鏈
1.2 HAL硬件抽象層
1.3 HAL API接口
1.4 用戶應用程序
1.5 標準系統庫,嵌入式操作系統
2. NIOS II IDE開發環境及使用方法
本節為學員介紹NIOS II IDE軟件及其工具鏈的使用方法,按照SOPC軟件設計流程對重要的設計步驟進行講解,使學員學會使用NIOS II IDE工具,了解SOPC軟件設計及調試方法。
本節要點:
2.1 系統工程向導及模板
2.2 系統庫及用戶工程的管理與配置
2.3 SOPC軟件設計方法
2.4 SOPC軟硬件協同調試方法
2.5 SOPC軟件的固化方法
3. NIOS II IDE實戰訓練
本節由學員動手在前一天設計的簡單的處理器控制系統上添加軟件功能,理解SOPC系統中軟件實現方法和硬件實現方法的區別,掌握SOPC軟件設計及調試方法,熟練NIOS II IDE工具的操作。
本節要點:
3.1 在組建的簡單處理器控制系統上添加軟件工程
3.2 NIOS II IDE工具操作方法
|
13:00
|
16:00 | 1. SOPC軟件工程實例分析
本節基于典型的工業數據采集SOPC系統的軟件結構,為學員介紹常見的SOPC外圍組件的軟件控制方法,介紹自定義外圍組件的HAL設計及API封裝方法,使學員具備開發SOPC外圍接口的能力。
本節要點:
1.1 常見外圍組件的軟件控制方法
1.2 用戶自定義組件的HAL設計及API封裝方法
2. SOPC系統綜合訓練
本節提出一個SOPC系統需求,要求學員設計一個圖像顯示系統的SOPC結構,并在實驗平臺上實現。通過這個綜合訓練,使學員融會貫通的使用SOPC系統結構設計、FPGA硬件設計、SOPC軟硬件協同設計等方法。具備從需求到實現的設計開發能力。
本節要點:
2.1 SOPC系統結構設計
2.2 FPGA硬件設計
2.3 SOPC軟硬件協同設計
2.4 SOPC工具鏈使用
3. 課程總結與展望
本節將回顧四天SOPC課程的主要內容,幫助學員總結課程的要點和課程培訓中常見的問題,同時為學員介紹進一步學習SOPC系統的相關內容和資源。
|