-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
2/9 新書到! 2/2 新書到! 1/26 新書到! 1/19 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

RISC-V處理器與片上系統設計----基于FPGA與云平臺的實驗教程

( 簡體 字)
作者:陳宏銘,程玉華類別:1. -> 電子工程 -> FPGA
譯者:
出版社:電子工業出版社RISC-V處理器與片上系統設計----基于FPGA與云平臺的實驗教程 3dWoo書號: 53874
詢問書籍請說出此書號!

有庫存
NT定價: 490
折扣價: 392

出版日:12/1/2020
頁數:388
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121401411
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
作者序:

譯者序:

前言:

晶體管和集成電路是人類科技史上上最偉大的發明,集成電路及嵌入集成電路的軟件,支撐著全球每年數以萬億計電子信息產品,支撐著數以十萬億計的電信運營服務,支撐著數以百萬億計的電子信息服務,更支撐著當今的信息社會。以處于電子信息產業鏈最上游集成電路為例,全球每年約有4500億美元的產值。集成電路已經成為產業的基礎、國家安全的核心,知識產權的有效載體。
中國是世界電子產品生產大國,在生產了全球90%的電腦、移動電話,80%的冰箱彩電等家用電器的同時,中國也消耗了全球大約60%的集成電路產品。在新的國際環境下,中國對集成電路產業的需求面臨著前所未有的壓力。眾所周知,人才的規模和質量決定了集成電路產業的規模和質量。在發展集成電路領域,我國追趕國際先進的過程中面臨各種挑戰,有過輝煌也有過挫折,但仍堅定不移地走到了今天。人才短缺問題始終是其中一個突出問題,這體現在集成電路行業的各個領域,包括最近由風靡一時的RISC-V所引發的嵌入式CPU設計領域。
誕生于加州大學伯克利分校的RISC-V,是一種基于精簡指令集(RISC)原則的開源指令集架構(ISA),其開源的風格讓工業界低成本使用該指令集架構成為可能。RISC-V正在掀起一場嵌入式芯片系統設計革命,與其他處理器架構相比,RISC-V最大的不同在于它在短小精悍的同時還是一個模塊化的架構。模塊化的RISC-V架構使得用戶能夠自主選擇和設計不同組合,以滿足各種各樣的應用場景。這種指令集兼具精簡和靈活兩大特點,其豐富的拓展性和可定制性得到了業界廣泛的認可。同時由于RISC-V開源的特點,還使其更能抵御國際政治的沖擊,為當今世界錯綜復雜的特殊時期的指令集架構的發展開辟了一條備選之路。
國內RISC-V發展同樣面臨著人才短缺問題。人才的培養需要大家一起努力。賽昉科技公司的陳宏銘博士和北京大學程玉華教授編著了《RISC-V處理器與片上系統設計——基于FPGA與云平臺的實驗教程》,它不但凝聚了作者在集成電路領域多年的工作和教育經驗,更是為行業和技術發展做出貢獻,也是對集成電路人才培養的貢獻。基于此書開展RISC-V相關教學,可以幫助更多年輕人走上迅速處理器設計之路,助力建成健康的RISC-V行業生態。
書籍是知識的載體,是人類最好的朋友與前進的階梯,黑白相襯的筆墨間,凝聚著歷史長河中一個個精彩瞬間,蘊含著前人嘔心瀝血的技術哲理與思想。一本優秀的書籍,仿若沙漠中的一眼清泉,直探思緒深處,滋潤干涸的求知之心,《RISC-V處理器與片上系統設計——基于FPGA與云平臺的實驗教程》正是這樣一本承載著專業知識的好書。作者利用深入淺出的方式對RISC-V的前世今生和基于內核的軟硬件開發進行了系統且全面的講解,體現了作者的專業技能和將專業知識進行通俗化表述的能力,非常適合在校師生和年輕工程師進行系統級設計的學習。與此同時,作者還將自身的經驗體會和設計思想融入其中,這對有志于走上集成電路行業的年輕人起到很好的啟蒙和引領作用。此外,書中還包含了作者所在單位的原創性案例,讓讀者有機會“觸摸”前沿技術。目前在國內用中文寫作的專門介紹RISC-V技術的書籍較少,我相信這本書的出版一定會受到廣大學生、科研工作者與MCU創客愛好者等的熱情歡迎。同時我也希望本書能夠進一步推動中國包括RISC-V在內的CPU指令集體系結構的加速發展,為中國集成電路產業培育更多有志于造“芯”的青年才俊,促進我國集成電路產業和科學技術的發展。

王志華2020年夏于北京清華園
內容簡介:

本書將線下的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-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 Studio 300
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
參考文獻
序: