现货正版 手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 从理论到UVM的验证

现货正版 手把手教你设计CPU RISC-V处理器篇+芯片验证漫游指南 从理论到UVM的验证 pdf epub mobi txt 电子书 下载 2025

胡振波,刘斌 著
图书标签:
  • RISC-V
  • CPU设计
  • 处理器
  • 芯片验证
  • UVM
  • 数字电路
  • 硬件设计
  • 嵌入式系统
  • 计算机体系结构
  • 正版书籍
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 书海寻梦图书专营店
出版社: 人民邮电
ISBN:9787115480521
商品编码:28107517011

具体描述

9787115480521 9787121339011

手把手教你设计CPU——RISC-V处理器篇

内容简介

本书是一本介绍通用CPU设计的入门书,以通俗的语言介绍了CPU和RISC-V架构,力求为读者揭开CPU设计的神秘面纱,打开计算机体系结构的大门。

本书共分为四部分。一部分是CPU与RISC-V的综述,帮助初学者对CPU和RISC-V快速地建立起认识。二部分讲解如何使用Verilog设计CPU,使读者掌握处理器核的设计精髓。三部分主要介绍

蜂鸟E203配套的SoC和软件平台,使读者实现蜂鸟E203 RISC-V处理器在FPGA原型平台上的运行。四部分是附录,介绍了RISC-V指令集架构,辅以作者加入的背景知识解读和注解,以便于读者理

解。

本书不仅适合CPU或芯片设计相关从业者阅读使用,也适合作为大中专院校相关师生学习RISC-V处理器设计(使用Verilog语言)和CPU设计的指导用书。

目录

一部分  CPU与RISC-V综述


1章  一文读懂CPU之三生三世 2

1.1 眼看他起高楼,眼看他宴宾客,眼看他楼塌了——CPU众生相 3

1.1.1  ISA——CPU的灵魂 4

1.1.2  CISC与RISC 5

1.1.3  32位与64位架构 6

1.1.4  ISA众生相 6

1.1.5  CPU的领域之分 10

1.2 ISA请扛起这口锅——为什么国产CPU尚未足够成功 12

1.2.1  MIPS系——龙芯和君正 12

1.2.2  x86系——北大众志、兆芯和海光 13

1.2.3  Power系——中晟宏芯 13

1.2.4  Alpha系——申威 14

1.2.5  ARM系——飞腾、华为海思、展讯和华芯通 14

1.2.6  背锅侠ISA 15

1.3 人生已是如此艰难,你又何必拆穿——CPU从业者的无奈 17

1.4 *敌是多么寂寞——ARM统治着的世界 18

1.4.1  独乐乐与众乐乐——ARM公司的盈利模式 18

1.4.2  小个子有大力量——无处不在的Cortex-M系列 21

1.4.3  移动*者——Cortex-A系列在手持设备领域的巨大成功 23

1.4.4  进击的巨人——ARM进军PC与服务器领域的雄心 25

1.5 东边日出西边雨,道是无晴却有晴——RISC-V登场 25

1.6 原来你是这样的“薯片”——ARM的计划 28

1.7 旧时王谢堂前燕,飞入寻常百姓家——你也可以设计自己的处理器 28

2章  大道至简——RISC-V架构之魂 29

2.1 简单就是美——RISC-V架构的设计哲学 30

2.1.1  无病一身轻——架构的篇幅 30

2.1.2  能屈能伸——模块化的指令集 32

2.1.3  浓缩的都是精华——指令的数量 32

2.2 RISC-V指令集架构简介 33

2.2.1  模块化的指令子集 33

2.2.2  可配置的通用寄存器组 34

2.2.3  规整的指令编码 34

2.2.4  简洁的存储器访问指令 34

2.2.5  *效的分支跳转指令 35

2.2.6  简洁的子程序调用 36

2.2.7  无条件码执行 37

2.2.8  无分支槽 37

2.2.9  零开销硬件循环 38

2.2.10  简洁的运算指令 38

2.2.11  优雅的压缩指令子集 39

2.2.12  特权模式 40

2.2.13  CSR寄存器 40

2.2.14  中断和异常 40

2.2.15  矢量指令子集 40

2.2.16  自定制指令扩展 41

2.2.17  总结与比较 41

2.3 RISC-V软件工具链 42

2.4 RISC-V和其他开放架构有何不同 44

2.4.1  平民英雄——OpenRISC 44

2.4.2  豪门显贵——SPARC 44

2.4.3  名校优生——RISC-V 45

3章  乱花渐欲迷人眼——盘点RISC-V商业版本与开源版本 46

3.1 各商业版本与开源版本综述 47

3.1.1  Rocket Core(开源) 47

3.1.2  BOOM Core(开源) 49

3.1.3  Freedom SoC(开源) 50

3.1.4  LowRISC SoC(开源) 50

3.1.5  PULPino Core and SoC(开源) 50

3.1.6  PicoRV32 Core(开源) 51

3.1.7  SCR1 Core(开源) 51

3.1.8  ORCA Core(开源) 51

3.1.9  Andes Core(商业IP) 52

3.1.10  Microsemi Core(商业IP) 52

3.1.11  Codasip Core(商业IP) 53

3.1.12  蜂鸟E200 Core与SoC(开源) 53

3.2 总结 53

4章  开源RISC-V——蜂鸟E200系列低功耗Core与SoC 54

4.1 与众不同的蜂鸟E200处理器 55

4.2 蜂鸟E200简介——蜂鸟虽小,五脏俱全 56

4.3 蜂鸟E200型号系列 57

4.4 蜂鸟E200性能指标 58

4.5 蜂鸟E200配套SoC 59

4.6 蜂鸟E200配置选项 60

二部分  手把手教你使用Verilog设计CPU

 

5章  先见森林,后观树木——蜂鸟E200设计总览和顶层介绍 65

5.1 处理器硬件设计概述 66

5.1.1  架构和微架构 66

5.1.2  CPU、处理器、Core和处理器核 66

5.1.3  处理器设计和验证的特点 66

5.2 蜂鸟E200处理器核设计哲学 67

5.3 蜂鸟E200处理器核RTL代码风格介绍 68

5.3.1  使用标准DFF模块例化生成寄存器 68

5.3.2  使用assign语法替代if-else和case语法 70

5.3.3  其他若干注意事项 71

5.3.4  小结 72

5.4 蜂鸟E200模块层次划分 72

5.5 蜂鸟E200处理器核源代码 73

5.6 蜂鸟E200处理器核配置选项 73

5.7 蜂鸟E200处理器核支持的RISC-V指令子集 74

5.8 蜂鸟E200处理器流水线结构 74

5.9 蜂鸟E200处理器核顶层接口介绍 74

5.10 总结 77

6章  流水线不是流水账——蜂鸟E200流水线介绍 78

6.1 处理器流水线概述 79

6.1.1  从经典的五级流水线说起 79

6.1.2  可否不要流水线——流水线和状态机的关系 81

6.1.3  深处种菱浅种稻,不深不浅种荷花——流水线的深度 81

6.1.4  向上生长——越来越深的流水线 82

6.1.5  向下生长——越来越浅的流水线 83

6.1.6  总结 83

6.2 处理器流水线中的乱序 83

6.3 处理器流水线中的反压 84

6.4 处理器流水线中的冲突 84

6.4.1  流水线中的资源冲突 84

6.4.2  流水线中的数据冲突 85

6.5 蜂鸟E200处理器的流水线 86

6.5.1  流水线总体结构 86

6.5.2  流水线中的冲突 87

6.6 总结 87

7章  万事开头难吗—— *切从取指令开始 88

7.1 取指概述 89

7.1.1  取指特点 89

7.1.2  如何快速取指 90

7.1.3  如何处理非对齐指令 91

7.1.4  如何处理分支指令 92

7.2 RISC-V架构特点对于取指的简化 97

7.2.1  规整的指令编码格式 97

7.2.2  指令长度指示码放于低位 97

7.2.3  简单的分支跳转指令 98

7.2.4  没有分支槽指令 100

7.2.5  提供明确的静态分支预测依据 100

7.2.6  提供明确的RAS依据 101

7.3 蜂鸟E200处理器的取指实现 101

7.3.1  IFU总体设计思路 102

7.3.2  Mini-Decode 103

7.3.3  Simple-BPU分支预测 105

7.3.4  PC生成 109

7.3.5  访问ITCM和BIU 111

7.3.6  ITCM 115

7.3.7  BIU 116

7.4 总结 116

8章  一鼓作气,执行力是关键——执行 117

8.1 执行概述 118

8.1.1  指令译码 118

8.1.2  指令执行 118

8.1.3  流水线的冲突 119

8.1.4  指令的交付 119

8.1.5  指令发射、派遣、执行、写回的顺序 119

8.1.6  分支解析 121

8.1.7  小结 121

8.2 RISC-V架构特点对于执行的简化 121

8.2.1  规整的指令编码格式 122

8.2.2  优雅的16位指令 122

8.2.3  精简的指令个数 122

8.2.4  整数指令都是两操作数 122

8.3 蜂鸟E200处理器的执行实现 123

8.3.1  执行指令列表 123

8.3.2  EXU总体设计思路 123

8.3.3  译码 124

8.3.4  整数通用寄存器组 130

8.3.5  CSR寄存器 133

8.3.6  指令发射派遣 134

8.3.7  流水线冲突、长指令和OITF 139

8.3.8  ALU 145

8.3.9  高性能乘除法 157

8.3.10  浮点单元 158

8.3.11  交付 159

8.3.12  写回 159

8.3.13  协处理器扩展 160

8.3.14  小结 160

9章  善始者实繁,克终者盖寡——交付 161

9.1 处理器交付、取消、冲刷 162

9.1.1  处理器交付、取消、冲刷简介 162

9.1.2  处理器交付常见实现策略 163

9.2 RISC-V架构特点对于交付的简化 164

9.3 蜂鸟E200处理器交付硬件实现 164

9.3.1  分支预测指令的处理 165

9.3.2  中断和异常的处理 168

9.3.3  多周期执行指令的交付 169

9.3.4  小结 169

10章  让飞一会儿——写回 170

10.1 处理器的写回 171

10.1.1  处理器写回功能简介 171

10.1.2  处理器写回常见策略 171

10.2 蜂鸟E200处理器的写回硬件实现 171

10.2.1  *终写回仲裁 172

10.2.2  OITF和长指令写回仲裁 174

10.2.3  小结 177

11章  哈弗还是比亚迪——存储器架构 178

11.1 存储器架构概述 179

11.1.1  谁说处理器*定要有缓存 179

11.1.2  处理器*定要有存储器 180

11.1.3  ITCM和DTCM 182

11.2 RISC-V架构特点对于存储器访问指令的简化 183

11.2.1  仅支持小端格式 183

11.2.2  无地址自增自减模式 183

11.2.3  无“一次读多个数据”和“一次写多个数据”指令 183

11.3 RISC-V架构的存储器相关指令 184

11.3.1  Load和Store指令 184

11.3.2  Fence指令 184

11.3.3  “A”扩展指令 184

11.4 蜂鸟E200处理器存储



芯片验证漫游指南——从理论到UVM的验证全视界

内容简介

**验证专家刘斌(路桑)向您全面介绍芯片验证,从验证的理论,到SystemVerilog语言和UVM验证方法学,再到**验证项目话题。这本综合性、实用性的验证理论和编程方面的图书,针对芯片验证领域不同级别的验证工程师,给出由浅入深的技术指南:学习验证理论来认识验证流程和标准,学习SystemVerilog语言和UVM方法学来掌握目前主流的动态验证技术,了解**验证话题在今后遇到相关问题时可以参考。

目录

第1章  芯片验证全视

  1.1  功能验证简介

  1.2  验证的处境

    1.2.1  验证语言的发展

    1.2.2  验证面临的挑战

  1.3  验证能力的5个维度

    1.3.1  完备性

    1.3.2  复用性

    1.3.3  **性

    1.3.4  高产出

    1.3.5  代码性能

  1.4  验证的任务和目标

    1.4.1  按时保质低耗

    1.4.2  芯片研发与客户反馈

    1.4.3  缺陷增长曲线

  1.5  验证的周期

    1.5.1  验证周期中的检查点

    1.5.2  功能详述

    1.5.3  制定验证计划

    1.5.4  开发验证环境

    1.5.5  调试环境和HDL文件

    1.5.6  回归测试

    1.5.7  芯片生产

    1.5.8  硅后测试

    1.5.9  逃逸分析

  1.6  本章结束语

第2章  验证的策略

  2.1  设计的流程

    2.1.1  TLM模型的需求和ESL开发

    2.1.2  传统的设计流程

    2.1.3  ESL设计流程

    2.1.4  语言的抽象级比较

    2.1.5  传统的集成视角

    2.1.6  ESL集成视角

  2.2  验证的层次

    2.2.1  模块级

    2.2.2  子级

    2.2.3  芯片级

    2.2.4  硅后级

  2.3  验证的透明度

    2.3.1  黑盒验证

    2.3.2  白盒验证

    2.3.3  灰盒验证

  2.4  激励的原则

    2.4.1  接口类型

    2.4.2  序列颗粒度

    2.4.3  可控性

    2.4.4  组件独立性

    2.4.5  组合自由度

  2.5  检查的方法

  2.6  集成的环境

    2.6.1  验证平台

    2.6.2  待验设计

    2.6.3  运行环境

    2.6.4  验证管理

  2.7  本章结束语

第3章  验证的方法

  3.1  动态仿真

    3.1.1  定向测试

    3.1.2  随机测试

    3.1.3  基于覆盖率驱动的随机验证

    3.1.4  基于TLM的随机验证

    3.1.5  断言检查

  3.2  静态检查

    3.2.1  语法检查

    3.2.2  语义检查

    3.2.3  跨时钟域检查

    3.2.4  形式验证

  3.3  开发环境

    3.3.1  Vim开发环境

    3.3.2  商业SV开发环境——DVT

  3.4  虚拟模型

  3.5  硬件加速

  3.6  效能验证

    3.6.1  功率和能量

    3.6.2  静态功耗和动态功耗

    3.6.3  节能技术

    3.6.4  效能验证

    3.6.5  功耗预测与优化

  3.7  性能验证

    3.7.1  设定目标

    3.7.2  测试环境

    3.7.3  验证方法

  3.8  趋势展望

    3.8.1  技术之间的横向跨越

    3.8.2  层次之间的纵向复用

  3.9  本章结束语

第4章  验证的计划

  4.1  计划概述

  4.2  计划的内容

    4.2.1  技术的视角

    4.2.2  项目的视角

  4.3  计划的实现

    4.3.1  邀请相关人员

    4.3.2  开会讨论

    4.3.3  确定测试场景.........


用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou 等,本站所有链接都为正版商品购买链接。

© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有