在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 81100|回复: 327

[原创] 重磅:《兼容ARM9的软核处理器设计》一书详细注释的高速版源代码发布

[复制链接]
发表于 2012-3-23 18:52:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这本书的配套教程下载网址是: http://code.google.com/p/risclite

--------------------------------------------------------------------------------

重磅出击:详细注释的高速版兼容ARM9软核处理器下载地址(2012年5月25日eetop独家首发)
http://bbs.eetop.cn/thread-333596-1-1.html

---------------------------------------------------------------------------------

图书购买地址


---------------------------------------------------------------------------------
互动出版网:http://product.china-pub.com/199240

当当网:http://product.dangdang.com/product.aspx?product_id=22697190

卓越网:www.amazon.cn/dp/B007TQ72WC?sr=8-1&ie=UTF8&qid=1335239718&ref_=sr_1_1

京东商城: http://book.360buy.com/10973851.html


淘宝购买地址:
http://detail.tmall.com/item.htm?id=15122863847

----------------------------------------------------------------------------------

帖子导读:

活动1:CPU设计大家谈:国家要搞national CPU architecture,请发表你的看法。(选5个观点,赠5本书。)

话题1:如何提高Verilog的设计水平?(话说这是一个永恒的话题,说说你们的看法吧,菜鸟与达人们。)

话题2:参与处理器设计对于FPGA开发者的好处(RTL的设计技巧和FPGA的调试技巧)

1.2 DMIPS/MHz!书中附带兼容ARM9软核处理器的Dhrystone性能(你要不要仿真测测看?)

《源代码》电影与Linux仿真:如何模拟硬件环境启动Linux操作系统



封面

封面


第一章: 数字电路设计模型
本章主要讲述数字电路设计的基本模型。在进行数字电路设计之前,必须建立一个数字电路模型。这个建模的过程,就是在心中建立一个电路的基本轮廓。在了解了数字电路的基本单元后,运用它们构建大致模型。
1.        最初的模型——带有输入输出的模块
2.        组合逻辑
3.        时序逻辑
4.        同步电路
5.        同步电路时序路径
6.        RTL描述
7.        综合生成电路


第二章:Verilog RTL编程
本章讲述如何使用Verilog进行RTL编程,讲述如何使用Verilog精炼的进行RTL描述。在对Verilog的描述方法进行了基本归类后,总结了进行RTL设计的基本流程,并在最后,使用一个简单的UART串口设计实例来启发读者完成RTL设计。
1.        Verilog语言与RTL描述
2.        Verilog描述语句对应电路
3.        如何进行RTL设计
4.        RTL设计要点
5.        UART串口通讯设计实例


第三章:Modelsim仿真
本章讲述如何使用Modelsim对Verilog RTL设计进行仿真验证。验证是设计中重要的一步,Modelsim是最流行的仿真工具,使用Modelsim建立一个测试环境可以对RTL设计进行各种级别的验证测试。
1.        仿真的意义
2.        testbench文件
3.        Modelsim仿真工具使用
4.        UART串口仿真实例

第四章:FPGA开发板原型验证
本章主要讲述如何使用FPGA开发板对设计进行原型验证。FPGA开发板作为数字设计运行的实体,具有实践出真理的价值。掌握FPGA开发板对设计进行验证,对于设计者无比重要。
1.        FPGA内部结构
2.         FPGA开发板
3.        FPGA设计开发流程
4.        FPGA设计内部单元
5.        UART设计在Altera FPGA的下载执行
6.        UART设计在Xilinx FPGA的下载执行

第五章:ARM9微处理器编程模型
本章主要对ARM9处理器架构进行介绍,使读者对ARMv4这一套运行在众多智能手机上的流行架构有个切实的了解。本章从建立微处理器的基本模型开始,从实现的角度对ARMv4架构的方方面面进行了探讨。在总结出了7种中断和20条指令后,对于下一章执行做了全面的总结和铺垫。
1.        ARM公司历史
2.        ARM处理器架构
3.        微处理器基本模型
4.        ARMv4架构模式
5.        ARMv4架构内部寄存器
6.        ARMv4架构的异常中断
7.        ARMv4的架构支持的ARM指令集
8.        ARM指令与中断分析

第六章:兼容ARM9微处理器Verilog RTL设计
本章是本书的核心。讲述了如何在不到1800行的verilog程序里,去实现上一章总结的ARMv4的架构。从现在经典的三级流水线和五级流水线开,对如何有效的实现处理器描述做了全面展开。以此为基础,逐步对兼容ARM9微处理器进行剖析,让读者从处理器内核的实现过程中,学习到Verilog RTL设计的各种技巧。
1.        确定RTL设计的输入输出端口
2.        经典的三级流水线架构
3.        经典的五级流水线架构
4.        三级流水线改进架构
5.        适于兼容ARM9微处理器的三级架构
6.        影响流水线架构执行的四种状况
7.        第一级:取指阶段的Verilog RTL实现
8.        第二级:乘法运算阶段的Verilog RTL实现
9.        第三级:加法运算阶段的Verilog RTL实现
10.        寄存器组的写入
11.        CPSR/SPSR的写入
12.        数据池的读写
13.        第四级:读操作数据的回写

第七章:Hello world--兼容ARM9处理器内核运行的第一个程序
本章介绍简单的ROM code生成流程,并让它在兼容ARM9处理器内核上运行。KEIL是嵌入式开发中流行的工具,它的后续RealView MDK也因为它良好的特性受到嵌入式设计工程师的欢迎。本章帮助读者编写简单的printf("Hello world")打印程序,以此为契机,建立简单的SoC设计工程。
1.        基于FPGA的SoC设计流程
2.        使用RealView MDK编译Hello World程序
3.        Modelsim仿真输出Hello World
4.        建立Hello World的FPGA设计工程

第八章:Dhrystone Benchmark--兼容ARM9处理器内核性能测试
Dhrystone Benchmark是为各种嵌入式内核测试“体质”的代码。本章结合ARM公司给出的优化方法,使用RealView MDK对Dhrystone 2.1代码进行编译。然后使用Modelsim进行仿真,并用FPGA开发板结合串口,打印出真实的测试结果。
1.        Dhrystone 2.1介绍
2.        移植Dhrystone 2.1进行编译
3.         Modelsim仿真运行Dhrystone Benchmark
4.        在线可编程的FPGA SoC设计工程
5.        Dhrystone Benchmark在开发板中运行

第九章:ucLinux仿真--结合Skyeye,启动不带MMU的操作系统
Skyeye是ARM9处理器的软件模拟器,通过它解析ucLinux内核,可以在软件平台上运行嵌入式软件。本章建立了Modelsim的仿真环境,加载同样的ucLinux内核,可以打印出同Skyeye一样的启动信息。在这个过程中,用户可以通过查看波形,从RTL设计工程师的角度解析嵌入式操作系统。
1.        ARM7TDMI-S处理器内核
2.        以ARM7TDMI为核心的单片机
3.        uClinux嵌入式操作系统
4.        SkyEye硬件模拟平台
5.        Modelsim下仿真uClinux启动过程

第十章:Linux OS--结合mini2440开发板,启动带MMU的嵌入式操作系统
Mini2440 ARM9开发板是一种流行的嵌入式开发工具。本章从开发板中得到含有操作系统及文件系统的NAND flash的镜像,然后在Modelsim下建立testbench环境,从该镜像中读出bootloader的第一条指令开始,一步步的启动Linux操作系统。这个过程涉及到带MMU功能模块的处理器的工作机理,读者在本章中可以了解到Linux操作系统的硬件工作环境。
1.        ARM920T处理器内核
2.        S3C2440A 32-bit微控制器
3.        Mini2440 ARM9开发板
4.        NAND flash仿真模型
5.        为兼容ARM9处理器内核增加协处理器指令
6.        建立仿真Linux操作系统的testbench

附录一:启动Linux操作系统的全部打印log信息
附录二:兼容ARM9处理器内核带注释的Verilog RTL代码
发表于 2012-3-23 19:49:33 | 显示全部楼层
看了一下链接,不错。
发表于 2012-3-24 10:18:57 | 显示全部楼层
佩服啊,楼主辛苦了

不知楼主下一步准备把这个core发展到什么程度?
 楼主| 发表于 2012-3-24 18:00:16 | 显示全部楼层
谢谢,我写的处理器软核简洁高效,易于在FPGA上执行。最主要的是兼容工业最主流的处理器架构,可以利用最广泛的嵌入式资源。我希望带动更多的人参与处理器设计,提高Verilog RTL技巧,推动我国的处理器设计潮流。因此,内核会以最开放的方式迎接更多的人参与和改进。
发表于 2012-3-25 10:36:53 | 显示全部楼层
新书多少号可以在网上购买?淘宝上有没有预订的店?
 楼主| 发表于 2012-3-25 15:44:51 | 显示全部楼层
就在不久吧,请关注本版的消息。
发表于 2012-3-27 10:26:02 | 显示全部楼层
回复 5# hawaii_e


    这本书,正在做封面的最终定型阶段。我们在考虑,是不是在论坛上搞个预定活动。
发表于 2012-3-27 10:31:58 | 显示全部楼层
热情期待中!!
发表于 2012-3-27 15:31:55 | 显示全部楼层
支持!!!!!!
发表于 2012-3-28 21:32:13 | 显示全部楼层
强力支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 10:52 , Processed in 0.053961 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表