軟/硬件協同設計(原書第2版) 软/硬件协同设计(原书第2版)

帕特裡克 R.肖蒙 (Patrick R.Schaumont)

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

商品描述

 

<內容簡介>

《軟/硬件協同設計(原書第2版)》全面、深入地探討軟/硬件協同設計的4個主題:基礎概念、自定義體系結構的設計空間、軟/硬件接口和應用實例。首先介紹軟/硬件的概念與性質、數據流系統的穩定性分析、將數據流模型實現為硬件和軟件、帶數據路徑的有限狀態機、微程序的系統結構、通用的嵌入式RISC內核,以及將通用嵌入式內核集成在片上系統(SoC)的FSMD模塊中。其次描述軟/硬件通信的核心概念、片上總線的結構、微處理器接口,以及把硬件模塊封裝到一個預定義的軟/硬件接口的設計技術。最後給出3個軟/硬件協同設計的應用實例,涉及Trivium流密碼算法協處理器、AES協處理器以及CORDIC協處理器。

 

<章節目錄>

出版者的話
前言
第一部分基本概念
第1章何為硬件,何為軟件
1.1軟/硬件協同設計簡介
1.1.1硬件
1.1.2軟件
1.1.3硬件與軟件
1.1.4定義軟/硬件協同設計
1.2探求高能效
1.2.1性能
1.2.2能效
1.3軟/硬件協同設計的驅動因素
1.4軟/硬件協同設計的空間
1.4.1平臺的設計空間
1.4.2應用的映射
1.5軟、硬件設計的二重性
1.6抽象層次的建模
1.7並發與並行
1.8小結
1.9擴展閱讀
1.10問答題
第2章數據流建模與變換
2.1數據流圖介紹
2.1.1令牌、參與者、隊列
2.1.2觸發率、觸發規則、調度
2.1 .3同步數據流圖
2.1.4SDF圖的確定性
2.2剖析SDF圖
2.2.1構建週期性容許順序調度方案(PASS)
2.2.2實例:構建一個PAM—4系統的PASS
2.3控制流建模以及數據流建模的局限
2.3.1以SDF語義模擬控制流
2.3.2擴展SDF語義
2.4添加時間與資源
2.4.1實時性限制與輸入/輸出採樣率
2.4.2數據流的資源模型
2.4.3對吞吐量的限制
2.5設計轉換
2.5.1多速率擴展
2.5.2重定時
2.5.3流水線
2.5.4鋪展
2.6數據流建模小結
2.7擴展閱讀
2.8問答題
第3章數據流的軟件與硬件實現
3.1數據流的軟件實現
3.1.1隊列和參與者的軟件實現
3.1.2基於動態調度器的軟件實現
3.1.3實例:四點快速傅里葉變換的SDF表示
3.1.4基於靜態調度的順序觸發
3.2數據流的硬件實現
3.2.1單速率SDF圖的硬件實現
3.2.2流水線
3.3數據流的軟/硬件結合實現
3.4小結
3.5擴展閱讀
3.6問答題
第4章數據流與控制流分析
4.1C程序的數據邊與控制邊
4.2數據邊與控制邊的實現
4.3構建控制流圖
4.4構建數據流圖
4.5應用實例:C程序的硬件轉換
4.5.1數據通路的設計
4.5.2控制電路的設計
4.6單賦值程序
4.7小結
4.8擴展閱讀
4.9問答題
第二部分自定義體系結構的設計空間
第5章FSMD
5.1基於時鐘週期的位並行硬件
5.1.1連線和寄存器
5.1.2精度和符號
5.1.3表達式的硬件映射
5.2硬件模塊
5.3有限狀態機
5.4FSMD簡介
5.4.1建模
5.4.2FSMD模型:兩個堆疊的FSM
5.4.3FSMD的不唯一性
5.4.4實現
5.5FSMD設計實例:一個中位數處理器
5.5.1設計規範:計算中位數
5.5.2映射中位數模型到硬件
5.5.3數據輸入的序列化
5.5.4完全順序化的計算
5.6恰當的FSMD
5.7FSMD的語言映射實例
5.7.1GEZEL語言的GCD
5.7.2Verilog語言的GCD
5.7.3VHDL語言的GCD
5.7.4SystemC語言的GCD
5.8小結
5.9擴展閱讀
5.10問答題
第6章微程序的體系結構
6.1有限狀態機的局限性
6.1.1狀態激增
6.1.2異常的處理
6.1 .3運行時的靈活性
6.2微程序的控制
6.3微指令的編碼
6.3.1轉移域
6.3.2命令域
6.4微程序的數據通路
6.4.1數據通路的體系結構
6.4.2撰寫微程序
6.5實現微程序機
6.6微程序的解釋器
6.7微程序的流水線
6.7.1微指令寄存器
6.7.2數據通路的條件碼寄存器
6.7.3流水線的下一個地址邏輯
6.8微控制器中的微程序設計
6.8.1系統結構
6.8.2實例:Bresenham直線演算法
6.9小結
6.10擴展閱讀
6.11問答題
第7章通用嵌入式核
7.1處理器
7.1.1典型微處理器的工具鏈
7.1.2從C程序到彙編指令
7.2RISC的流水線
7.2.1控制冒險
7.2.2數據冒險
7.2.3結構冒險
7.3程序的組織
7.3.1數據類型
7.3.2存儲器層次結構中的變量
7.3.3函數的調用
7.3.4程序的佈局
7.4編譯器工具
7.4.1大小檢查
7.4.2段檢查
7.4.3彙編代碼檢查
7.5低級程序分析
7.6處理器的模擬
7.6.1指令集的模擬
7.6.2基於目標代碼執行的分析
7.6.3低抽象級模擬
7.7小結
7.8擴展閱讀
7.9問答題
第8章SoC
8.1SoC的概念
8.1.1角色的分配
8.1.2SoC與自定義硬件的接口
8.2SoC體系結構的四個設計原則
8.2.1異構分佈式數據處理
8.2.2異構分佈式通信
8.2.3異構分佈式存儲
8.2.4分層控制
8.3實例:便攜式多媒體系統
8.4SoC的GEZEL建模
8.4.1一個帶有StrongARM核的片上系統
8.4.2帶有8051核的乒乓緩存
8.4.3AVRATMega28上的UART
8.5小結
8.6擴展閱讀
8.7問答題
第三部分軟/硬件接口
第9章軟/硬件通信原理
9.1連接軟件和硬件
9.2同步化方案
9.2.1同步化概念
9.2.2信號量
9.2.3單向與雙向交握
9.2.4阻塞、非阻塞式傳輸
9.3通信限制與計算限制
9.4緊耦合與松耦合
9.5小結
9.6擴展閱讀
9.7問答題
第10章片上總線
10.1片上總線系統
10.1. 1幾個現今的片上總線標準
10.1.2共享總線上的元件
10.1.3點到點總線上的元件
10.1.4片上總線的物理實現
10.1.5總線命名的約定
10.1.6總線的時序圖
10.1. 7通用總線的定義
10.2總線傳輸
10.2.1簡單的讀寫傳輸
10.2.2傳輸數據的大小和字節順序
10.2.3改進的總線傳輸
10.3多個主設備的總線系統
10.3.1總線的優先級
10.3 .2總線鎖定
10.4總線的拓撲結構
10.4.1總線開關
10.4.2片上網絡
10.5小結
10.6擴展閱讀
10.7問答題
第11章微處理器接口
11.1內存映射接口
11.1.1內存映射寄存器
11.1.2信箱
11.1. 3FIFO隊列
11.1.4主從式交握
11.1.5共享內存
11.1.6內存映射接口的GEZEL建模
11.2協處理器接口
11.2.1快速單工鏈路
11.2.2LEON—3浮點協處理器接口
11.3自定義指令接口
11.3.1ASIP設計流程
11.3.2實例:端字節序處理器
11.3.3實例:Nios—II自定義指令接口
11.3.4尋找合適的ASIP指令
11.4小結
11.5擴展閱讀
11.6問答題
第12章硬件接口
12.1協處理器的硬件接口
12.1.1協處理器硬件接口的功能
12.1.2處理器接口的佈局
12.2數據設計
12.2.1靈活的尋址機制
12.2.2復用和掩碼
12.3控制設計
12.3.1層次控制
12.3.2內部流水線的控制
12.4編程模型=控制設計+數據設計
12.4.1地址映射
12.4.2指令集
12.5小結
12.6擴展閱讀
12.7問答題
第四部分應用實例
第13章Trivium密碼協處理器
13.1Trivium流密碼算法
13.1.1流密碼
13.1.2Trivium
13.1.3Trivium的硬件映射
13.1.4Trivium的硬件測試平臺
13.28位平臺上的TRIvium
13.2.18051協處理器的總體設計
13.2.28051協處理器的硬件平臺
13.2.38051的軟件驅動程序
13.332位平臺上的Truvium
13.3.1存儲器映射接口的硬件平臺
13.3.2存儲器映射接口的軟件驅動程序
13.3.3自定義指令接口的硬件平臺
13.3.4自定義指令接口的軟件驅動程序
13.4小結
13.5擴展閱讀
13.6問答題
第14章AES協處理器
14.1AES加密和解密
14.2AES加密協處理器的存儲映射
14.2.1硬件的接口操作
14.2.2編程模型
14.2.3軟件驅動程序的設計
14.2.4硬件接口設計
14.2.5系統性能評估
14.3帶自定義指令的AES加/解密
14.3.1AEST盒的參考實現
14.3.2AEST盒的自定義指令設計
14.3.3在GEZEL中AEST盒的自定義指令設計
14.3.4AEST盒的軟件集成和性能
14.4小結
14.5擴展閱讀
14.6問答題
第15章CORDIC協處理器
15.1坐標旋轉數字計算機算法
15.1.1算法
15.1.2C語言的參考實現
15.2CORDIC的硬件協處理器
15.2.1CORDIC硬件核
15.2.2快速單工鏈路協處理器的硬件接口
15.3CORDIC協處理器的FPGA原型
15.4大量旋轉問題的處理
15.5小結
15.6擴展閱讀
15.7問答題
附錄AGEZEL軟件實踐
參考文獻

 

<作者介紹>

作者:(美國)帕特裡克R.肖蒙(Patrick R.Schaumont) 譯者:王奕於恆楊勝齊哈亞軍