注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡(luò)硬件、外部設(shè)備與維護RISC-V處理器與片上系統(tǒng)設(shè)計:基于FPGA與云平臺的實驗教程

RISC-V處理器與片上系統(tǒng)設(shè)計:基于FPGA與云平臺的實驗教程

RISC-V處理器與片上系統(tǒng)設(shè)計:基于FPGA與云平臺的實驗教程

定 價:¥98.00

作 者: 暫缺
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121401411 出版時間: 2020-12-01 包裝: 平裝
開本: 16開 頁數(shù): 388 字數(shù):  

內(nèi)容簡介

  本書將線下的FPGA開發(fā)板與線上的云平臺結(jié)合,完成基于開源RISC-V處理器的SiFive Freedom E300片上系統(tǒng),以及E21處理器配合云平臺設(shè)計方法的相關(guān)實驗教程。并用Chisel編程的方式與FPGA硬件,完成國產(chǎn)RT-Thread操作系統(tǒng)驗證的移植。全書包含三大部分內(nèi)容:首先講述了基于實驗所用Digilent Nexys板級硬件設(shè)計平臺和Vivado開發(fā)工具。其次是介紹Verilog HDL、Chisel HCL和一種由國內(nèi)自主開發(fā)的Coffee-HDL這三種硬件描述語言。*后是三種實驗教程的設(shè)計與實現(xiàn)方法,包含開源的SiFive Freedom E300片上系統(tǒng)的實驗;以英偉達開源的深度學習硬件架構(gòu)NVDLA為例,介紹如何在Freedom E300平臺上集成Verilog IP的方法及介紹SiFive E21處理器IP的使用方式與國內(nèi)自主開發(fā)云端SoC開發(fā)平臺的實驗;移植國內(nèi)自主開發(fā)RT-Thread實時多任務(wù)操作系統(tǒng)的原理與應(yīng)用到SiFive Freedom E300片上系統(tǒng)的實驗。

作者簡介

  陳宏銘博士擁有超過二十年的半導體相關(guān)行業(yè)經(jīng)驗,目前擔任上海賽昉科技的技術(shù)市場資深總監(jiān)。特別專注于物聯(lián)網(wǎng)、人工智能、超算與RISC-V處理器等領(lǐng)域的技術(shù)趨勢,負責協(xié)助中國大陸與港澳臺的客戶。在加入上海賽昉科技之前,陳博士曾擔任創(chuàng)意電子的華東區(qū)業(yè)務(wù)總監(jiān)以及智原科技的技術(shù)與市場總監(jiān),負責評估客戶設(shè)計與市場規(guī)劃。更早前還擔任過明導國際亞太區(qū)產(chǎn)品專家,益華電腦應(yīng)用工程師與聯(lián)陽半導體數(shù)字設(shè)計工程師。__eol__陳博士于臺灣清華大學獲得了電機工學學士與微電子專業(yè)工學碩士學位,在北京大學獲得了微電子專業(yè)理學博士學位。同時也擔任武漢大學電子信息學院兼職教授,江南大學物聯(lián)網(wǎng)工程學院企業(yè)講師,教授本科生有關(guān)芯片設(shè)計、制造、封測與RISC-V處理器相關(guān)的入門知識。

圖書目錄

第1章 RISC-V的歷史和機遇 1
1.1 RISC-V發(fā)明團隊與歷史 1
1.1.1 商業(yè)公司的指令集架構(gòu)載浮載沉 4
1.1.2 RISC-V指令集架構(gòu)有什么不同 6
1.1.3 RISC-V發(fā)展史及其標志性事件 7
1.2 RISC-V基金會成長的歷史 8
1.2.1 RISC-V基金會的成員介紹 9
1.2.2 RISC-V基金會推動20個重點領(lǐng)域的技術(shù) 11
1.2.3 RISC-V基金會標準制定過程及工作群組機制 12
1.2.4 RISC-V國際協(xié)會的誕生 13
1.3 RISC-V的生態(tài)系統(tǒng) 13
1.3.1 RISC-V的開發(fā)板和生態(tài)系統(tǒng) 14
1.3.2 部分RISC-V社區(qū)生態(tài)的支持廠商 18
1.3.3 芯片設(shè)計業(yè)界的RISC-V產(chǎn)品進展 22
1.4 SiFive研發(fā)團隊技術(shù)沿革 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生態(tài)發(fā)展 28
第2章 RISC-V指令集體系架構(gòu)介紹 32
2.1 引言 32
2.2 RISC-V架構(gòu)特性 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 控制和狀態(tài)寄存器 38
2.4.3 程序計數(shù)器 39
2.5 地址空間與尋址模式 39
2.5.1 地址空間 39
2.5.2 小端格式 40
2.5.3 尋址模式 40
2.6 內(nèi)存模型 40
2.7 特權(quán)模式 41
2.8 中斷和異常 42
2.8.1 中斷和異常概述 42
2.8.2 RISC-V機器模式下的中斷架構(gòu) 42
2.8.3 機器模式下中斷和異常的處理過程 43
2.9 調(diào)試規(guī)范 44
2.10 RISC-V未來的擴展子集 45
2.10.1 B標準擴展:位操作 45
2.10.2 H特權(quán)態(tài)架構(gòu)擴展:支持管理程序(Hypervisor) 45
2.10.3 J標準擴展:動態(tài)翻譯語言 45
2.10.4 L標準擴展:十進制浮點 46
2.10.5 N標準擴展:用戶態(tài)中斷 46
2.10.6 P標準擴展:封裝的單指令多數(shù)據(jù)(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章 現(xiàn)場可編程邏輯門陣列(FPGA)設(shè)計流程 60
3.1 Xilinx FPGA概述與設(shè)計流程 60
3.1.1 Xilinx FPGA的基本結(jié)構(gòu) 61
3.1.2 Diligent Nexys A7 FPGA開發(fā)平臺介紹 63
3.1.3 FPGA的設(shè)計流程 64
3.2 Xilinx Vivado集成環(huán)境安裝與開發(fā)流程 67
3.2.1 Vivado集成環(huán)境的安裝 68
3.2.2 Vivado集成環(huán)境的開發(fā)流程 76
第4章 SiFive Freedom E300 SoC的原理與實驗 92
4.1 Verilog HDL語言簡介 92
4.1.1 數(shù)據(jù)類型 93
4.1.2 數(shù)據(jù)表示 95
4.1.3 運算符及表達式 96
4.1.4 Verilog HDL常用語法 101
4.1.5 系統(tǒng)函數(shù)和任務(wù) 106
4.1.6 Verilog HDL語言規(guī)范 111
4.1.7 用于Verilog HDL設(shè)計的Xilinx 7系列 FPGA原語使用方法 118
4.1.8 小結(jié) 128
4.2 Chisel HCL語言簡介 129
4.2.1 環(huán)境安裝 130
4.2.2 Scala編程語言快訓 132
4.2.3 Chisel硬件構(gòu)造語言快訓 138
4.2.4 小結(jié) 162
4.3 SiFive Freedom E300平臺架構(gòu)介紹 162
4.3.1 E31 RISC-V內(nèi)核概述 164
4.3.2 中斷架構(gòu) 170
4.3.3 內(nèi)核本地中斷器(CLINT) 175
4.3.4 調(diào)試支持 176
4.3.5 SiFive TileLink總線介紹 181
4.4 SiFive Freedom E300在Nexys A7上的開發(fā)流程 204
4.4.1 SiFive Freedom SoC生成器簡介 204
4.4.2 Verilog IP集成方法與開發(fā)流程 210
4.4.3 Freedom E300在Nexys A7上的開發(fā)流程 215
第5章 SiFive E21處理器和SoC設(shè)計云平臺的原理與實驗 222
5.1 SiFive E21處理器 222
5.1.1 縮略語和術(shù)語列表 223
5.1.2 E21 RISC-V內(nèi)核概述 224
5.1.3 內(nèi)存映射 229
5.1.4 中斷架構(gòu) 229
5.1.5 內(nèi)核本地中斷器 236
5.1.6 調(diào)試支持 240
5.1.7 使用E21內(nèi)核評估套件 245
5.2 Coffee-HDL語言簡介 258
5.2.1 開發(fā)Coffee-HDL語言的動機 258
5.2.2 文件和模塊 259
5.2.3 語言要素 261
5.2.4 數(shù)據(jù)類型 262
5.2.5 操作符 263
5.2.6 位選擇和部分選擇 264
5.2.7 表達式 264
5.2.8 語句 265
5.2.9 函數(shù) 267
5.2.10 LRU算法模塊設(shè)計示例 267
5.2.11 E21_SOC_FPGA集成模塊設(shè)計示例 269
5.3 ezchip? SoC在線設(shè)計云平臺 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設(shè)計實驗 280
5.3.6 基于SiFive E21 處理器的FPGA驗證實驗 285
第6章 RT-Thread實時多任務(wù)操作系統(tǒng)的原理與應(yīng)用 298
6.1 SiFive Freedom Studio集成開發(fā)調(diào)試環(huán)境安裝與介紹 298
6.1.1 Freedom Studio簡介與安裝 298
6.1.2 啟動Freedom Studio 300
6.1.3 創(chuàng)建sifive-welcome項目 301
6.1.4 配置sifive-welcome項目 303
6.1.5 編譯sifive-welcome項目 305
6.1.6 運行sifive-welcome項目 306
6.1.7 調(diào)試程序 312
6.2 移植RT-Thread實時多任務(wù)操作系統(tǒng)的原理 313
6.2.1 嵌入式操作系統(tǒng)概述 313
6.2.2 RT-Thread實時多任務(wù)操作系統(tǒng)介紹 315
6.2.3 RT-Thread的底層結(jié)構(gòu)與移植 317
6.3 RT-Tread的UART驅(qū)動結(jié)構(gòu)分析、移植及應(yīng)用 322
6.3.1 RT-Tread外設(shè)驅(qū)動 322
6.3.2 UART驅(qū)動結(jié)構(gòu)分析 323
6.3.3 UART的移植與應(yīng)用 330
6.4 完成RT-Thread實時操作系統(tǒng)的編譯與運行 330
6.4.1 工具準備 331
6.4.2 修改路徑與代碼 331
6.4.3 文件編譯 333
6.4.4 文件燒錄 333
附錄A 虛擬機與Ubuntu Linux操作系統(tǒng)的安裝 335
A.1 虛擬機的安裝 335
A.1.1 虛擬機簡介 335
A.1.2 VMware安裝(以VMware15版本為例) 336
A.2 Ubuntu Linux操作系統(tǒng)安裝 337
A.2.1 Ubuntu簡介 337
A.2.2 Ubuntu虛擬機的下載和安裝 337
A.2.3 虛擬機信息 339
附錄B 基于Nexys A7貪吃蛇游戲的設(shè)計與實現(xiàn) 341
B.1 硬件設(shè)備概述 341
B.2 設(shè)計要求 342
B.3 硬件設(shè)計 342
B.4 任務(wù)設(shè)計 344
B.4.1 程序結(jié)構(gòu) 344
B.4.2 任務(wù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計 345
B.4.3 全局變量的使用 345
B.4.4 狀態(tài)機的使用 345
B.5 程序設(shè)計詳解 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 測試數(shù)據(jù) 355
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號