开源软核处理器OpenRisc的SOPC设计

节选

[

第1章 SOPC及常用软核处理器概述
SoC(System on Chip)称为片上系统,它是指将一个完整的产品的功能集成在一个芯片上,SoC中包括微处理器、DSP、存储器(ROM、RAM、Flash等)、总线以及I/O,甚至可以包括AD/DA、锁相环等。集成电路和系统达到什么程度才算是SoC,并没有严格的规定。片上使用IP(Intellectual Property)核是构建SoC的重要步骤,IP核即知识产权核或者知识产权模块,IP核在功能上已经设计并得到验证,而且可以重复使用。当要推出新产品时,SoC开发人员可以将原来使用过的IP核移植到新的系统中,或者只修改一小部分电路就可以满足新的设计要求;利用IP核的重复使用可以缩短新产品的开发周期,降低开发难度。例如,ARM公司的Risc架构的ARM、IBM公司的PowerPC、MIPS公司的MIPS核、Fresscale公司的MCore等,这些需要交付一定的授权费;还有一些IP核是开源的,可免费使用。
对于经过验证又可批量应用的系统芯片,可以做成专用集成电路(ASIC)而大量生产。而对于小批量应用就面临着高投资、高风险,这样无法被中小企业、研究所以及大专高校等采用。在这样的情况下,Altera公司于2000年首先提出了SOPC的概念。SOPC是基于FPGA的可重构的SoC,嵌入在FPGA芯片上的系统组件,如微处理器、ROM/RAM、总线、I/0等模块,都可以根据设计需要进行灵活的修改,因此,SOPC是灵活的、高效的SoC解决方案。工程师们可以自由地发挥想象力,开发出更具特色的嵌入式产品。
……

]

内容简介

[

片上可编程系统(System On Programmable Chip,SOPC)已经成为嵌入式系统的发展方向。本书介绍基于源代码开放的OpenRisc1200(以下简称OR1200)软核处理器的SOPC设计方法。本书分为两部分,**部分介绍OR1200软核处理器的架构和配置、Wishbone总线的标准及OR1200软核处理器软硬件开发环境的建立;第二部分以具体实例说明如何使用OR1200软核处理器完成嵌入式设计,其中包括:调试接口的实现、OR1200控制片内存储器和I/O、串口、SDRAM、外部总线、以太网、LCD及SRAM;另外还介绍如何在OR1200上运行嵌入式Linux,并针对第二部分给出部分源代码。
本书适合对SOPC或OR1200软核处理器感兴趣的初学者使用,也可作为嵌入式系统设计人员的自学用书,或作为相关专业研究生的教材和教师的教学参考书。

]

目录

第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教学科研平台参考文献

封面

开源软核处理器OpenRisc的SOPC设计

书名:开源软核处理器OpenRisc的SOPC设计

作者:徐敏,孙恺,潘峰 编著

页数:246

定价:¥28.0

出版社:北京航空航天大学出版社

出版日期:2008-03-01

ISBN:9787811241952

PDF电子书大小:124MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注