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

陳宏銘,程玉華

  • 出版商: 電子工業
  • 出版日期: 2020-12-01
  • 售價: $588
  • 貴賓價: 9.5$559
  • 語言: 簡體中文
  • 頁數: 388
  • 裝訂: 平裝
  • ISBN: 712140141X
  • ISBN-13: 9787121401411
  • 相關分類: FPGARISC-V
  • 立即出貨

買這商品的人也買了...

商品描述

本書將線下的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-Ⅴ的歷史和機遇
1.1 RISC-Ⅴ發明團隊與歷史
1.1.1 商業公司的指令集架構載浮載沉
1.1.2 RISC-Ⅴ指令集架構有什麼不同
1.1.3 RISC-Ⅴ發展史及其標誌性事件
1.2 RISC-Ⅴ基金會成長的歷史
1.2.1 RISC-Ⅴ基金會的成員介紹
1.2.2 RISC-Ⅴ基金會推動20個重點領域的技術
1.2.3 RISC-Ⅴ基金會標準制定過程及工作群組機制
1.2.4 RISC-Ⅴ國際協會的誕生
1.3 RISC-Ⅴ的生態系統
1.3.1 RISC-Ⅴ的開發板和生態系統
1.3.2 部分RISC-Ⅴ社區生態的支持廠商
1.3.3 芯片設計業界的RISC-Ⅴ產品進展
1.4 SiFive研發團隊技術沿革
1.4.1 Rocket Chip SoC生成器
1.4.2 使用Chisel語言編寫Rocket Chip生成器
1.4.3 Rocket標量處理器
1.4.4 SiFive強力推動RISC-Ⅴ生態發展

第2章 RISC-Ⅴ指令集體系架構介紹
2.1 引言
2.2 RISC-Ⅴ架構特性
2.2.1 簡潔性
2.2.2 模塊化
2.3 指令格式
2.3.1 指令長度編碼
2.3.2 指令格式
2.4 寄存器列表
2.4.1 通用寄存器
2.4.2 控制和狀態寄存器
2.4.3 程序計數器
2.5 地址空間與尋址模式
2.5.1 地址空間
2.5.2 小端格式
2.5.3 尋址模式
2.6 內存模型
2.7 特權模式
2.8 中斷和異常
2.8.1 中斷和異常概述
2.8.2 RISC-Ⅴ機器模式下的中斷架構
2.8.3 機器模式下中斷和異常的處理過程
2.9 調試規範
2.10 RISC-Ⅴ未來的擴展子集
2.10.1 B標準擴展:位操作
2.10.2 H特權態架構擴展:支持管理程序(Hypervisor)
2.10.3 J標準擴展:動態翻譯語言
2.10.4 L標準擴展:十進制浮點
2.10.5 N標準擴展:用戶態中斷
2.10.6 P標準擴展:封裝的單指令多數據(Packed-SIMD)指令
2.10.7 Q標準擴展:四精度浮點
2.10.8 V標準擴展:基本矢量擴展
2.11 RISC-Ⅴ指令列表
2.11.1 I指令子集
2.11.2 M指令子集
2.11.3 A指令子集
2.11.4 F指令子集
2.11.5 D指令子集
2.11.6 C指令子集

第3章 現場可編程邏輯門陣列(FPGA)設計流程
3.1 Xilinx FPGA概述與設計流程
3.1.1 Xilinx FPGA的基本結構
3.1.2 Diligent Nexys A7 FPGA開發平台介紹
3.1.3 FPGA的設計流程
3.2 Xilinx Vivado集成環境安裝與開發流程
3.2.1 Vivado集成環境的安裝
3.2.2 Vivado集成環境的開發流程

第4章 SiFive Freedom E300 SoC的原理與實驗
4.1 Verilog HDL簡介
4.1.1 數據類型
4.1.2 數據表示
4.1.3 運算符及表達式
4.1.4 Verilog HDL常用語法
4.1.5 系統函數和任務
4.1.6 Verilog HDL規範
4.1.7 用於Verilog HDL設計的Xilinx 7系列 FPGA原語使用方法
4.1.8 小結
4.2 Chisel HCL簡介
4.2.1 環境安裝
4.2.2 Scala編程語言快訓
4.2.3 Chisel硬件構造語言快訓
4.2.4 小結
4.3 SiFive Freedom E300平台架構介紹
4.3.1 E31 RISC-Ⅴ內核概述
4.3.2 中斷架構
4.3.3 內核本地中斷器(CLINT)
4.3.4 調試支持
4.3.5 SiFive TileLink總線介紹
4.4 SiFive Freedom E300在Nexys A7上的開發流程
4.4.1 SiFive Freedom SoC生成器簡介
4.4.2 Verilog IP集成方法與開發流程
4.4.3 Freedom E300在Nexys A7上的開發流程

第5章 SiFive E21處理器和SoC設計雲平台的原理與實驗
5.1 SiFive E21處理器
5.1.1 縮略語和術語列表
5.1.2 E21 RISC-Ⅴ內核概述
5.1.3 內存映射
5.1.4 中斷架構
5.1.5 內核本地中斷器
5.1.6 調試支持
5.1.7 使用E21內核評估套件
5.2 Coffee-HDL語言簡介
5.2.1 開發Coffee-HDL語言的動機
5.2.2 文件和模塊
5.2.3 語言要素
5.2.4 數據類型
5.2.5 操作符
5.2.6 位選擇和部分選擇
5.2.7 表達式
5.2.8 語句
5.2.9 函數
5.2.10 LRU算法模塊設計示例
5.2.11 E21_SOC_FPGA集成模塊設計示例
5.3 ezchip® SoC在線設計雲平台
5.3.1 IC Studio主界面佈局
5.3.2 IC Studio的使用
5.3.3 ezchip®可配置制模塊
5.3.4 生成代碼
5.3.5 基於SiFive E21處理器的SoC設計實驗
5.3.6 基於SiFive E21處理器的FPGA驗證實驗

第6章 RT-Thread實時多任務操作系統的原理與應用
6.1 SiFive Freedom Studio集成開發調試環境安裝與介紹
6.1.1 Freedom Studio簡介與安裝
6.1.2 啟動Freedom Studio
6.1.3 創建sifive-welcome項目
6.1.4 配置sifive-welcome項目
6.1.5 編譯sifive-welcome項目
6.1.6 運行sifive-welcome項目
6.1.7 調試程序
6.2 移植RT-Thread實時多任務操作系統的原理
6.2.1 嵌入式操作系統概述
6.2.2 RT-Thread實時多任務操作系統介紹
6.2.3 RT-Thread的底層結構與移植
6.3 RT-Tread的UART驅動結構分析、移植及應用
6.3.1 RT-Tread外設驅動
6.3.2 UART驅動結構分析
6.3.3 UART的移植與應用
6.4 完成RT-Thread實時操作系統的編譯與運行
6.4.1 工具準備
6.4.2 修改路徑與代碼
6.4.3 文件編譯
6.4.4 文件燒錄

附錄A 虛擬機與Ubuntu Linux操作系統的安裝
附錄B 基於Nexys A7貪吃蛇遊戲的設計與實現
參考文獻
反侵權盜版聲明