課程背景 |
片上可編程系統(tǒng)(System On Programmable Chip,SOPC)已經(jīng)成為嵌入式系統(tǒng)的發(fā)展方向。本書介紹基于源代碼開放的OpenRisc1200(以下簡稱OR1200)軟核處理器的SOPC設計方法。本書分為兩部分,第一部分介紹OR1200軟核處理器的架構(gòu)和配置、Wishbone總線的標準及OR1200軟核處理器軟硬件開發(fā)環(huán)境的建立;第二部分以具體實例說明如何使用OR1200軟核處理器完成嵌入式設計,其中包括:調(diào)試接口的實現(xiàn)、OR1200控制片內(nèi)存儲器和I/O、串口、SDRAM、外部總線、以太網(wǎng)、LCD及SRAM;另外還介紹如何在OR1200上運行嵌入式Linux,并針對第二部分給出部分源代碼。 |
培養(yǎng)對象 |
具備一年左右的FPGA系統(tǒng)或者硬件系統(tǒng)開發(fā)設計經(jīng)驗的工程師,或者具有一定基礎的電子類專業(yè)的大學生和研究生,對SOPC或OR1200軟核處理器感興趣的。 |
入學要求 |
學員學習本課程應具備下列基礎知識:
◆已經(jīng)參加過FPGA應用設計初級班的學習,或者了解FPGA的開發(fā)設計流程;
◆具備一定的FPGA設計基礎,熟悉VHDL或者Verilog
HDL語言。 ☆注重質(zhì)量
☆邊講邊練
☆合格學員免費推薦工作
★實驗設備請點擊這兒查看★ |
班級規(guī)模及環(huán)境 |
為了保證培訓效果,增加互動環(huán)節(jié),我們堅持小班授課,每期報名人數(shù)限3到5人,多余人員安排到下一期進行。 |
時間地點 |
上課地點:【上�!浚和瑵髮W(滬西)/新城金郡商務樓(11號線白銀路站) 【深圳分部】:電影大廈(地鐵一號線大劇院站)/深圳大學成教院 【北京分部】:北京中山/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領館區(qū)1號(中和大道) 【沈陽分部】:沈陽理工大學/六宅臻品 【鄭州分部】:鄭州大學/錦華大廈 【石家莊分部】:河北科技大學/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:云峰大廈
近開課時間(周末班/連續(xù)班/晚班):OpenRisc班開課:2024年11月18日
本課程每期班限額5名,報滿即停止報名,請?zhí)崆霸诰或電話預約
|
學時和費用 |
◆課時: 共5天,30學時
◆外地學員:代理安排食宿(需提前預定) |
新優(yōu)惠 |
◆團體報名優(yōu)惠措施:兩人95折優(yōu)惠,三人或三人以上9折優(yōu)惠 。注意:在讀學生憑學生證,即使一個人也優(yōu)惠500元。
|
質(zhì)量保障 |
1、培訓過程中,如有部分內(nèi)容理解不透或消化不好,可免費在以后培訓班中重聽;
2、培訓結(jié)束后,培訓老師留給學員手機和Email,免費提供半年的技術(shù)支持,充分保證培訓后出效果;
3、培訓合格學員可享受免費推薦就業(yè)機會。 。專注高端培訓17年,曙海提供的課程得到本行業(yè)的廣泛認可,學員的能力得到大家的認同,受到用人單位的廣泛贊譽。 |
師資團隊 |
◆【趙老師】
FPGA課程金牌講師,項目經(jīng)驗非常豐富,15年FPGA/DSP系統(tǒng)硬件開發(fā)工作經(jīng)驗。熟悉整個EDA設計流程,熟練使用Alter、Xinlinx,ModelSim開發(fā)工具,精通Verilog
HDL語言和VHDL語言,精通Nios II EDS/SOPC、、IP核、PCI PLX 9054數(shù)據(jù)采集卡等開發(fā)。
◆【陳老師】
資深FPGA開發(fā)工程師,FPGA培訓課程金牌講師,有8年的FPGA和DSP系統(tǒng)硬件開發(fā)經(jīng)驗,近4年來一直從事視頻和圖像處理領域的高速DSP系統(tǒng)硬、軟件和FPGA系統(tǒng)的設計和開發(fā),具有非常豐富的高速系統(tǒng)設計經(jīng)驗,精通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軟核的架構(gòu)
2.2 OR1200軟核的組成
2.3 OR1200軟核的配置
第3部分 Wishbone片上總線
3.1 Wishbone總線概述
3.2 Wishbone總線信號和時序
3.2.1 Wishbone總線信號
3.2.2 Wishbone總線循環(huán)
3.2.3 Wishbone互連接口、結(jié)構(gòu)及工作原理
3.2.4 Wishbone主設備和從設備模型
第4部分 軟件開發(fā)工具的安裝和使用
4.1 GNU交叉編譯環(huán)境的組成和建立
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的基本結(jié)構(gòu)
4.2.2 Makefile的變量
4.2.3 隱含規(guī)則
4.2.4 make的命令行選項
4.3 加深對Makefile的理解
4.3.1 匯編語言
4.3.2 C語言
4.4 ORlk系列CPU的體系結(jié)構(gòu)模擬器orlksim
第5部分 片內(nèi)存儲器和I/O控制器的設計
5.1 FPGA內(nèi)部的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控制器的結(jié)構(gòu)和功能
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控制器及綜合結(jié)果分析
5.5.1 簡I/O控制器
5.5.2 綜合結(jié)果分析
5.6 小系統(tǒng)的建立、編譯和仿真
5.6.1 小系統(tǒng)的建立
5.6.2 編寫程序
5.6.3 仿真
第6部分 Debug接口的實現(xiàn)
6.1 JTAG原理和標準
6.1.1 JTAG簡介
6.1.2 基本單元
6.1.3 總體結(jié)構(gòu)
6.1.4 TAP狀態(tài)機
6.1.5 應用
6.2 調(diào)試模塊的結(jié)構(gòu)及其與OR1200的連接方法
6.2.1 DBGI簡介
6.2.2 DBGI結(jié)構(gòu)
6.2.3 I/O端口
6.2.4 內(nèi)部寄存器
6.2.5 鏈結(jié)構(gòu)
6.2.6 未來發(fā)展
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協(xié)議
6.5 使用GDB和JTAG Server進行Debug接口的調(diào)試
6.6 使用DDD進行可視化調(diào)試
第7部分 UARTl6550內(nèi)核的結(jié)構(gòu)和使用
7.1 UART的概念、功能和發(fā)展
7.2 UART的通信模式、數(shù)據(jù)格式和流控制
7.2.1 通信模式
7.2.2 數(shù)據(jù)格式
7.2.3 流控制
7.3 工業(yè)標準UART 16550
7.3.1 特性
7.3.2 接口和結(jié)構(gòu)
7.3.3 寄存器
7.4 兼容16550的UART IP Core
7.5 OR1200的異常和外部中斷處理
7.6 集成帶有UART的系統(tǒng)
7.6.1 集成
7.6.2 編程
7.7 仿真帶有UART的系統(tǒng)
7.8 驗證帶有UART的系統(tǒng)
第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的內(nèi)部結(jié)構(gòu)和控制時序
8.2.1 結(jié)構(gòu)
8.2.2 命令和初始化
8.2.3 模式寄存器
8.2.4 Bank行激活
8.2.5 讀/寫時序
8.2.6 自動刷新
8.3 SDRAM控制器wb_sdram
8.4 集成和仿真存儲系統(tǒng)
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 結(jié)構(gòu)
8.4.6 仿真
8.5 驗證存儲系統(tǒng)
第9部分 外部異步總線控制器的設計
9.1 異步總線控制器的結(jié)構(gòu)和功能
9.1.1 異步總線的組成
9.1.2 異步總線的讀/寫時序
9.2 編寫異步總線控制器
9.2.1 編寫代碼
9.2.2 I/O端口
9.3 異步總線控制器的仿真
9.4 集成和仿真存儲系統(tǒng)
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 結(jié)構(gòu)
9.4.6 編程
9.4.7 仿真
第10部分 ORPMon的功能和實現(xiàn)
10.1 C語言函數(shù)接口
10.1.1 寄存器使用
10.1.2 堆棧幀
10.1.3 參數(shù)傳遞和返回值
10.2 ORPMon的基本功能及其實現(xiàn)方法
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部分 以太網(wǎng)控制器的結(jié)構(gòu)和Linux驅(qū)動
11.1 以太網(wǎng)的CSMA/CD原理和MII接口
11.1.1 CSMA/CD
11.1.2 MII接口
11.1.3 CSMA/CD的幀接收和發(fā)送過程
11.2 OpenCores的以太網(wǎng)控制器
11.2.1 以太網(wǎng)控制器簡介
11.2.2 以太網(wǎng)控制器的接口
11.2.3 以太網(wǎng)控制器的寄存器
11.2.4 緩沖描述符
11.3 以太網(wǎng)控制器的內(nèi)部結(jié)構(gòu)
11.3.1 控制器總體結(jié)構(gòu)
11.3.2 MII管理模塊
11.3.3 接收模塊
11.3.4 發(fā)送模塊
11.3.5 控制模塊
11.3.6 狀態(tài)模塊
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 集成以太網(wǎng)控制器
11.7.1 system_eth.v
11.7.2 ar2000_eth.v
11.7.3驗證以太網(wǎng)控制器
第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控制器的結(jié)構(gòu)和功能
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交叉編譯環(huán)境的組建
2、總線實驗
3、一步一步建立32位CPU or1200
4、Modelsim仿真實驗
4、Modelsim仿真實驗 |