标题：开源软核处理器OpenRisc的SOPC设计
基本信息
作　　者：徐敏，孙恺，潘峰 著 丛 书 名：中国电子学会嵌入式专家委员会推荐丛书 出 版  社：北京航空航天大学出版社ISBN：9787811241952 出版时间：2008-03-01 版　　次：1 页　　数：246 装　　帧：平装 开　　本：16开 所属分类：图书 > 计算机与互联网 > 软件工程及软件方法学
内容简介
片上可编程系统（System On Programmable Chip，SOPC）已经成为嵌入式系统的发展方向。《开源软核处理器OpenRisc的SOPC设计》介绍基于源代码开放的OpenRisc1200（以下简称OR1200）软核处理器的SOPC设计方法。《开源软核处理器OpenRisc的SOPC设计》分为两部分，第一部分介绍OR1200软核处理器的架构和配置、Wishbone总线的标准及OR1200软核处理器软硬件开发环境的建立；第二部分以具体实例说明如何使用OR1200软核处理器完成嵌入式设计，其中包括：调试接口的实现、OR1200控制片内存储器和I/O、串口、SDRAM、外部总线、以太网、LCD及SRAM；另外还介绍如何在OR1200上运行嵌入式Linux，并针对第二部分给出部分源代码。
目录
第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控制器
附录 UP-SOPC2000教学科研平台
参考文献