《开源软核处理器OpenRisc的SOPC设计》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:徐敏,孙恺,潘峰编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2008
  • ISBN:7811241951
  • 页数:247 页
图书介绍:本书主要分为两部分内容,第一部分介绍了OR1200软核处理器的架构和配置、Wishbone总线的标准及OR1200软核处理器软硬件开发环境的建立;第二部分以具体实例较详细地说明,如何使用OR1200软核处理器完成嵌入式设计,其中包括,调试接口的实现、OR1200控制片内存储器和I/O、串口、SDRAM、外部总线、以太网、LCD及SRAM,另外还介绍了如何在OR1200上运行嵌入式Linux;并针对第二部分给出了部分源代码。

第1章 SOPC及常用软核处理器概述 1

1.1 从SoC到SOPC 1

1.2 常用软核处理器概述 2

1.2.1 LEON系列 2

1.2.2 Altera公司的NiosII 3

1.2.3 OpenCores组织的OpenRisc系列 4

第2章 OR1200软核的配置 6

2.1 OR1200软核的架构 6

2.2 OR1200软核的组成 7

2.3 OR1200软核的配置 10

第3章 Wishbone片上总线 15

3.1 Wishbone总线概述 15

3.2 Wishbone总线信号和时序 17

3.2.1 Wishbone总线信号 17

3.2.2 Wishbone总线循环 20

3.2.3 Wishbone互连接口、结构及工作原理 28

3.2.4 Wishbone主设备和从设备模型 30

第4章 软件开发工具的安装和使用 31

4.1 GNU交叉编译环境的组成和建立 31

4.1.1 交叉编译 31

4.1.2 binutils 31

4.1.3 GCC 32

4.1.4 GDB 33

4.1.5 链接描述文件 35

4.2 make和Makefile的使用 37

4.2.1 Makefile的基本结构 37

4.2.2 Makefile的变量 38

4.2.3 隐含规则 39

4.2.4 make的命令行选项 40

4.3 加深对Makefile的理解 41

4.3.1 汇编语言 41

4.3.2 C语言 43

4.4 OR1k系列CPU的体系结构模拟器or1ksim 46

第5章 片内存储器和I/O控制器的设计 47

5.1 FPGA内部的RAM块资源 47

5.1.1 RAM块的使用 47

5.1.2 CycloneII的RAM块 48

5.1.3 单口RAM块的描述方法 49

5.1.4 简单双口RAM块的描述方法 51

5.1.5 单口ROM块的描述方法 53

5.2 I/O控制器的结构和功能 55

5.2.1 通用I/O控制器 55

5.2.2 最简I/O控制器 56

5.3 ORP概念及其定义 57

5.4 设计与Wishbone兼容的RAM和ROM模块 58

5.4.1 RAM模块 58

5.4.2 ROM模块 61

5.5 最简I/O控制器及综合结果分析 62

5.5.1 最简I/O控制器 62

5.5.2 综合结果分析 63

5.6 最小系统的建立、编译和仿真 65

5.6.1 最小系统的建立 65

5.6.2 编写程序 66

5.6.3 仿真 66

第6章 Debug接口的实现 69

6.1 JTAG原理和标准 69

6.1.1 JTAG简介 69

6.1.2 基本单元 69

6.1.3 总体结构 70

6.1.4 TAP状态机 72

6.1.5 应用 73

6.2 调试模块的结构及其与OR1200的连接方法 73

6.2.1 DBGI简介 73

6.2.2 DBGI结构 74

6.2.3 I/O端口 76

6.2.4 内部寄存器 77

6.2.5 链结构 77

6.2.6 未来发展 78

6.3 DBGI的集成和板级功能仿真 80

6.3.1 DBGI的集成 80

6.3.2 板级功能仿真 81

6.4 GDB、JTAG、GDBServer、orlksim的工作原理 83

6.4.1 GDB 83

6.4.2 GDB和JTAG Server 84

6.4.3 GDB和GDBServer 85

6.4.4 GDB和orlksim 86

6.4.5 JTAG协议 86

6.5 使用GDB和JTAG Server进行Debug接口的调试 92

6.6 使用DDD进行可视化调试 93

第7章 UART16550内核的结构和使用 95

7.1 UART的概念、功能和发展 95

7.2 UART的通信模式、数据格式和流控制 96

7.2.1 通信模式 96

7.2.2 数据格式 97

7.2.3 流控制 97

7.3 工业标准UART 16550 99

7.3.1 特性 99

7.3.2 接口和结构 99

7.3.3 寄存器 101

7.4 兼容16550的UART IP Core 105

7.5 OR1200的异常和外部中断处理 106

7.6 集成带有UART的系统 109

7.6.1 集成 109

7.6.2 编程 109

7.7 仿真带有UART的系统 111

7.8 验证带有UART的系统 113

第8章 SDRAM的时序和控制器 114

8.1 SRAM与DRAM 114

8.1.1 SRAM 114

8.1.2 IS61LV25616 115

8.1.3 DRAM 116

8.1.4 SRAM和DRAM比较 117

8.2 SDRAM的内部结构和控制时序 117

8.2.1 结构 117

8.2.2 命令和初始化 121

8.2.3 模式寄存器 122

8.2.4 Bank行激活 124

8.2.5 读/写时序 125

8.2.6 自动刷新 128

8.3 SDRAM控制器wb_sdram 129

8.4 集成和仿真存储系统 130

8.4.1 存储器模型 130

8.4.2 system_sdram.v 131

8.4.3 ar2000_sdram.v 132

8.4.4 ar2000_sdram_bench.v 133

8.4.5 结构 135

8.4.6 仿真 135

8.5 验证存储系统 137

第9章 外部异步总线控制器的设计 140

9.1 异步总线控制器的结构和功能 140

9.1.1 异步总线的组成 140

9.1.2 异步总线的读/写时序 140

9.2 编写异步总线控制器 142

9.2.1 编写代码 142

9.2.2 I/O端口 144

9.3 异步总线控制器的仿真 145

9.4 集成和仿真存储系统 148

9.4.1 存储器模型 148

9.4.2 system_eabus.v 148

9.4.3 ar2000_eabus.v 149

9.4.4 ar2000_eabus_bench.v 150

9.4.5 结构 153

9.4.6 编程 154

9.4.7 仿真 154

第10章 ORPMon的功能和实现 156

10.1 C语言函数接口 156

10.1.1 寄存器使用 156

10.1.2 堆栈帧 157

10.1.3 参数传递和返回值 158

10.2 ORPMon的基本功能及其实现方法 158

10.2.1 ORPMon 158

10.2.2 ORPMon基本工作原理 159

10.2.3 特殊功能寄存器操作 161

10.3 ORPMon的移植 162

10.3.1 源代码 162

10.3.2 链接文件 167

10.4 ORPMon的仿真 171

10.5 ORPMon的运行 172

10.6 使用Flash运行ORPMon 174

第11章 以太网控制器的结构和Linux驱动11.1 以太网的CSMA/CD原理和MII接口 175

11.1.1 CSMA/CD 175

11.1.2 MII接口 175

11.1.3 CSMA/CD的帧接收和发送过程 177

11.2 OpenCores的以太网控制器 179

11.2.1 以太网控制器简介 179

11.2.2 以太网控制器的接口 180

11.2.3 以太网控制器的寄存器 181

11.2.4 缓冲描述符 189

11.3 以太网控制器的内部结构 191

11.3.1 控制器总体结构 191

11.3.2 MII管理模块 191

11.3.3 接收模块 192

11.3.4 发送模块 194

11.3.5 控制模块 196

11.3.6 状态模块 196

11.3.7 寄存器模块 197

11.3.8 Wishbone接口模块 198

11.4 嵌入式Linux简介 199

11.5 对Linux进行配置、修改、编译、下载和运行 200

11.6 使用ORPMon启动Linux 205

11.6.1 设计可以启动Linux的ORPMon 205

11.6.2 固化Linux 206

11.7 集成以太网控制器 206

11.7.1 system_eth.v 207

11.7.2 ar2000_eth.v 208

11.7.3 验证以太网控制器 210

第12章 LCD控制器的使用 213

12.1 OpenCores的VGA/LCD控制器 213

12.2 VGA/LCD控制器的接口与寄存器 215

12.2.1 VGA/LCD控制器的接口 215

12.2.2 VGA/LCD控制器的寄存器 217

12.3 VGA/LCD控制器的使用方法 222

12.3.1 视频时序 222

12.3.2 像素色彩 223

12.3.3 带宽需求 224

12.4 集成和仿真VGA/LCD控制器 225

12.5 验证VGA/LCD控制器 230

第13章 SBSRAM的时序和控制器设计 231

13.1 SBSRAM控制器的结构和功能 231

13.1.1 SBSRAM的概念 231

13.1.2 SBSRAM控制器的读/写操作和时序 231

13.2 编写SBSRAM控制器 234

13.3 SBSRAM控制器的仿真 237

13.4 集成SSRAM控制器 240

13.4.1 system_ssram.v 240

13.4.2 ar2000_ssram.v 242

13.5 验证SSRAM控制器 243

附录 UP-SOPC2000教学科研平台 244

参考文献 247