本書主要講解FPGA的程序設(shè)計(jì),以一款熱銷的FPGA開發(fā)板為例,介紹學(xué)習(xí)FPGA和使用Verilog,以及FPGA開發(fā)板的硬件配置,重點(diǎn)是第3章的16個(gè)典型實(shí)例程序,由簡單到復(fù)雜,*后是FPGA的設(shè)計(jì)心得。
本書適合電子、通信、自動(dòng)化等相關(guān)專業(yè)的本科生以及從事FPGA開發(fā)/IC設(shè)計(jì)/PCB等相關(guān)職業(yè)的初學(xué)者閱讀參考。
第1章 FPGA 概述…………………………………………………………………… 1
1.1 為什么要學(xué)習(xí)FPGA ………………………………………………………… 1
1.2 學(xué)習(xí)FPGA 的幾個(gè)疑點(diǎn)……………………………………………………… 2
1.2.1 選擇VHDL還是Verilog ……………………………………………… 2
1.2.2 NIOS重要還是Verilog重要…………………………………………… 2
1.3 FPGA 簡介…………………………………………………………………… 3
1.4 Verilog簡介…………………………………………………………………… 7
1.4.1 端口定義………………………………………………………………… 8
1.4.2 信號(hào)類型定義…………………………………………………………… 9
1.4.3 數(shù)字定義………………………………………………………………… 9
1.4.4 阻塞賦值和非阻塞賦值………………………………………………… 10
1.5 FPGA 開發(fā)流程……………………………………………………………… 11
第2章 FPGA 開發(fā)板……………………………………………………………… 13
2.1 STORMIV_E6開發(fā)板簡介……………………………………………… 13
2.2 STORMIV_E6開發(fā)板詳細(xì)配置………………………………………… 15
2.3 STORMIV_E6開發(fā)板硬件原理圖……………………………………… 16
第3章 設(shè)計(jì)實(shí)例…………………………………………………………………… 27
3.1 LED流水燈實(shí)驗(yàn)…………………………………………………………… 27
3.1.1 LED簡介……………………………………………………………… 27
3.1.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 28
3.1.3 硬件設(shè)計(jì)………………………………………………………………… 28
3.1.4 程序設(shè)計(jì)………………………………………………………………… 28
3.1.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 31
3.2 按鍵控制LED實(shí)驗(yàn)………………………………………………………… 31
3.2.1 按鍵控制LED簡介…………………………………………………… 31
3.2.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 32
3.2.3 硬件設(shè)計(jì)………………………………………………………………… 32
3.2.4 程序設(shè)計(jì)………………………………………………………………… 33
3.2.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 33
3.3 七段數(shù)碼管靜態(tài)顯示實(shí)驗(yàn)…………………………………………………… 34
3.3.1 數(shù)碼管簡介……………………………………………………………… 34
3.3.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 36
3.3.3 硬件設(shè)計(jì)………………………………………………………………… 36
3.3.4 程序設(shè)計(jì)………………………………………………………………… 37
3.3.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 43
3.4 七段數(shù)碼管動(dòng)態(tài)掃描實(shí)驗(yàn)…………………………………………………… 43
3.4.1 動(dòng)態(tài)掃描簡介…………………………………………………………… 43
3.4.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 44
3.4.3 硬件設(shè)計(jì)………………………………………………………………… 44
3.4.4 程序設(shè)計(jì)………………………………………………………………… 44
3.4.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 50
3.5 串口發(fā)送實(shí)驗(yàn)………………………………………………………………… 51
3.5.1 串口簡介………………………………………………………………… 51
3.5.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 53
3.5.3 硬件設(shè)計(jì)………………………………………………………………… 53
3.5.4 程序設(shè)計(jì)………………………………………………………………… 53
3.5.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 58
3.6 串口接收實(shí)驗(yàn)………………………………………………………………… 59
3.6.1 串口接收簡介…………………………………………………………… 59
3.6.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 59
3.6.3 硬件設(shè)計(jì)………………………………………………………………… 59
3.6.4 程序設(shè)計(jì)………………………………………………………………… 60
3.6.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 64
3.7 同步FIFO實(shí)驗(yàn)……………………………………………………………… 65
3.7.1 同步FIFO簡介………………………………………………………… 65
3.7.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 70
3.7.3 硬件設(shè)計(jì)………………………………………………………………… 70
3.7.4 程序設(shè)計(jì)………………………………………………………………… 70
3.7.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 73
3.8 異步FIFO實(shí)驗(yàn)……………………………………………………………… 74
3.8.1 異步FIFO簡介………………………………………………………… 74
3.8.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 77
3.8.3 硬件設(shè)計(jì)………………………………………………………………… 79
3.8.4 程序設(shè)計(jì)………………………………………………………………… 79
3.8.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 86
3.9 狀態(tài)機(jī)實(shí)驗(yàn)…………………………………………………………………… 86
3.9.1 狀態(tài)機(jī)簡介……………………………………………………………… 86
3.9.2 實(shí)驗(yàn)任務(wù)………………………………………………………………… 88
3.9.3 硬件設(shè)計(jì)………………………………………………………………… 88
3.9.4 程序設(shè)計(jì)………………………………………………………………… 88
3.9.5 實(shí)驗(yàn)現(xiàn)象………………………………………………………………… 91
3.10 EEPROM 寫操作實(shí)驗(yàn)…………………………………………………… 91
3.10.1 EEPROM 寫操作簡介……………………………………………… 91
3.10.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 92
3.10.3 硬件設(shè)計(jì)……………………………………………………………… 92
3.10.4 程序設(shè)計(jì)……………………………………………………………… 92
3.10.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 106
3.11 EEPROM 讀操作實(shí)驗(yàn)…………………………………………………… 107
3.11.1 EEPROM 讀操作簡介……………………………………………… 107
3.11.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 107
3.11.3 硬件設(shè)計(jì)……………………………………………………………… 107
3.11.4 程序設(shè)計(jì)……………………………………………………………… 107
3.11.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 119
3.12 PS/2鍵盤讀操作實(shí)驗(yàn)…………………………………………………… 120
3.12.1 PS/2接口簡介……………………………………………………… 120
3.12.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 121
3.12.3 硬件設(shè)計(jì)……………………………………………………………… 121
3.12.4 程序設(shè)計(jì)……………………………………………………………… 122
3.12.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 125
3.13 VGA 實(shí)驗(yàn)………………………………………………………………… 126
3.13.1 VGA 簡介…………………………………………………………… 126
3.13.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 129
3.13.3 硬件設(shè)計(jì)……………………………………………………………… 129
3.13.4 程序設(shè)計(jì)……………………………………………………………… 129
3.13.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 132
3.14 LCD1602實(shí)驗(yàn)…………………………………………………………… 132
3.14.1 LCD1602簡介……………………………………………………… 132
3.14.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 135
3.14.3 硬件設(shè)計(jì)……………………………………………………………… 135
3.14.4 程序設(shè)計(jì)……………………………………………………………… 136
3.14.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 141
3.15 紅外遙控實(shí)驗(yàn)……………………………………………………………… 141
3.15.1 紅外遙控簡介………………………………………………………… 141
3.15.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 144
3.15.3 硬件設(shè)計(jì)……………………………………………………………… 144
3.15.4 程序設(shè)計(jì)……………………………………………………………… 145
3.15.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 151
3.16 SDRAM 控制器實(shí)驗(yàn)……………………………………………………… 151
3.16.1 SDRAM 簡介………………………………………………………… 151
3.16.2 實(shí)驗(yàn)任務(wù)……………………………………………………………… 154
3.16.3 硬件設(shè)計(jì)……………………………………………………………… 155
3.16.4 程序設(shè)計(jì)……………………………………………………………… 156
3.16.5 實(shí)驗(yàn)現(xiàn)象……………………………………………………………… 176
第4章 設(shè)計(jì)思想和感悟…………………………………………………………… 177
4.1 代碼簡單化………………………………………………………………… 177
4.2 注釋層次化………………………………………………………………… 178
4.3 交互界面清晰化…………………………………………………………… 178
4.4 模塊劃分最優(yōu)化…………………………………………………………… 178
4.5 方案精細(xì)化………………………………………………………………… 179
4.6 時(shí)序流水化………………………………………………………………… 179
參考文獻(xiàn)……………………………………………………………………………… 181