书籍详情

兼容ARM9的软核处理器设计

兼容ARM9的软核处理器设计

作者:李新兵 著

出版社:机械工业出版社

出版时间:2012-04-01

ISBN:9787111375722

定价:¥69.00

购买这本书可以去
内容简介
  《兼容ARM9的软核处理器设计:基于FPGA》介绍如何使用硬件描述语言Verilog进行FPGA设计。通过阅读本书,读者可以自行设计一个32位的RISC架构处理器—兼容市面上流行的ARM9微处理器。本书不仅详细介绍了Verilog HDL的语法,而且独具匠心地介绍了如何使用这种精简的语言进行成熟作品的设计。这也是本书相对于其他类似图书的首次尝试。本书以Verilog RTL设计为核心,从第1章建立Verilog RTL设计模型开始,到最后一章能够对Linux操作系统进行仿真。读者通过本书可以切实掌握基于ARM9的数字电路设计流程,并能够利用成熟的MCU软件设计工具生成BIN文件,通过BIN文件和一个只有1800行的兼容ARM9处理器内核,快速完成FPGA设计。本书理论结合实际,图文并茂,由浅入深地介绍了如何使用Verilog语言进行FPGA设计,可作为机电控制、信息家电、工业控制、手持仪器、医疗器械、机器人技术等方面FPGA与嵌入式系统开发与应用参考书,适合对FPGA与嵌入式系统开发感兴趣的读者以及从事ARM嵌入式系统应用开发工程师阅读。
作者简介
暂缺《兼容ARM9的软核处理器设计》作者简介
目录
前言
第 1 章  数字电路设计模型 1
主要讲述数字电路设计的基本模型。在进行数字电路设计之前,必须建立一个数字电路模型。这个建模的过程就是在心中建立一个电路的基本轮廓。在了解了数字电路的基本单元后,可以运用它们构建大致模型。
1.1  最初的模型—带有输入输出的模块 1
1.2  组合逻辑 2
1.3  时序逻辑 3
1.4  同步电路 5
1.5  同步电路时序路径 6
1.6  RTL描述 8
1.7  综合生成电路 9
结束语 10
第 2 章  Verilog RTL编程 11
主要讲述如何使用Verilog进行RTL编程,讲述如何精炼地使用Verilog进行RTL描述。在对Verilog的描述方法进行了基本归类后,总结了进行RTL设计的基本流程,并在最后使用一个简单的UART串口设计实例来启发读者完成RTL设计。
2.1  Verilog语言与RTL描述 11
2.2  Verilog描述语句对应电路 13
2.3  如何进行RTL设计 16
2.4  RTL设计要点 17
2.5  UART串口通信设计实例 18
结束语 25
第 3 章  Modelsim仿真 26
主要讲述如何使用Modelsim对VerilogRTL设计进行仿真验证。验证是设计中重要的一步,Modelsim是最流行的仿真工具,使用Modelsim建立一个测试环境可以对RTL设计进行各种级别的验证测试。
3.1  仿真的意义 26
3.2  testbench文件 27
3.3  Modelsim仿真工具 28
3.4  UART串口仿真实例 32
结束语 34
第 4 章  FPGA开发板原型验证 35
主要讲述如何使用FPGA开发板对设计进行原型验证。FPGA开发板作为数字设计运行的实体,具有实践出真理的价值。掌握FPGA开发板对设计进行验证,对于设计者无比重要。
4.1  FPGA内部结构 35
4.2  FPGA开发板 41
4.3  FPGA设计开发流程 43
4.4  FPGA设计内部单元 46
4.5  UART设计在Altera FPGA的下载执行 53
4.6  UART设计在Xilinx FPGA的下载执行 61
结束语 77
第 5 章  ARM9微处理器编程模型 78
主要介绍ARM9处理器架构,使读者对ARMv4这一套运行在众多智能手机上的流行架构有个切实的了解。该章从建立微处理器的基本模型开始,从实现的角度对ARMv4架构的方方面面进行了探讨。在总结出了7种中断和20条指令后,为下一章的执行做了全面的总结和铺垫。
5.1  ARM公司历史 78
5.2  ARM处理器架构 79
5.3  微处理器基本模型 81
5.4  ARMv4架构模式 84
5.5  ARMv4架构内部寄存器 86
5.6  ARMv4架构的异常中断 89
5.7  ARMv4架构支持的ARM指令集 95
5.8  ARM指令与中断分析 117
结束语 119
第 6 章  兼容ARM9微处理器Verilog RTL设计 120
该章是本书的核心。讲述了如何在不到1800行代码的Verilog程序里实现第5章总结的ARMv4架构。从经典的三级流水线和五级流水线开始,全面介绍了如何有效地实现处理器。以此为基础,逐步对兼容ARM9微处理器进行剖析,让读者从处理器内核的实现过程中,学习到VerilogRTL设计的各种技巧。
6.1  确定RTL设计的输入输出端口 121
6.2  经典的三级流水线架构 125
6.3  经典的五级流水线架构 128
6.4  三级流水线改进架构 130
6.5  适于兼容ARM9微处理器的三级架构 134
6.6  影响流水线架构执行的四种状况 139
6.7  第一级:取指阶段的Verilog RTL实现 151
6.8  第二级:乘法运算阶段的Verilog RTL实现 152
6.9  第三级:加法运算阶段的Verilog RTL实现 159
6.10  寄存器组的写入 168
6.11  CPSR/SPSR的写入 176
6.12  数据池的读写 185
6.13  第四级:读操作数据的回写 187
结束语 191
第 7 章  Hello World—兼容ARM9处理器内核运行的第一个程序 192
主要介绍简单的ROM代码生成流程,并让它在兼容ARM9处理器内核上运行。Keil是嵌入式开发中流行的工具,它的后续RealViewMDK也因为其良好的特性受到嵌入式设计工程师的欢迎。该章帮助读者编写简单的HelloWorld程序,以此为契机,建立简单的SoC设计工程。
7.1  基于FPGA的SoC设计流程 193
7.2  使用RealView MDK编译Hello World程序 197
7.3  Modelsim仿真输出Hello World 206
7.4  建立Hello World的FPGA设计工程 213
结束语 226
第 8 章  Dhrystone Benchmark—兼容ARM9处理器内核性能测试 227
Dhrystone Benchmark是为各种嵌入式内核测试“体质”的代码。该章结合ARM公司给出的优化方法,使用RealViewMDK对Dhrystone2.1代码进行编译。然后使用Modelsim进行仿真,并用FPGA开发板结合串口,输出真实的测试结果。
8.1  Dhrystone 2.1介绍 228
8.2  移植Dhrystone 2.1进行编译 232
8.3  使用Modelsim仿真运行Dhrystone Benchmark 238
8.4  在线可编程的FPGA SoC设计工程 245
8.5  Dhrystone Benchmark在开发板中运行 254
结束语 258
第 9 章  uClinux仿真—结合SkyEye,启动不带MMU的操作系统 259
SkyEye是ARM9处理器的软件模拟器,通过它解析uClinux内核,可以在软件平台上运行嵌入式软件。本章建立了Modelsim的仿真环境,加载同样的uClinux内核,可以输出同SkyEye一样的启动信息。在这个过程中,用户可以通过查看波形,从RTL设计工程师的角度解析嵌入式操作系统。
9.1  ARM7TDMI-S处理器内核 260
9.2  以ARM7TDMI为核心的单片机 266
9.3  uClinux嵌入式操作系统 269
9.4  SkyEye硬件模拟平台 270
9.5  Modelsim下仿真uClinux启动过程 274
结束语 290
第10章  Linux操作系统仿真—结合mini2440开发板,启动带MMU的操作系统 291
Mini2440 ARM9开发板是一种流行的嵌入式开发工具。该章从开发板中得到含有操作系统及文件系统的NANDFlash的镜像,然后在Modelsim下建立testbench环境,从该镜像中读出bootloader的第一条指令开始,一步步地启动Linux操作系统。这个过程涉及带MMU功能模块的处理器的工作机理,读者在该章中可以了解到Linux操作系统的硬件工作环境。
10.1  ARM920T处理器内核 291
10.2  S3C2440A 32位微控制器 296
10.3  mini2440 ARM9开发板 298
10.4  NAND Flash仿真模型 301
10.5  为兼容ARM9处理器内核增加协处理器指令 303
10.6  建立仿真Linux操作系统的testbench 305
结束语 318
附录A  启动Linux操作系统的全部打印log信息 320
附录B  兼容ARM9处理器内核带注释的Verilog RTL代码 329
附录C  相关网址 389 
猜您喜欢

读书导航