由于CPU设计技术的复杂性和高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑进行详细介绍,本书是国内第一本详细介绍实用32位CPU的逻辑实现、介绍将CPU设计成芯片版图方法的著作。
在本书中,作者结合自己的工作经验,重点分析了逻辑设计所用到的方法,详细介绍了用EDA工具进行芯片设计的方法,这些对集成电路设计工程师来说有指导价值。我们还对Linux操作系统CPU平台移植方法作了充分的论述。软件工程师了解CPU的逻辑行为及平台移植方法,调试程序会有更清晰的思路。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | CPU源代码分析与芯片设计及Linux移植 |
分类 | |
作者 | 倪继利//陈曦//李挥 |
出版社 | 电子工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 由于CPU设计技术的复杂性和高度保密性,目前几乎没有公开出版的书籍对一款实用的CPU的逻辑进行详细介绍,本书是国内第一本详细介绍实用32位CPU的逻辑实现、介绍将CPU设计成芯片版图方法的著作。 在本书中,作者结合自己的工作经验,重点分析了逻辑设计所用到的方法,详细介绍了用EDA工具进行芯片设计的方法,这些对集成电路设计工程师来说有指导价值。我们还对Linux操作系统CPU平台移植方法作了充分的论述。软件工程师了解CPU的逻辑行为及平台移植方法,调试程序会有更清晰的思路。 内容推荐 本书全面系统地讲解了CPU的芯片设计技术。书中详细分析了开放源代码32位RISC CPU(or1200)的源代码、编译器的移植、Linux操作系统的移植,介绍了CPU源代码在FPGA上的实现方法,说明了CPU芯片的全定制设计方法。 作者不仅分析了源代码,而且进行了芯片设计实现,并详细讲述了设计方法。本书的内容全面、深入、系统,融入了作者长期的芯片设计经验,这使本书对开发人员更有实际的指导意义。 本书主要针对从事芯片设计的中高级读者及芯片设计工程师,也适合作为大学教材和参考书。 目录 第1章 CPU构架概述 1.1 计算机体系结构概述 1.1.1 计算机系统分类 1.1.2 微处理器概述 1.1.3 处理器的性能度量 1.1.4 RISC CPU的结构 1.2 标量流水线技术 1.2.1 流水线分类 1.2.2 线性流水线的性能分析 1.2.3 流水线相关 1.2.4 OR1200 CPU流水线 1.3 超标量构架 1.3.1 超标量流水线 1.3.2 分支预测技术 1.3.3 指令的动态调度 1.3.4 存储器数据流技术 1.4 超长指令构架 1.4.1 概述 1.4.2 RISC,CISC与VLIW构架的区别 1.4.3 VLIW构架的编译器优化 1.5 处理器介绍 1.5.1 超标量处理器——Core微构架 1.5.2 标量处理器实例 第2章 OR1200构架 2.1 OpenRISC概述 2.1.1 寻址模式 2.1.2 位和字节次序 2.1.3 寄存器集 2.1.4 指令集及指令格式 2.1.5 例外模型 2.1.6 内存管理 2.1.7 高速缓存模型和高速缓存一致性 2.1.8 调试单元(可选) 2.1.9 执行计数单元(可选) 2.1.10 电源管理(可选) 2.1.11 可编程中断控制器(可选) 2.1.12 Tick定时器(可选) 2.2 OR1200构架 2.2.1 CPU/DSP核心 2.2.2 数据和指令高速缓存 2.2.3 数据与指令MMU 2.2.4 可编程的中断控制器 2.2.5 Tick定时器 2.2.6 电源管理支持 2.2.7 调试单元 2.2.8 时钟与复位 2.2.9 Wishbone接口 2.3 OR1200核心寄存器 2.4 OR1200的IO接口说明 2.5 OR1200核心硬件配置 第3章 Wishbone片上总线 3.1 概述 3.2 基本特点 3.3 接口信号定义 3.4 Wishbone支持的互联类型 3.5 Wishbone总线周期 3.5.1 一般操作 3.5.2 单次读/写周期 3.5.3 块读周期 3.5.4 块写周期 3.5.5 RMW操作 3.5.6 数据组织 3.6 Wishbone寄存反馈总线周期 3.6.1 周期的同步与异步结束方式之比 3.6.2 Wishbone寄存反馈周期结束方式 3.6.3 突发结束 3.6.4 地址不变突发 3.6.5 地址增加突发 3.7 Wishbone规范对IP文档的要求 3.8 Wishbone从设备接口示例 3.8.1 一台8位从设备 3.8.2 一台32位RTL级随机数生成器从设备 3.9 Wishbone对RAM/ROM的支持 3.9.1 Wishbone与RAM和ROM的互联 3.9.2 Wishbone兼容的RAM和Flash仿真模型 3.10 Wishbone点到点连接示例 3.11 Wishbone共享总线连接示例 3.12 地址译码 3.13 仲裁器的设计 3.14 小结 第4章 CPU/DSP核心 4.1 CPU/DSP核心 4.1.1 CPU/DSP核心模块的接口 4.1.2 CPU/DSP源代码模块功能说明 4.1.3 CPU/DSP核心模块流水线 4.1.4 CPU/DSP核心寄存器说明 4.1.5 OR1200的数据流程 4.2 IF级 4.2.1 genpc源代码模块 4.2.2 if模块 4.3 ID级 4.3.1 ctrl模块接口说明 4.3.2 ctrl模块源代码分析 4.4 EX级 4.4.1 operandmuxes模块 4.4.2 alu模块 4.4.3 (乘法器)mult_mac模块 4.5 系统控制模块 4.5.1 sprs模块 4.5.2 cfgr模块 4.5.3 except模块 4.5.4 freeze模块 4.6 MA级(1su模块) 4.7 WB级 4.7.1 wbmux源代码模块 4.7.2 rf模块 第5章 OponRISC存储系统 5.1 概述 5.1.1 现代计算机存储系统原 5.1.2 OpenRISC存储系统构成 5.1.3 虚拟存储系统的工作原理 5.114 MMU寄存器说明 5.2 OpenRISC的高速缓存 5.2.1 一般高速缓存的工作原理 5.2.2 OpenRISC高速缓存的工作原理 5.2.3 Cache读写操作的总线周期 5.2.4 dcache寄存器 5.3 OpertRISC的虚拟存储系统源码分析 5.3.1 OR1200_dmmu_top模块源码分析 5.3.2 OR1200_dmmu_tlb模块源码分析 5.4 OpenRISC高速缓存的源码分析 5.4.1 OR1200_dc_top模块 5.4.2 OR1200数据缓冲存储器 5.4.3 OR1200_dc_fsm模块 5.5 片上存储器QMEM 第6章 OpenRISC的主要外设 6.1 概述: 6.2 写缓冲模块OR1200_sb 6.3 总线接口单元模块OR1200_wb_biu 6.4 计时器模块OR1200_tt 6.5 可编程中断控制器模块OR1200_pic 6.6 电源管理模块OR1200_pm 第7章 OpenRISC调试接口 7.1 OR1200的调试功能概述 7.2 调试单元OR1200_du模块 7.2.1 调试单元的寄存器定义 7.2.2 调试单元的源码分析 7.3 JTAG开发接口模块I 7.3.1 JTAG开发接口模块的工作原理 7.3.2 OR1200与JTAG开发接口的连接 7.3.3 JTAG调试接口的顶层模块dbg_top 7.3.4 Dbg_registers和Dbg_trace模块 7.4 小结 第8章 编译器移植 8.1 编译过程简介 8.1.1 编译流程 8.1.2 编译过程中的优化概述 8.1.3 编译程序组成 8.2 GNU开发工具链 8.2.1 GCC4.0简介 8.2.2 binutils工具 8.2.3 gdb调试工具 8.3 RTL语言 8.3.1 平台描述及抽象机标准指令 8.3.2 RTL语法简介 8.3.3 RTL示例 8.3.4 标准指令模式 8.4 OR32平台GCC编译器移植 8.4.1 标准指令模式的实现方法 8.4.2 or32.md文件 8.4.3 define_expand功能扩展 8.5 OR32平台binutils的移植 8.5.1 指令编码接口 8.5.2 目标文件平台相关信息宏定义 8.5.3 opcodes库 8.6 OR32工具链的编译安装 第9章 Linux平台移植 9.1 编写OR32复位例外 9.1.1 reset(复位)例外 9.1.2 初始化内存管理器(函数_mc_init) 9.1.3 初始化UART(函数_early_uart_init) 9.1.4 CPU启动函数_start 9.1.5 IC和DC的启动 9.1.6 用于例外调试的宏定义 9.2 内核启动(函数start_kernel) 9.2.1 中断操作 9.2.2 tick定时器底层接口函数 9.3 内核启动时建立平台(函数setup_arch) 9.3.1 TLB管理底层接口函数 9.3.2 OR32控制台驱动程序 9.4 例外处理 9.4.1 通用例外入口处理宏 9.4.2 出入例外的现场保护 9.4.3 返回处理 9.4.4 页错误处理例程 9.4.5 外部中断例外处理 9.4.6 DTLB/ITLB失靶例外处理 9.4.7 启动的DTLB/ITLB失靶处理 9.4.8 系统调用例外处理 9.5 运行时用到的底层接口 9.5.1 线程创建及切换 9.5.2 硬件配置 9.5.3 定义小于1ms的延迟函数 9.5.4 ELF相关定义 9.5.5 用户与内核空间之间的数据传递 9.5.6 系统调用参数处理 9.5.7 寄存器及栈 9.6 Linux移植 9.6.1 orlksim仿真器 9.6.2 OpenRISC参考平台 第10章 OpenRISC参考设计与FPGA移植 10.1 OpenRISC的功能验证 10.1.1 处理器设计中的功能验证 10.1.2 OR1200的基本验证 10.1.3 OpenRSIC参考验证平台ORP_SOC 10.2 ORP_SOC的FPGA移植 10.2.1 FPGA开发流程 10.2.2 Altera CycloneⅡ FPGA的架构与资源 10.2.3 ORP_SOC到Altera FPGA的移植 10.3 FPGA开发板的设计与使用 第11章 开放源代码以太网MAC控制器IP 11.1 开放源代码以太网媒体访问控制器IP 11.1.1 以太网媒体访问控制协议概要 11.1.2 ORP_SOC的以太网MAC控制器IP核的主要特点 11.2 以太网MAC控制器IP顶层模块 11.2.1 功能 11.2.2 以太网MAC控制器IP顶层模块的源码分析 11.3 MII接口模块 11.3.1 MII接口模块的功能 11.3.2 MII接口顶层模块源代码分析 11.3.3 MII时钟生成模块 11.3.4 MII移位输出模块 11.3.5 MII输出控制模块 11.4 以太网数据发送模块 11.4.1 以太网MAC数据发送模块功能描述 11.4.2 以太网MAC数据顶层模块顶层模块 11.4.3 以太网MAC数据发送控制状态机模块 11.4.4 以太网MAC数据发送计数器模块 11.4.5 发送随机数产生模块 11.5 以太网数据接收模块 11.5.1 以太网MAC数据接收模块的功能 11.5.2 以太网MAC数据接收顶层模块 11.5.3 以太网MAC数据接收状态机 11.5.4 以太网MAC数据接收计数器模块 11.5.5 以太网MAC数据接收地址校验模块 11.6 以太网MAC控制模块 11.6.1 以太网MAC控制模块的功能 11.6.2 以太网MAC控制模块的顶层模块 11.6.3 以太网MAC发送控制模块 11.6.4 以太网MAC接收控制模块 11.7 以太网MAC状态模块 11.8 以太网MAC寄存器模块 11.9 以太网MAC Wishbone接口模块 11.9.1 功能描述 11.9.2 源代码分析 11.10 小结 第12章 USB设备功能模块 12.1 USB 2.O包标识符及传输控制概述 12.2 USB IP核的整体结构 12.2.1 USB 2.0 IP核模块组成说明 12.2.2 USB数据缓冲与传递 12.2.3 USB功能模块的源代码组织 12.3寄存器文件模块usbf_rf 12.3.1 USB寄存器功能说明 12.3.2 模块usbf_rf源代码分析 12.3.3 端点寄存器文件 12.4 Wishbone接口模块usbf_wb 12.5 内存缓冲区仲裁器模块usbf_mem_arb 12.6 协议层模块 12.6.1 IDMA模块 12.6.2 协议引擎模块 12.6.3 包装配模块 12.6.4 包拆卸模块 12.7 UTMI接口模块 12.7.1 UTMI标准说明 12.7.2 模块usbf_utmi_if源代码分析 12.7.3 USB连线状态及速度协调模块 第13章 全定制芯片设计方法 13.1 集成电路设计概述 13.1.1 集成电路的设计分类 13.1.2 FPGA到ASIC设计的转换 13.2 芯片设计流程 13.2.1 EDA工具介绍 13.2.2 前端设计概述 13.2.3 后端设计概述 13.3 DC工具综合 13.3.1 DC工具综合的基本流程说明 13.3.2 综合的基本概念 13.3.3 DC的工艺库信息说明 13.3.4 DC的命令说明 13.3.5 ORP的综合 13.4 PrimeTime静态时序分析 13.4.1 静态时序分析概述 13.4.2 PrimeTime用户流程 13.5 可测性设计 13.5.1 DFT技术概述 13.5.2 DFT Compiler流程 13.5.3 ATPG工具TetraMAX 13.6 自动布局布线 13.7 版图的物理验证 13.7.1 DRC流程 13.7.2 LVS流程 附录A 循环冗余校验算法分析与实现 附录B 基于元胞自动机和线性反馈移位寄存器的硬件随机数生成器 附录C Verilog RTL设计中的常见问题 参考文献 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。