課程背景 |
片上可編程系統(System On Programmable Chip,SOPC)已經成為嵌入式系統的發展方向。本書介紹基于源代碼開放的OpenRisc1200(以下簡稱OR1200)軟核處理器的SOPC設計方法。本書分為兩部分,第一部分介紹OR1200軟核處理器的架構和配置、Wishbone總線的標準及OR1200軟核處理器軟硬件開發環境的建立;第二部分以具體實例說明如何使用OR1200軟核處理器完成嵌入式設計,其中包括:調試接口的實現、OR1200控制片內存儲器和I/O、串口、SDRAM、外部總線、以太網、LCD及SRAM;另外還介紹如何在OR1200上運行嵌入式Linux,并針對第二部分給出部分源代碼。 |
培養對象 |
具備一年左右的FPGA系統或者硬件系統開發設計經驗的工程師,或者具有一定基礎的電子類專業的大學生和研究生,對SOPC或OR1200軟核處理器感興趣的。 |
入學要求 |
學員學習本課程應具備下列基礎知識:
◆已經參加過FPGA應用設計初級班的學習,或者了解FPGA的開發設計流程;
◆具備一定的FPGA設計基礎,熟悉VHDL或者Verilog
HDL語言。 ☆注重質量
☆邊講邊練
☆合格學員免費推薦工作
★實驗設備請點擊這兒查看★ |
班級規模及環境--熱線:4008699035 手機:15921673576/13918613812( 微信同號) |
堅持小班授課,為保證培訓效果,增加互動環節,每期人數限3到5人。 |
時間地點 |
上課地點:【上海】:同濟大學(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協同大廈
近開課時間(周末班/連續班/晚班):OpenRisc班開課:即將開課,詳情請咨詢客服。(歡迎您垂詢,視教育質量為生命!)
本課程每期班限額5名,報滿即停止報名,請提前在線或電話預約
|
學時和費用 |
☆資深工程師授課
|
新優惠 |
◆團體報名優惠措施:兩人95折優惠,三人或三人以上9折優惠 。注意:在讀學生憑學生證,即使一個人也優惠500元。
|
質量保障 |
1、培訓過程中,如有部分內容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結束后免費提供半年的技術支持,充分保證培訓后出效果;
3、培訓合格學員可享受免費推薦就業機會。 |
師資團隊 |
◆【趙老師】
FPGA課程金牌講師,項目經驗非常豐富,15年FPGA/DSP系統硬件開發工作經驗。熟悉整個EDA設計流程,熟練使用Alter、Xinlinx,ModelSim開發工具,精通Verilog
HDL語言和VHDL語言,精通Nios II EDS/SOPC、、IP核、PCI PLX 9054數據采集卡等開發。
◆【陳老師】
資深FPGA開發工程師,FPGA培訓課程金牌講師,有8年的FPGA和DSP系統硬件開發經驗,近4年來一直從事視頻和圖像處理領域的高速DSP系統硬、軟件和FPGA系統的設計和開發,具有非常豐富的高速系統設計經驗,精通TI公司的C6000系列高速DSP和Altera公司的全系列FPGA/CPLD。
更多師資力量請參見曙海師資團隊,請點擊這兒查看。 |
課程進度安排 |
課程大綱 |
|
|
第1部分 SOPC及常用軟核處理器概述
1.1 從SoC到SOPC
1.3 常用軟核處理器概述
1.2.1 LEON系列
1.2.2 Altera公司的NiosII
1.2.3 OpenCores組織的OpenRisc系列
第2部分 OR1200軟核的配置
2.1 OR1200軟核的架構
2.2 OR1200軟核的組成
2.3 OR1200軟核的配置
第3部分 Wishbone片上總線
3.1 Wishbone總線概述
3.2 Wishbone總線信號和時序
3.2.1 Wishbone總線信號
3.2.2 Wishbone總線循環
3.2.3 Wishbone互連接口、結構及工作原理
3.2.4 Wishbone主設備和從設備模型
第4部分 軟件開發工具的安裝和使用
4.1 GNU交叉編譯環境的組成和建立
4.1.1 交叉編譯
4.1.2 binutils
4.1.3 GCC
4.1.4 GDB
4.1.5鏈接描述文件
4.2 make和Makefile的使用
4.2.1 Makefile的基本結構
4.2.2 Makefile的變量
4.2.3 隱含規則
4.2.4 make的命令行選項
4.3 加深對Makefile的理解
4.3.1 匯編語言
4.3.2 C語言
4.4 ORlk系列CPU的體系結構模擬器orlksim
第5部分 片內存儲器和I/O控制器的設計
5.1 FPGA內部的RAM塊資源
5.1.1 RAM塊的使用
5.1.2 CyelonelI的RAM塊
5.1.3 單口RAM塊的描述方法
5.1.4 簡單雙口RAM塊的描述方法
5.1.5 單口ROM塊的描述方法
5.2 I/O控制器的結構和功能
5.2.1 通用I/O控制器
5.2.2 簡I/O控制器
5.3 ORP概念及其定義
5.4 設計與Wishbone兼容的RAM和ROM模塊
5.4.1 RAM模塊
5.4.2 ROM模塊
5.5 簡I/O控制器及綜合結果分析
5.5.1 簡I/O控制器
5.5.2 綜合結果分析
5.6 小系統的建立、編譯和仿真
5.6.1 小系統的建立
5.6.2 編寫程序
5.6.3 仿真
第6部分 Debug接口的實現
6.1 JTAG原理和標準
6.1.1 JTAG簡介
6.1.2 基本單元
6.1.3 總體結構
6.1.4 TAP狀態機
6.1.5 應用
6.2 調試模塊的結構及其與OR1200的連接方法
6.2.1 DBGI簡介
6.2.2 DBGI結構
6.2.3 I/O端口
6.2.4 內部寄存器
6.2.5 鏈結構
6.2.6 未來發展
6.3 DBGI的集成和板級功能仿真
6.3.1 DBGI的集成
6.3.2 板級功能仿真
6.4 GDB、JTAG、GDBServer、orlksim的工作原理
6.4.1 GDB
6.4.2 GDB和JTAG Server
6.4.3 GDB和GDBServer
6.4.4 GDB和orlksim
6.4.5 JTAG協議
6.5 使用GDB和JTAG Server進行Debug接口的調試
6.6 使用DDD進行可視化調試
第7部分 UARTl6550內核的結構和使用
7.1 UART的概念、功能和發展
7.2 UART的通信模式、數據格式和流控制
7.2.1 通信模式
7.2.2 數據格式
7.2.3 流控制
7.3 工業標準UART 16550
7.3.1 特性
7.3.2 接口和結構
7.3.3 寄存器
7.4 兼容16550的UART IP Core
7.5 OR1200的異常和外部中斷處理
7.6 集成帶有UART的系統
7.6.1 集成
7.6.2 編程
7.7 仿真帶有UART的系統
7.8 驗證帶有UART的系統
第8部分 SDRAM的時序和控制器
8.1 SRAM與DRAM
8.1.1 SRAM
8.1.2 IS61LV25616
8.1.3 DRAM
8.1.4 SRAM和DRAM比較
8.2 SDRAM的內部結構和控制時序
8.2.1 結構
8.2.2 命令和初始化
8.2.3 模式寄存器
8.2.4 Bank行激活
8.2.5 讀/寫時序
8.2.6 自動刷新
8.3 SDRAM控制器wb_sdram
8.4 集成和仿真存儲系統
8.4.1 存儲器模型
8.4.2 system_sdram.v
8.4.3 ar2000_sdram.v
8.4.4 ar2000_sdram_bench.v
8.4.5 結構
8.4.6 仿真
8.5 驗證存儲系統
第9部分 外部異步總線控制器的設計
9.1 異步總線控制器的結構和功能
9.1.1 異步總線的組成
9.1.2 異步總線的讀/寫時序
9.2 編寫異步總線控制器
9.2.1 編寫代碼
9.2.2 I/O端口
9.3 異步總線控制器的仿真
9.4 集成和仿真存儲系統
9.4.1 存儲器模型
9.4.2 system_eabus.v
9.4.3 ar2000_eabus.v
9.4.4 ar2000_eabus_bench.v
9.4.5 結構
9.4.6 編程
9.4.7 仿真
第10部分 ORPMon的功能和實現
10.1 C語言函數接口
10.1.1 寄存器使用
10.1.2 堆棧幀
10.1.3 參數傳遞和返回值
10.2 ORPMon的基本功能及其實現方法
10.2.1 ORPMon
10.2.2 ORPMon基本工作原理
10.2.3 特殊功能寄存器操作
10.3 ORPMon的移植
10.3.1 源代碼
10.3.2 鏈接文件
10.4 ORPMon的仿真
10.5 ORPMon的運行
10.6 使用Flash運行ORPMon
第11部分 以太網控制器的結構和Linux驅動
11.1 以太網的CSMA/CD原理和MII接口
11.1.1 CSMA/CD
11.1.2 MII接口
11.1.3 CSMA/CD的幀接收和發送過程
11.2 OpenCores的以太網控制器
11.2.1 以太網控制器簡介
11.2.2 以太網控制器的接口
11.2.3 以太網控制器的寄存器
11.2.4 緩沖描述符
11.3 以太網控制器的內部結構
11.3.1 控制器總體結構
11.3.2 MII管理模塊
11.3.3 接收模塊
11.3.4 發送模塊
11.3.5 控制模塊
11.3.6 狀態模塊
11.3.7 寄存器模塊
11.3.8 Wishbone接口模塊
11.4 嵌入式Linux簡介
11.5 對Linux進行配置、修改、編譯、下載和運行
11.6 使用0RPMon啟動Linux
11.6.1 設計可以啟動Linux的ORPMon
11.6.2 固化Linux
11.7 集成以太網控制器
11.7.1 system_eth.v
11.7.2 ar2000_eth.v
11.7.3驗證以太網控制器
第12部分 LCD控制器的使用
12.1 OpenCores的VGA/LCD控制器
12.2 VGA/LCD控制器的接口與寄存器
12.2.1 VGA/LCD控制器的接口
12.2.2 VGA/LCD控制器的寄存器
12.3 VGA/LCD控制器的使用方法
12.3.1 視頻時序
12.3.2 像素色彩
12.3.3 帶寬需求
12.4 集成和仿真VGA/LCD控制器
12.5 驗證VGA/LCD控制器
第13部分 SBSRAM的時序和控制器設計
13.1 SBSRAM控制器的結構和功能
13.1.1 SBSRAM的概念
13.1.2 SBSRAM控制器的讀/寫操作和時序
13.2 編寫SBSRAM控制器
13.3 SBSRAM控制器的仿真
13.4 集成SSRAM控制器
13.4.1 system_ssram.v
13.4.2 ar2000_ssram.v
13.5 驗證SSRAM控制器 |
|
|
實驗:
1、or1200 的GNU交叉編譯環境的組建
2、總線實驗
3、一步一步建立32位CPU or1200
4、Modelsim仿真實驗
4、Modelsim仿真實驗 |