現貨正版 手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 從理論到UVM的驗證

現貨正版 手把手教你設計CPU RISC-V處理器篇+芯片驗證漫遊指南 從理論到UVM的驗證 pdf epub mobi txt 电子书 下载 2025

鬍振波,劉斌 著
想要找书就要到 求知書站
立刻按 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 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有