主编推荐语
本书结合FPGA开发板与云平台,讲述基于RISC-V处理器的SiFive Freedom E300片上系统设计、实验教程及移植RT-Thread操作系统。
内容简介
本书将线下的FPGA开发板与线上的云平台结合,完成基于开源RISC-V处理器的SiFive Freedom E300片上系统,以及E21处理器配合云平台设计方法的相关实验教程。并用Chisel编程的方式与FPGA硬件,完成国产RT-Thread操作系统验证的移植。全书包含三大部分内容:首先讲述了基于实验所用Digilent Nexys板级硬件设计平台和Vivado开发工具。其次是介绍Verilog HDL、Chisel HCL和一种由国内自主开发的Coffee-HDL这三种硬件描述语言。最后是三种实验教程的设计与实现方法,包含开源的SiFive Freedom E300片上系统的实验;以英伟达开源的深度学习硬件架构NVDLA为例,介绍如何在Freedom E300平台上集成Verilog IP的方法及介绍SiFive E21处理器IP的使用方式与国内自主开发云端SoC开发平台的实验;移植国内自主开发RT-Thread实时多任务操作系统的原理与应用到SiFive Freedom E300片上系统的实验。
目录
- 封面
- 作者简介
- 版权信息
- 内容简介
- 推荐语(按反馈时间排序)
- 序 一
- 序 二
- 前 言
- 第1章 RISC-Ⅴ的历史和机遇
- 1.1 RISC-Ⅴ发明团队与历史
- 1.1.1 商业公司的指令集架构载浮载沉
- 1.1.2 RISC-Ⅴ指令集架构有什么不同
- 1.1.3 RISC-Ⅴ发展史及其标志性事件
- 1.2 RISC-Ⅴ基金会成长的历史
- 1.2.1 RISC-Ⅴ基金会的成员介绍
- 1.2.2 RISC-Ⅴ基金会推动20个重点领域的技术
- 1.2.3 RISC-Ⅴ基金会标准制定过程及工作群组机制
- 1.2.4 RISC-Ⅴ国际协会的诞生
- 1.3 RISC-Ⅴ的生态系统
- 1.3.1 RISC-Ⅴ的开发板和生态系统
- 1.3.2 部分RISC-Ⅴ社区生态的支持厂商
- 1.3.3 芯片设计业界的RISC-Ⅴ产品进展
- 1.4 SiFive研发团队技术沿革
- 1.4.1 Rocket Chip SoC生成器
- 1.4.2 使用Chisel语言编写Rocket Chip生成器
- 1.4.3 Rocket标量处理器
- 1.4.4 SiFive强力推动RISC-Ⅴ生态发展
- 第2章 RISC-Ⅴ指令集体系架构介绍
- 2.1 引言
- 2.2 RISC-Ⅴ架构特性
- 2.2.1 简洁性
- 2.2.2 模块化
- 2.3 指令格式
- 2.3.1 指令长度编码
- 2.3.2 指令格式
- 2.4 寄存器列表
- 2.4.1 通用寄存器
- 2.4.2 控制和状态寄存器
- 2.4.3 程序计数器
- 2.5 地址空间与寻址模式
- 2.5.1 地址空间
- 2.5.2 小端格式
- 2.5.3 寻址模式
- 2.6 内存模型
- 2.7 特权模式
- 2.8 中断和异常
- 2.8.1 中断和异常概述
- 2.8.2 RISC-Ⅴ机器模式下的中断架构
- 2.8.3 机器模式下中断和异常的处理过程
- 2.9 调试规范
- 2.10 RISC-Ⅴ未来的扩展子集
- 2.10.1 B标准扩展:位操作
- 2.10.2 H特权态架构扩展:支持管理程序(Hypervisor)
- 2.10.3 J标准扩展:动态翻译语言
- 2.10.4 L标准扩展:十进制浮点
- 2.10.5 N标准扩展:用户态中断
- 2.10.6 P标准扩展:封装的单指令多数据(Packed-SIMD)指令
- 2.10.7 Q标准扩展:四精度浮点
- 2.10.8 V标准扩展:基本矢量扩展
- 2.11 RISC-Ⅴ指令列表
- 2.11.1 I指令子集
- 2.11.2 M指令子集
- 2.11.3 A指令子集
- 2.11.4 F指令子集
- 2.11.5 D指令子集
- 2.11.6 C指令子集
- 第3章 现场可编程逻辑门阵列(FPGA)设计流程
- 3.1 Xilinx FPGA概述与设计流程
- 3.1.1 Xilinx FPGA的基本结构
- 3.1.2 Diligent Nexys A7 FPGA开发平台介绍
- 3.1.3 FPGA的设计流程
- 3.2 Xilinx Vivado集成环境安装与开发流程
- 3.2.1 Vivado集成环境的安装
- 3.2.2 Vivado集成环境的开发流程
- 第4章 SiFive Freedom E300 SoC的原理与实验
- 4.1 Verilog HDL简介
- 4.1.1 数据类型
- 4.1.2 数据表示
- 4.1.3 运算符及表达式
- 4.1.4 Verilog HDL常用语法
- 4.1.5 系统函数和任务
- 4.1.6 Verilog HDL规范
- 4.1.7 用于Verilog HDL设计的Xilinx 7系列 FPGA原语使用方法
- 4.1.8 小结
- 4.2 Chisel HCL简介
- 4.2.1 环境安装
- 4.2.2 Scala编程语言快训
- 4.2.3 Chisel硬件构造语言快训
- 4.2.4 小结
- 4.3 SiFive Freedom E300平台架构介绍
- 4.3.1 E31 RISC-Ⅴ内核概述
- 4.3.2 中断架构
- 4.3.3 内核本地中断器(CLINT)
- 4.3.4 调试支持
- 4.3.5 SiFive TileLink总线介绍
- 4.4 SiFive Freedom E300在Nexys A7上的开发流程
- 4.4.1 SiFive Freedom SoC生成器简介
- 4.4.2 Verilog IP集成方法与开发流程
- 4.4.3 Freedom E300在Nexys A7上的开发流程
- 第5章 SiFive E21处理器和SoC设计云平台的原理与实验
- 5.1 SiFive E21处理器
- 5.1.1 缩略语和术语列表
- 5.1.2 E21 RISC-Ⅴ内核概述
- 5.1.3 内存映射
- 5.1.4 中断架构
- 5.1.5 内核本地中断器
- 5.1.6 调试支持
- 5.1.7 使用E21内核评估套件
- 5.2 Coffee-HDL语言简介
- 5.2.1 开发Coffee-HDL语言的动机
- 5.2.2 文件和模块
- 5.2.3 语言要素
- 5.2.4 数据类型
- 5.2.5 操作符
- 5.2.6 位选择和部分选择
- 5.2.7 表达式
- 5.2.8 语句
- 5.2.9 函数
- 5.2.10 LRU算法模块设计示例
- 5.2.11 E21_SOC_FPGA集成模块设计示例
- 5.3 ezchip® SoC在线设计云平台
- 5.3.1 IC Studio主界面布局
- 5.3.2 IC Studio的使用
- 5.3.3 ezchip®可配置制模块
- 5.3.4 生成代码
- 5.3.5 基于SiFive E21处理器的SoC设计实验
- 5.3.6 基于SiFive E21处理器的FPGA验证实验
- 第6章 RT-Thread实时多任务操作系统的原理与应用
- 6.1 SiFive Freedom Studio集成开发调试环境安装与介绍
- 6.1.1 Freedom Studio简介与安装
- 6.1.2 启动Freedom Studio
- 6.1.3 创建sifive-welcome项目
- 6.1.4 配置sifive-welcome项目
- 6.1.5 编译sifive-welcome项目
- 6.1.6 运行sifive-welcome项目
- 6.1.7 调试程序
- 6.2 移植RT-Thread实时多任务操作系统的原理
- 6.2.1 嵌入式操作系统概述
- 6.2.2 RT-Thread实时多任务操作系统介绍
- 6.2.3 RT-Thread的底层结构与移植
- 6.3 RT-Tread的UART驱动结构分析、移植及应用
- 6.3.1 RT-Tread外设驱动
- 6.3.2 UART驱动结构分析
- 6.3.3 UART的移植与应用
- 6.4 完成RT-Thread实时操作系统的编译与运行
- 6.4.1 工具准备
- 6.4.2 修改路径与代码
- 6.4.3 文件编译
- 6.4.4 文件烧录
- 附录A 虚拟机与Ubuntu Linux操作系统的安装
- 附录B 基于Nexys A7贪吃蛇游戏的设计与实现
- 参考文献
- 反侵权盗版声明
- 封底
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。