注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)硬件、外部設(shè)備與維護Embedded SoPC Design with Nios II Processor and Verilog Examples

Embedded SoPC Design with Nios II Processor and Verilog Examples

Embedded SoPC Design with Nios II Processor and Verilog Examples

定 價:¥99.00

作 者: Pong,P.Chu(曲邦平)
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121257735 出版時間: 2015-05-01 包裝:
開本: 16開 頁數(shù): 664 字?jǐn)?shù):  

內(nèi)容簡介

  《基于Nios II的嵌入式SoPC系統(tǒng)設(shè)計與Verilog開發(fā)實例》利用Altera FPGA開發(fā)板和Nios II軟核處理器,揭示了基于FPGA的嵌入式系統(tǒng)特有的硬件可編程性,采用“做中學(xué)”的模式,介紹了基于Verilog的嵌入式SoPC設(shè)計的基本概念和技術(shù)。本書通過許多實例說明軟、硬件的設(shè)計和開發(fā)過程,并給出了完整的代碼和豐富的實驗題目。

作者簡介

  金明錄教授,從1977年開始先后就讀于中國科學(xué)技術(shù)大學(xué)、北京航空航天大學(xué),獲得了學(xué)士、碩士和博士學(xué)位;畢業(yè)后先后在日本大阪大學(xué)、韓國仁荷大學(xué)、韓國電子技術(shù)研究院(KETI)、韓國電子通信研究院(ETRI)、澳大利亞西澳大學(xué)和美國Intel公司等訪問和工作。 現(xiàn)任大連理工大學(xué)電信學(xué)部教授,中國通信學(xué)會理事,遼寧省通信學(xué)會副理事長。

圖書目錄

第1章 嵌入式系統(tǒng)概述 1
1.1 引言 1
1.1.1 嵌入式系統(tǒng)定義 1
1.1.2 示例系統(tǒng) 1
1.2 系統(tǒng)設(shè)計需求 2
1.3 嵌入式SoPC系統(tǒng) 3
1.4 本書結(jié)構(gòu) 6
1.5 文獻注釋 6
第1部分 基本數(shù)字電路開發(fā)
第2章 門級組合電路 8
2.1 引言 8
2.2 總則 8
2.3 基本詞法元素和數(shù)據(jù)類型 9
2.4 數(shù)據(jù)類型 10
2.4.1 四值系統(tǒng) 10
2.4.2 數(shù)據(jù)類型組 10
2.4.3 數(shù)字的表示方法 11
2.4.4 運算符 12
2.5 程序框架 12
2.5.1 端口聲明 12
2.5.2 程序主體 13
2.5.3 信號聲明 13
2.5.4 另一個實例 14
2.6 結(jié)構(gòu)描述 14
2.7 測試平臺 17
2.8 文獻注釋 19
2.9 推薦實驗 19
2.9.1 門級greater-than電路代碼 19
2.9.2 門級二進制譯碼器代碼 19
第3章 FPGA和EDA軟件概述 20
3.1 FPGA 20
3.1.1 通用FPGA器件概述 20
3.1.2 Altera Cyclone II系列器件
概述 21
3.2 Altera DE1和DE2開發(fā)板概述 23
3.3 開發(fā)流程 25
3.4 Quartus II概述 26
3.5 Quartus II簡易教程 27
3.5.1 創(chuàng)建設(shè)計工程 29
3.5.2 建立測試平臺進行RTL仿真 33
3.5.3 編譯工程 33
3.5.4 時序分析 34
3.5.5 編程FPGA器件 34
3.6 ModelSim HDL仿真器的簡易
教程 36
3.7 文獻注釋 39
3.8 推薦實驗 40
3.8.1 門級greater-than電路 40
3.8.2 門級二進制譯碼器 40
第4章 RTL組合電路 41
4.1 運算符 41
4.1.1 算術(shù)運算符 42
4.1.2 移位運算符 42
4.1.3 關(guān)系運算符和等式運算符 43
4.1.4 位運算符、縮減運算符和
邏輯運算符 43
4.1.5 拼接運算符和復(fù)制運算符 44
4.1.6 條件運算符 44
4.1.7 運算符優(yōu)先級 45
4.1.8 表達(dá)式位長調(diào)整 45
4.1.9 z和x的綜合 46
4.2 組合邏輯電路的always語句塊 47
4.2.1 基本語法和行為 48
4.2.2 進程賦值語句 48
4.2.3 變量數(shù)據(jù)類型 49
4.2.4 簡單實例 49
4.3 if語句 50
4.3.1 語法 50
4.3.2 實例 51
4.4 case語句 52
4.4.1 語法 52
4.4.2 實例 53
4.4.3 casez和casex語句 54
4.4.4 全case語句和并行case語句 55
4.5 條件控制結(jié)構(gòu)的路由結(jié)構(gòu) 56
4.5.1 優(yōu)先級路由網(wǎng)絡(luò) 56
4.5.2 多路選擇網(wǎng)絡(luò) 57
4.6 always塊的一般編碼原則 58
4.6.1 組合邏輯電路代碼的常見
錯誤 58
4.6.2 指南 61
4.7 參數(shù)和常數(shù) 61
4.7.1 常數(shù) 61
4.7.2 參數(shù) 62
4.7.3 Verilog-1995中參數(shù)的使用 64
4.8 設(shè)計實例 65
4.8.1 十六進制數(shù)的七段LED
譯碼器 65
4.8.2 符號幅值加法器 67
4.8.3 桶形移位器 68
4.8.4 簡易浮點數(shù)加法器 70
4.9 文獻注釋 73
4.10 推薦實驗 73
4.10.1 多功能桶形移位器 73
4.10.2 雙優(yōu)先級編碼器 74
4.10.3 BCD碼增量器 74
4.10.4 浮點數(shù)greater-than電路 74
4.10.5 浮點數(shù)和有符號整數(shù)間的
轉(zhuǎn)換電路 74
4.10.6 加強的浮點數(shù)加法器 75
第5章 常規(guī)時序電路 76
5.1 引言 76
5.1.1 D觸發(fā)器和寄存器 76
5.1.2 同步系統(tǒng) 77
5.1.3 代碼開發(fā) 77
5.2 觸發(fā)器和寄存器的HDL代碼 77
5.2.1 D觸發(fā)器 78
5.2.2 寄存器 80
5.2.3 寄存器文件 81
5.2.4 SRAM 83
5.3 簡單的設(shè)計實例 84
5.3.1 移位寄存器 84
5.3.2 二進制計數(shù)器及其變形 86
5.4 時序電路的測試平臺 89
5.5 時序分析 92
5.5.1 時序參數(shù) 92
5.5.2 Quartus II中的時序考慮 93
5.6 案例研究 94
5.6.1 秒表 94
5.6.2 FIFO 緩存器 98
5.7 Cyclone II器件的嵌入式存儲器
模塊 102
5.7.1 DE1開發(fā)板上的存儲器
選項概述 102
5.7.2 嵌入式M4K模塊概述 102
5.7.3 添加嵌入式存儲器模塊的
方法 103
5.7.4 導(dǎo)出同步單口RAM的HDL
模塊 105
5.7.5 導(dǎo)出同步簡單雙口RAM的
HDL模塊 106
5.7.6 導(dǎo)出同步真雙口RAM的
HDL模塊 108
5.7.7 導(dǎo)出同步ROM的HDL
模塊 109
5.7.8 指定RAM初始值的HDL
模塊 110
5.7.9 FIFO緩存器的再仿真 112
5.8 文獻注釋 113
5.9 推薦實驗 113
5.9.1 可編程方波發(fā)生器 113
5.9.2 脈寬調(diào)制電路 113
5.9.3 旋轉(zhuǎn)方塊電路 113
5.9.4 心跳電路 114
5.9.5 旋轉(zhuǎn)的LED標(biāo)語電路 114
5.9.6 增強型秒表 114
5.9.7 數(shù)據(jù)寬度可變的FIFO 114
5.9.8 堆棧 115
5.9.9 基于ROM的符號幅值加
法器 115
5.9.10 基于ROM的溫度轉(zhuǎn)換 115
第6章 FSM 116
6.1 簡介 116
6.1.1 Mealy和Moore輸出 116
6.1.2 FSM的表示方法 116
6.2 FSM代碼開發(fā) 118
6.3 設(shè)計實例 120
6.3.1 上升沿檢測器 120
6.3.2 去抖電路 125
6.3.3 測試電路 128
6.4 文獻注釋 130
6.5 推薦實驗 130
6.5.1 雙邊沿檢測器 130
6.5.2 另一種去抖電路 130
6.5.3 停車場占用情況計數(shù)器 131
第7章 FSMD 132
7.1 引言 132
7.1.1 單一RT操作 132
7.1.2 ASMD圖 133
7.1.3 含寄存器的選擇框 134
7.2 FSMD代碼開發(fā) 135
7.2.1 基于RT方法的去抖電路 135
7.2.2 含顯示描述數(shù)據(jù)通路組件
的代碼 136
7.2.3 含隱式描述數(shù)據(jù)通路組件
的代碼 139
7.2.4 比較 141
7.3 設(shè)計實例 142
7.3.1 斐波那契數(shù)電路 142
7.3.2 除法電路 145
7.3.3 二進制―BCD碼轉(zhuǎn)換電路 148
7.3.4 周期計數(shù)器 151
7.3.5 精確的低頻計數(shù)器 154
7.4 文獻注釋 157
7.5 推薦實驗 157
7.5.1 另一種去抖電路 157
7.5.2 BCD―二進制碼轉(zhuǎn)換電路 158
7.5.3 含BCD I/O的斐波那契數(shù)
生成電路:設(shè)計方法1 158
7.5.4 含BCD I/O的斐波那契數(shù)
生成電路:設(shè)計方法2 158
7.5.5 自動進位制的低頻計數(shù)器 158
7.5.6 反應(yīng)計時器 159
7.5.7 Babbage差分機模擬電路 160
第8章 Verilog精選主題 161
8.1 阻塞賦值語句和非阻塞賦值
語句 161
8.1.1 概述 161
8.1.2 組合電路 163
8.1.3 存儲器單元 164
8.1.4 混合阻塞和非阻塞兩種賦值
語句的時序電路 165
8.2 時序電路的另一種編碼方式 167
8.2.1 二進制計數(shù)器 167
8.2.2 FSM 170
8.2.3 FSMD 171
8.2.4 總結(jié) 173
8.3 有符號數(shù)據(jù)類型的使用 173
8.3.1 概述 173
8.3.2 Verilog-1995中的有符號數(shù) 174
8.3.3 Verilog-2001中的有符號數(shù) 175
8.4 綜合中函數(shù)的使用 175
8.4.1 概述 175
8.4.2 例子 176
8.5 附加的測試平臺開發(fā)結(jié)構(gòu) 178
8.5.1 always塊和initial塊 178
8.5.2 進程語句 178
8.5.3 時序控制 180
8.5.4 延時控制 180
8.5.5 事件控制 181
8.5.6 wait語句 181
8.5.7 timescale指令 181
8.5.8 系統(tǒng)函數(shù)和系統(tǒng)任務(wù) 182
8.5.9 用戶自定義的函數(shù)和任務(wù) 186
8.5.10 完備的測試平臺的實例 187
8.6 文獻注釋 193
8.7 推薦實驗 193
8.7.1 使用阻塞賦值語句和非阻
塞賦值語句的移位寄存器 193
8.7.2 BCD計數(shù)器的另一種編碼
風(fēng)格 194
8.7.3 FIFO緩存器的另一種編碼
方式 194
8.7.4 斐波那契數(shù)生成電路的另一
種編碼方式 194
8.7.5 雙模式比較器 194
8.7.6 增強型二進制計數(shù)器的
監(jiān)測器 194
8.7.7 FIFO緩存器的測試平臺 194
第2部分 基本Nios II軟件開發(fā)
第9章 Nios II處理器概述 196
9.1 引言 196
9.2 寄存器文件和ALU 198
9.2.1 寄存器文件 198
9.2.2 ALU 198
9.3 存儲器和I/O結(jié)構(gòu) 198
9.3.1 Nios II的存儲器接口 198
9.3.2 存儲器層次結(jié)構(gòu)概述 198
9.3.3 虛擬存儲器 199
9.3.4 存儲器保護 199
9.3.5 高速緩沖存儲器 199
9.3.6 緊密耦合存儲器 200
9.3.7 I/O結(jié)構(gòu) 200
9.3.8 互連結(jié)構(gòu) 200
9.4 異常和中斷處理 201
9.5 JTAG調(diào)試模塊 201
9.6 文獻注釋 201
9.7 推薦實驗 201
9.7.1 Nios II和MIPS的比較 201
第10章 Nios II系統(tǒng)的引用和底層
訪問 202
10.1 開發(fā)流程的再介紹 202
10.1.1 硬件開發(fā) 202
10.1.2 軟件開發(fā) 202
10.1.3 閃爍LED系統(tǒng) 204
10.2 Nios II硬件生成教程 204
10.2.1 在Quartus II中創(chuàng)建一個
硬件工程 204
10.2.2 創(chuàng)建Nios II系統(tǒng),生成
HDL代碼 204
10.2.3 創(chuàng)建頂層HDL文件用于
實例化Nios II系統(tǒng) 209
10.2.4 編譯和下載程序 210
10.3 Nios II SBT GUI教程 210
10.3.1 創(chuàng)建BSP庫 210
10.3.2 使用BSP編輯器配置BSP 211
10.3.3 創(chuàng)建用戶應(yīng)用目錄并添加
應(yīng)用程序文件 212
10.3.4 生成和運行軟件 212
10.3.5 檢查代碼大小 213
10.4 針對軟硬件一致性的系統(tǒng)
id核 213
10.5 底層I/O直接訪問 214
10.5.1 C語言指針的復(fù)習(xí) 215
10.5.2 I/O寄存器的C指針 215
10.6 魯棒的底層I/O訪問 216
10.6.1 system.h 216
10.6.2 alt_types.h 217
10.6.3 io.h 217
10.7 一些關(guān)于底層I/O操作的C語
言技巧 218
10.7.1 位處理 218
10.7.2 打包和拆包 219
10.8 軟件開發(fā) 219
10.8.1 基本的嵌入式程序框架 219
10.8.2 主程序和任務(wù)程序 220
10.9 文獻注釋 221
10.10 推薦實驗 221
10.10.1 追趕LED電路 221
10.10.2 碰撞LED電路 222
10.10.3 脈寬調(diào)制電路 222
10.10.4 旋轉(zhuǎn)方塊電路 222
10.10.5 心跳電路 222
10.11 完整程序清單 222
第11章 預(yù)先設(shè)計的Nios II I/O外設(shè) 224
11.1 概述 224
11.2 PIO核 224
11.2.1 配置 225
11.2.2 寄存器映射 227
11.2.3 用戶可見寄存器 227
11.3 JTAG UART 核 228
11.3.1 配置 228
11.3.2 寄存器映射 229
11.4 內(nèi)部定時器核 229
11.4.1 配置 229
11.4.2 寄存器映射 230
11.5 增強型閃爍LED Nios II系統(tǒng) 231
11.5.1 SOPC設(shè)計 232
11.5.2 頂層HDL文件 235
11.6 增強型閃爍LED系統(tǒng)軟件
開發(fā) 236
11.6.1 設(shè)備驅(qū)動介紹 236
11.6.2 增強型閃爍LED系統(tǒng)程序
結(jié)構(gòu) 236
11.6.3 主程序 237
11.6.4 函數(shù)命名習(xí)慣 237
11.7 設(shè)備驅(qū)動程序 238
11.7.1 PIO外設(shè)驅(qū)動 238
11.7.2 JATA UART 240
11.7.3 定時器 241
11.8 任務(wù)程序 242
11.8.1 函數(shù)flashsys_init_v1( ) 242
11.8.2 函數(shù)sw_get_command_v1( ) 242
11.8.3 函數(shù)jtaguart_disp_msg_v1( ) 243
11.8.4 函數(shù)sseg_disp_msg_v1( ) 243
11.8.5 函數(shù)led_flash_v1( ) 244
11.9 軟件構(gòu)建和測試 245
11.10 文獻注釋 245
11.11 推薦實驗 245
11.11.1 閃爍LED系統(tǒng)的
“Uptime”特性 245
11.11.2 不同定時器模式的計數(shù) 246
11.11.3 JTAG UART輸入 246
11.11.4 增強型沖撞LED電路 246
11.11.5 旋轉(zhuǎn)LED標(biāo)語電路 246
11.11.6 改進的秒表 246
11.11.7 停車場占用情況計數(shù)器 246
11.11.8 帶按鈕開關(guān)控制的反應(yīng)
時間定時器 247
11.11.9 帶鍵盤控制的反應(yīng)時間
定時器 247
11.11.10 串行端口通信 247
11.12 完整程序清單 247
第12章 預(yù)先設(shè)計的Nios II I/O驅(qū)動和
HAL API 256
12.1 HAL概述 256
12.1.1 桌面式嵌入式系統(tǒng)和
準(zhǔn)系統(tǒng)嵌入式系統(tǒng) 256
12.1.2 HAL范式 257
12.1.3 設(shè)備類別 258
12.1.4 遵從HAL的設(shè)備驅(qū)動 258
12.1.5 _regs.h文件 259
12.1.6 基于HAL的初始化序列 260
12.2 BSP 260
12.2.1 概述 260
12.2.2 BSP文件結(jié)構(gòu) 261
12.2.3 BSP配置 262
12.3 基于HAL的閃爍LED程序 263
12.3.1 使用通用I/O設(shè)備的
函數(shù) 264
12.3.2 使用非通用I/O設(shè)備的
函數(shù) 266
12.3.3 初始化程序和主程序 266
12.3.4 軟件構(gòu)建和測試 267
12.4 設(shè)備驅(qū)動程序考慮 268
12.4.1 I/O訪問法 268
12.4.2 比較 269
12.4.3 本書中的驅(qū)動程序 271
12.5 文獻注釋 271
12.6 推薦實驗 271
12.6.1 閃爍LED系統(tǒng)的
“Uptime”特性 271
12.6.2 改進的碰撞LED電路 271
12.6.3 停車場使用情況計數(shù)器 271
12.6.4 帶鍵盤控制的反應(yīng)定時器 271
12.6.5 數(shù)字鬧鐘 271
12.7 完整程序清單 272
第13章 中斷及中斷服務(wù)程序 275
13.1 HAL框架中的中斷處理 275
13.1.1 概述 275
13.1.2 Nios II處理器的中斷
控制器 276
13.1.3 頂層異常處理程序 276
13.1.4 中斷服務(wù)程序 277
13.2 基于中斷的閃爍LED程序 277
13.2.1 定時器核的中斷 278
13.2.2 定時器核的驅(qū)動 278
13.2.3 中斷服務(wù)程序(版本1) 279
13.2.4 中斷服務(wù)程序(版本2) 281
13.3 中斷和調(diào)度 282
13.3.1 調(diào)度 282
13.3.2 性能 283
13.4 文獻注釋 284
13.5 推薦實驗 285
13.5.1 含按鈕開關(guān)ISR程序的
閃爍LED系統(tǒng) 285
13.5.2 ISR驅(qū)動的閃爍LED
系統(tǒng) 285
13.5.3 閃爍LED系統(tǒng)中的
“Uptime”特性 285
13.5.4 帶鍵盤控制的反應(yīng)時間
定時器 285
13.5.5 數(shù)字鬧鐘 285
13.6 完整程序清單 285
第3部分 用戶I/O外設(shè)開發(fā)
第14章 帶PIO核的用戶I/O外設(shè) 292
14.1 引言 292
14.2 集成除法電路到Nios II
系統(tǒng) 292
14.2.1 PIO模塊 292
14.2.2 集成 293
14.3 測試 293
14.4 推薦實驗 296
14.4.1 除法核的ISR 296
14.4.2 8位數(shù)據(jù)的除法核 296
14.4.3 64位數(shù)據(jù)的除法核 296
14.4.4 斐波那契數(shù)電路 297
14.4.5 周期計數(shù)器 297
第15章 Avalon互連與SOPC組件 298
15.1 引言 298
15.2 Avalon MM接口 300
15.2.1 Avalon MM從設(shè)備接口
信號 300
15.2.2 Avalon MM從設(shè)備接口
性質(zhì) 301
15.2.3 Avalon MM從設(shè)備時序 301
15.3 Avalon接口的系統(tǒng)互連結(jié)構(gòu) 304
15.4 SOPC I/O組件封裝電路 305
15.4.1 接口I/O緩存器 306
15.4.2 內(nèi)存對齊 308
15.4.3 Avalon MM主設(shè)備的
輸出譯碼 308
15.4.4 Avalon MM主設(shè)備的
輸入多路選擇 310
15.4.5 實際考慮 311
15.5 SOPC組件構(gòu)建指南 311
15.5.1 Avalon接口 312
15.5.2 寄存器映射 312
15.5.3 封裝的除法電路 313
15.5.4 SOPC組件創(chuàng)建 315
15.5.5 SOPC組件實例化 320
15.6 測試 320
15.7 文獻注釋 323
15.8 推薦實驗 323
15.8.1 除法核的ISR 323
15.8.2 除法核的另一種緩存
方案 323
15.8.3 8位數(shù)據(jù)的除法核 323
15.8.4 64位數(shù)據(jù)的除法核 323
15.8.5 斐波那契數(shù)電路 323
15.8.6 周期計數(shù)器 323
第16章 SRAM和SDRAM控制器 324
16.1 DE1開發(fā)板存儲器資源 324
16.2 時序和時鐘管理的概述 324
16.2.1 時鐘分配網(wǎng)絡(luò) 324
16.2.2 片外訪問的時序問題 325
16.2.3 PLL 326
16.3 SRAM概述 327
16.3.1 SRAM單元 327
16.3.2 基本結(jié)構(gòu) 327
16.3.3 時序 328
16.3.4 IS61LV25616AL SRAM
芯片 329
16.4 SRAM控制器IP核 330
16.4.1 Avalon接口 331
16.4.2 控制器電路 332
16.4.3 SOPC組件的創(chuàng)建 333
16.5 DRAM概述 334
16.5.1 DRAM單元 334
16.5.2 基本的DRAM結(jié)構(gòu) 335
16.5.3 DRAM時序 336
16.6 SDRAM概述 337
16.6.1 基本的SDRAM結(jié)構(gòu) 337
16.6.2 SDRAM時序 338
16.6.3 ICSI IS42S16400 SDRAM
芯片 340
16.7 SDRAM控制器和PLL 340
16.7.1 基本的SDRAM控制器 340
16.7.2 SDRAM控制器IP核 341
16.7.3 SOPC PLL IP核 342
16.8 測試系統(tǒng) 344
16.8.1 測試硬件配置 344
16.8.2 測試軟件 346
16.9 文獻注釋 349
16.10 推薦實驗 349
16.10.1 沒有I/O寄存器的
SRAM控制器 349
16.10.2 SRAM控制器速度測試 349
16.10.3 帶Avalon MM三態(tài)接
口的SRAM控制器 349
16.10.4 SDRAM控制器時鐘
偏斜測試 349
16.10.5 存儲器性能比較 350
16.10.6 鎖存器的影響 350
16.10.7 從零構(gòu)建SDRAM
控制器 350
16.11 完整程序清單 350
第17章 PS2鍵盤和鼠標(biāo) 352
17.1 引言 352
17.2 PS2接收子系統(tǒng) 352
17.2.1 PS2設(shè)備到主機的通信
協(xié)議 352
17.2.2 設(shè)計和代碼 353
17.3 PS2傳送子系統(tǒng) 356
17.3.1 主機到PS2設(shè)備的通信
協(xié)議 356
17.3.2 設(shè)計和代碼 357
17.4 完整的PS2系統(tǒng) 361
17.5 PS2控制器IP核開發(fā) 363
17.5.1 Avalon接口 363
17.5.2 寄存器映射 363
17.5.3 封裝的PS2系統(tǒng) 364
17.5.4 SOPC組件創(chuàng)建 365
17.6 PS2驅(qū)動 365
17.6.1 寄存器映射 366
17.6.2 寫操作程序 366
17.6.3 讀操作程序 366
17.7 鍵盤驅(qū)動 367
17.7.1 掃描碼概述 367
17.7.2 與主機的交互 368
17.7.3 驅(qū)動程序 369
17.8 鼠標(biāo)驅(qū)動 373
17.8.1 PS2鼠標(biāo)協(xié)議概述 373
17.8.2 與主機的交互 373
17.8.3 驅(qū)動程序 374
17.9 測試 376
17.10 書中用戶IP核的使用 379
17.10.1 文件組織結(jié)構(gòu) 379
17.10.2 SOPC庫集成 379
17.10.3 綜合的Nios II測試系統(tǒng) 380
17.11 文獻注釋 385
17.12 推薦實驗 385
17.12.1 帶看門狗定時器的PS2
接收子系統(tǒng) 385
17.12.2 軟件接收FIFO 385
17.12.3 軟件PS2控制器 385
17.12.4 鍵盤控制的LED閃爍
電路 385
17.12.5 增強型鍵盤驅(qū)動程序I 386
17.12.6 增強型鍵盤驅(qū)動程序II 386
17.12.7 遙控模式鼠標(biāo)驅(qū)動 386
17.12.8 滾輪鼠標(biāo)驅(qū)動 386
17.13 完整程序清單 386
第18章 VGA控制器 399
18.1 引言 399
18.1.1 CRT顯示器的基本操作 399
18.1.2 DE1板上的VGA端口 400
18.1.3 視頻控制器 400
18.2 VGA同步 402
18.2.1 水平同步 402
18.2.2 垂直同步 403
18.2.3 VGA同步信號時序計算 403
18.2.4 HDL實現(xiàn) 404
18.3 基于SRAM的視頻RAM
控制器 406
18.3.1 視頻存儲器概述 406
18.3.2 DE1開發(fā)板的存儲器
問題 407
18.3.3 Ad Hoc SRAM控制器 407
18.3.4 HDL代碼 411
18.4 調(diào)色板電路 414
18.5 視頻控制器IP核的開發(fā) 415
18.5.1 完整的視頻控制器 415
18.5.2 Avalon 接口 416
18.5.3 寄存器映射 416
18.5.4 封裝的視頻控制器 416
18.5.5 SOPC組件創(chuàng)建 418
18.6 視頻驅(qū)動 418
18.6.1 視頻內(nèi)存訪問程序 418
18.6.2 幾何模型程序 419
18.6.3 位圖處理函數(shù) 421
18.6.4 位映射文本程序 423
18.7 鼠標(biāo)處理程序 426
18.8 測試程序 427
18.8.1 圖形繪制程序 429
18.8.2 通用繪圖程序 430
18.8.3 豎條交換程序 432
18.8.4 鼠標(biāo)演示程序 433
18.8.5 位映射文本程序 434
18.9 位圖文件處理 434
18.9.1 BMP格式概述 435
18.9.2 BMP文件的生成 435
18.9.3 基于子畫面的設(shè)計 436
18.9.4 BMP文件訪問 437
18.9.5 基于主機的文件系統(tǒng) 437
18.9.6 位圖文件獲取程序 437
18.10 文獻注釋 441
18.11 推薦實驗 442
18.11.1 基于PLL的VGA控
制器 442
18.11.2 使用16位內(nèi)存配置的
VGA控制器 442
18.11.3 三位色彩深度的VGA
控制器 442
18.11.4 一位顏色深度的VGA
控制器 442
18.11.5 帶雙緩存的VGA控
制器 442
18.11.6 分辨率為320 × 240的
VGA控制器 442
18.11.7 含垂直模式操作的VGA
控制器 442
18.11.8 幾何模型函數(shù) 442
18.11.9 位圖處理函數(shù) 443
18.11.10 模擬“神奇畫板”玩具 443
18.11.11 調(diào)色板查找表電路 443
18.11.12 虛擬LED閃爍系統(tǒng)
控制板 443
18.11.13 虛擬模擬掛鐘 443
18.12 推薦工程 443
18.12.1 可配置的VGA控制器 443
18.12.2 使用系統(tǒng)SDRAM的
VGA控制器 444
18.12.3 繪圖程序 444
18.12.4 視頻游戲 444
18.13 完整程序清單 444
第19章 音頻編解碼控制器 469
19.1 引言 469
19.1.1 編解碼器概述 469
19.1.2 WM8731芯片簡介 469
19.1.3 WM8731芯片寄存器 470
19.2 I2C控制器 473
19.2.1 I2C接口概述 473
19.2.2 HDL實現(xiàn) 474
19.3 編解碼器數(shù)據(jù)訪問控制器 481
19.3.1 數(shù)字音頻接口概述 481
19.3.2 HDL實現(xiàn) 481
19.4 音頻編解碼控制器IP核
開發(fā) 484
19.4.1 完整的音頻編解碼控
制器 484
19.4.2 Avalon接口 486
19.4.3 寄存器映射 486
19.4.4 封裝的音頻編解碼控
制器 487
19.4.5 SOPC組件創(chuàng)建 489
19.5 編解碼驅(qū)動 489
19.5.1 I2C命令程序 490
19.5.2 數(shù)據(jù)源選擇程序 490
19.5.3 芯片初始化程序 491
19.5.4 音頻數(shù)據(jù)訪問程序 491
19.6 測試程序 492
19.7 音頻文件處理 496
19.7.1 WAV格式概述 496
19.7.2 音頻格式轉(zhuǎn)換程序 497
19.7.3 音頻數(shù)據(jù)讀取程序 497
19.8 文獻注釋 499
19.9 推薦實驗 500
19.9.1 軟件I2C控制器 500
19.9.2 使用主設(shè)備時鐘模式設(shè)計
硬件數(shù)據(jù)訪問控制器 500
19.9.3 使用從設(shè)備時鐘模式的
軟件數(shù)據(jù)訪問控制器 500
19.9.4 使用主設(shè)備時鐘模式的
軟件數(shù)據(jù)訪問控制器 500
19.9.5 可配置的數(shù)據(jù)訪問控
制器 500
19.9.6 語音錄音機 500
19.9.7 實時正弦波發(fā)生器 501
19.9.8 實時音頻波形顯示 501
19.9.9 回音效果 501
19.10 推薦工程 501
19.10.1 完整的I2C控制器 501
19.10.2 數(shù)字均衡器 501
19.10.3 數(shù)字音頻示波器 502
19.11 完整程序清單 502
第20章 SD卡控制器 514
20.1 SD卡概述 514
20.2 SPI控制器 514
20.2.1 SPI接口概述 514
20.2.2 HDL實現(xiàn) 515
20.3 SPI控制器IP核開發(fā) 518
20.3.1 Avalon接口 518
20.3.2 寄存器映射 518
20.3.3 封裝的SPI控制器 519
20.3.4 SOPC組件創(chuàng)建 520
20.4 SD卡協(xié)議 520
20.4.1 SD卡的命令和響應(yīng)格式 520
20.4.2 初始化和辨識過程 522
20.4.3 數(shù)據(jù)讀和寫過程 523
20.5 SPI與SD卡驅(qū)動程序 524
20.5.1 SPI驅(qū)動程序 524
20.5.2 SD卡驅(qū)動程序 525
20.6 文件訪問 531
20.6.1 FAT16結(jié)構(gòu)概述 531
20.6.2 只讀FAT16文件訪問
驅(qū)動程序 535
20.7 測試程序 543
20.8 SD卡的數(shù)據(jù)傳輸性能 547
20.9 文獻注釋 548
20.10 推薦實驗 548
20.10.1 SD卡的數(shù)據(jù)傳輸性能
測試 548
20.10.2 魯棒性強的SD卡驅(qū)動
程序 548
20.10.3 SD卡存取的專用處
理器 548
20.10.4 基于硬件的SD卡的讀寫
操作 548
20.10.5 SD卡信息讀取 549
20.10.6 MMC卡支持 549
20.10.7 多扇區(qū)讀寫操作 549
20.10.8 帶CRC校驗的SD卡
驅(qū)動程序 549
20.10.9 數(shù)字音樂播放器 549
20.10.10 數(shù)字相框 549
20.10.11 附加的FAT功能 549
20.11 推薦工程 550
20.11.1 HAL API文件訪問集成 549
20.12 完整程序清單 550
第4部分 硬件加速器實例研究
第21章 GCD加速器 572
21.1 引言 572
21.2 軟件實現(xiàn) 573
21.3 硬件實現(xiàn) 573
21.3.1 ASMD圖 573
21.3.2 HDL實現(xiàn) 574
21.4 時間測量 576
21.4.1 HAL時間戳驅(qū)動 576
21.4.2 定制的硬件計數(shù)器 577
21.5 GCD加速器IP核開發(fā) 577
21.5.1 Avalon接口 577
21.5.2 寄存器映射 577
21.5.3 封裝的GCD加速器 578
21.6 測試程序 580
21.6.1 GCD程序 580
21.6.2 主程序 581
21.7 性能比較 582
21.8 文獻注釋 583
21.9 推薦實驗 583
21.9.1 使用其他處理器配置
的性能 583
21.9.2 最小規(guī)模的GCD加速器 583
21.9.3 帶后補零電路的GCD
加速器 583
21.9.4 64位數(shù)據(jù)的GCD加
速器 583
21.9.5 128位數(shù)據(jù)的GCD加
速器 583
21.9.6 歐拉算法的GCD 583
21.10 完整程序清單 583
第22章 Mandelbrot集合分形加速器 587
22.1 引言 587
22.1.1 Mandelbrot集合的概述 587
22.1.2 Mandelbrot集合點的
確定 588
22.1.3 配色方案 589
22.1.4 分形圖像的生成 589
22.2 定點運算 590
22.3 函數(shù)calc_frac_point( )的軟件
實現(xiàn) 591
22.4 函數(shù)calc_frac_point( )的硬件
實現(xiàn) 592
22.4.1 ASMD圖 592
22.4.2 HDL實現(xiàn) 592
22.5 Mandelbrot集合分形加速器
IP核開發(fā) 594
22.5.1 Avalon接口 594
22.5.2 寄存器映射 595
22.5.3 封裝的Mandelbrot集合
分形加速器 595
22.6 測試程序 596
22.6.1 分形圖形用戶接口 596
22.6.2 分形硬件加速器引擎控制
程序 598
22.6.3 分形繪圖程序 598
22.6.4 文本區(qū)顯示程序 599
22.6.5 鼠標(biāo)處理程序 601
22.6.6 主程序 603
22.7 討論 603
22.8 文獻注釋 604
22.9 推薦實驗 604
22.9.1 含一個乘法器的硬件
加速器 604
22.9.2 逃逸條件修改的硬件
加速器 604
22.9.3 使用Q4.12格式的硬件
加速器 604
22.9.4 多個分形引擎的硬件
加速器 604
22.9.5 “Burning-ship”分形 605
22.9.6 改進的測試程序 605
22.10 推薦工程 605
22.10.1 浮點硬件加速器 605
22.10.2 通用畫分形圖平臺 605
22.11 完整程序清單 605
第23章 直接數(shù)字頻率合成 616
23.1 引言 616
23.2 設(shè)計和實現(xiàn) 616
23.2.1 數(shù)字波形的直接合成 616
23.2.2 未調(diào)制的模擬波形的直接
合成 617
23.2.3 調(diào)制的模擬波形的直接
合成 618
23.2.4 HDL實現(xiàn) 618
23.3 DDFS IP核開發(fā) 621
23.3.1 Avalon接口 621
23.3.2 寄存器映射 621
23.3.3 封裝的DDFS電路 622
23.3.4 編解碼器的DAC集成 623
23.4 DDFS驅(qū)動 623
23.4.1 配置程序 624
23.4.2 初始化程序 625
23.5 測試 625
23.5.1 音符的概括和合成 625
23.5.2 測試程序 626
23.6 文獻注釋 630
23.7 推薦實驗 630
23.7.1 正交相位載波生成 630
23.7.2 縮減的相位―幅度查找表 631
23.7.3 合成音樂播放器 631
23.7.4 鍵盤鋼琴 631
23.7.5 鍵盤記錄儀 631
23.7.6 硬件包絡(luò)發(fā)生器 631
23.7.7 諧波疊加合成器 631
23.7.8 采樣合成器 631
23.8 推薦工程 632
23.8.1 聲音發(fā)生器 632
23.8.2 函數(shù)發(fā)生器 632
23.8.3 完整的電子合成器 632
23.9 完整程序清單 632
參考文獻 640

本目錄推薦

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