书籍详情
《RISC-Ⅴ处理器与片上系统设计--基于FPGA与云平台的实验教程》[31M]百度网盘|亲测有效|pdf下载
  • RISC-Ⅴ处理器与片上系统设计--基于FPGA与云平台的实验教程

  • 出版社:火把图书专营店
  • 出版时间:2020-12
  • 热度:12347
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

基本信息

  • 商品名称:RISC-Ⅴ处理器与片上系统设计--基于FPGA与云平台的实验教程/RISC-Ⅴ芯片系列
  • 作者:编者:陈宏铭//程玉华|责编:刘志红
  • 定价:98
  • 出版社:电子工业
  • 书号:9787121401411

其他参考信息(以实物为准)

  • 出版时间:2020-12-01
  • 印刷时间:2020-12-01
  • 版次:1
  • 印次:1
  • 开本:16开
  • 包装:平装
  • 页数:388
  • 字数:620.8千字

编辑推荐语

本书将线下的FPGA开发板与线上的云平台结合,完成基于开源RISC-V处理器的SiFive Freedom E300片上系统,以及E21处理器配合云平台设计方法的相关实验教程。并用Chisel编程的方式与FPGA硬件,完成国产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片上系统的实验。

作者简介

陈宏铭博士拥有超过二十年的半导体相关行业经验,目前担任上海赛昉科技的技术市场 总监。特别专注于物联网、人工智能、超算与RISC-V处理器等领域的技术趋势,负责协助中国大陆与港澳台的客户。在加入上海赛昉科技之前,陈博士曾担任创意电子的华东区业务总监以及智原科技的技术与市场总监,负责评估客户设计与市场规划。 早前还担任过明导 亚太区产品专家,益华电脑应用工程师与联阳半导体数字设计工程师。__eol__陈博士于台 湾清华大学获得了电机工学学士与微电子专业工学硕士学位,在北京大学获得了微电子专业理学博士学位。同时也担任武汉大学电子信息学院兼职教授,江南大学物联网工程学院企业讲师,教授本科生有关芯片设计、制造、封测与RISC-V处理器相关的入门知识。

目录

第1章 RISC-V的历史和机遇1
1.1 RISC-V发明团队与历史1
1.1.1 商业公司的指令集架构载浮载沉4
1.1.2 RISC-V指令集架构有什么不同6
1.1.3 RISC-V发展史及其标志性事件7
1.2 RISC-V基金会成长的历史8
1.2.1 RISC-V基金会的成员介绍9
1.2.2 RISC-V基金会推动20个重点领域的技术11
1.2.3 RISC-V基金会标准制定过程及工作群组机制12
1.2.4 RISC-V 协会的诞生13
1.3 RISC-V的生态系统13
1.3.1 RISC-V的开发板和生态系统14
1.3.2 部分RISC-V社区生态的支持厂商18
1.3.3 芯片设计业界的RISC-V产品进展22
1.4 SiFive研发团队技术沿革24
1.4.1 Rocket Chip SoC生成器24
1.4.2 使用Chisel语言编写Rocket Chip生成器26
1.4.3 Rocket标量处理器27
1.4.4 SiFive强力推动RISC-V生态发展28
第2章 RISC-V指令集体系架构介绍32
2.1 引言32
2.2 RISC-V架构特性32
2.2.1 简洁性33
2.2.2 模块化33
2.3 指令格式35
2.3.1 指令长度编码35
2.3.2 指令格式36
2.4 寄存器列表37
2.4.1 通用寄存器37
2.4.2 控制和状态寄存器38
2.4.3 程序计数器39
2.5 地址空间与寻址模式39
2.5.1 地址空间39
2.5.2 小端格式40
2.5.3 寻址模式40
2.6 内存模型40
2.7 特权模式41
2.8 中断和异常42
2.8.1 中断和异常概述42
2.8.2 RISC-V机器模式下的中断架构42
2.8.3 机器模式下中断和异常的处理过程43
2.9 调试规范44
2.10 RISC-V未来的扩展子集45
2.10.1 B标准扩展:位操作45
2.10.2 H特权态架构扩展:支持管理程序(Hypervisor)45
2.10.3 J标准扩展:动态翻译语言45
2.10.4 L标准扩展:十进制浮点46
2.10.5 N标准扩展:用户态中断46
2.10.6 P标准扩展:封装的单指令多数据(Packed-SIMD)指令46
2.10.7 Q标准扩展:四精度浮点46
2.10.8 V标准扩展:基本矢量扩展46
2.11 RISC-V指令列表46
2.11.1 I指令子集47
2.11.2 M指令子集52
2.11.3 A指令子集53
2.11.4 F指令子集55
2.11.5 D指令子集56
2.11.6 C指令子集57
第3章 现场可编程逻辑门阵列(FPGA)设计流程60
3.1 Xilinx FPGA概述与设计流程60
3.1.1 Xilinx FPGA的基本结构61
3.1.2 Diligent Nexys A7 FPGA开发平台介绍63
3.1.3 FPGA的设计流程64
3.2 Xilinx Vivado集成环境安装与开发流程67
3.2.1 Vivado集成环境的安装68
3.2.2 Vivado集成环境的开发流程76
第4章 SiFive Freedom E300 SoC的原理与实验92
4.1 Verilog HDL语言简介92
4.1.1 数据类型93
4.1.2 数据表示95
4.1.3 运算符及表达式96
4.1.4 Verilog HDL常用语法101
4.1.5 系统函数和任务106
4.1.6 Verilog HDL语言规范111
4.1.7 用于Verilog HDL设计的Xilinx 7系列 FPGA原语使用方法118
4.1.8 小结128
4.2 Chisel HCL语言简介129
4.2.1 环境安装130
4.2.2 Scala编程语言快训132
4.2.3 Chisel硬件构造语言快训138
4.2.4 小结162
4.3 SiFive Freedom E300平台架构介绍162
4.3.1 E31 RISC-V内核概述164
4.3.2 中断架构170
4.3.3 内核本地中断器(CLINT)175
4.3.4 调试支持176
4.3.5 SiFive TileLink总线介绍181
4.4 SiFive Freedom E300在Nexys A7上的开发流程204
4.4.1 SiFive Freedom SoC生成器简介204
4.4.2 Verilog IP集成方法与开发流程210
4.4.3 Freedom E300在Nexys A7上的开发流程215
第5章 SiFive E21处理器和SoC设计云平台的原理与实验222
5.1 SiFive E21处理器222
5.1.1 缩略语和术语列表223
5.1.2 E21 RISC-V内核概述224
5.1.3 内存映射229
5.1.4 中断架构229
5.1.5 内核本地中断器236
5.1.6 调试支持240
5.1.7 使用E21内核评估套件245
5.2 Coffee-HDL语言简介258
5.2.1 开发Coffee-HDL语言的动机258
5.2.2 文件和模块259
5.2.3 语言要素261
5.2.4 数据类型262
5.2.5 操作符263
5.2.6 位选择和部分选择264
5.2.7 表达式264
5.2.8 语句265
5.2.9 函数267
5.2.10 LRU算法模块设计示例267
5.2.11 E21_SOC_FPGA集成模块设计示例269
5.3 ezchip? SoC在线设计云平台271
5.3.1 IC Studio主界面布局272
5.3.2 IC Studio的使用276
5.3.3 ezchip?可配置制模块277
5.3.4 生成代码279
5.3.5 基于SiFive E21 处理器的SoC设计实验280
5.3.6 基于SiFive E21 处理器的FPGA验证实验285
第6章 RT-Thread实时多任务操作系统的原理与应用298
6.1 SiFive Freedom Studio集成开发调试环境安装与介绍298
6.1.1 Freedom Studio简介与安装298
6.1.2 启动Freedom Studio300
6.1.3 创建sifive-welcome项目301
6.1.4 配置sifive-welcome项目303
6.1.5 编译sifive-welcome项目305
6.1.6 运行sifive-welcome项目306
6.1.7 调试程序312
6.2 移植RT-Thread实时多任务操作系统的原理313
6.2.1 嵌入式操作系统概述313
6.2.2 RT-Thread实时多任务操作系统介绍315
6.2.3 RT-Thread的底层结构与移植317
6.3 RT-Tread的UART驱动结构分析、移植及应用322
6.3.1 RT-Tread外设驱动322
6.3.2 UART驱动结构分析323
6.3.3 UART的移植与应用330
6.4 完成RT-Thread实时操作系统的编译与运行330
6.4.1 工具准备331
6.4.2 修改路径与代码331
6.4.3 文件编译333
6.4.4 文件烧录333
附录A 虚拟机与Ubuntu Linux操作系统的安装335
A.1 虚拟机的安装335
A.1.1 虚拟机简介335
A.1.2 VMware安装(以VMware15版本为例)336
A.2 Ubuntu Linux操作系统安装337
A.2.1 Ubuntu简介337
A.2.2 Ubuntu虚拟机的下载和安装337
A.2.3 虚拟机信息339
附录B 基于Nexys A7贪吃蛇游戏的设计与实现341
B.1 硬件设备概述341
B.2 设计要求342
B.3 硬件设计342
B.4 任务设计344
B.4.1 程序结构344
B.4.2 任务的数据结构设计345
B.4.3 全局变量的使用345
B.4.4 状态机的使用345
B.5 程序设计详解346
B.5.1 top模块的使用346
B.5.2 display模块的使用346
B.5.3 snake模块的使用349
B.5.4 fsm模块的使用351
B.5.5 turn模块的使用352
B.5.6 apple模块的使用353
B.5.7 score模块的使用354
B.6 测试数据355
参考文献