本書(shū)主要講解FPGA的程序設(shè)計(jì),以一款熱銷(xiāo)的FPGA開(kāi)發(fā)板為例,介紹學(xué)習(xí)FPGA和使用Verilog,以及FPGA開(kāi)發(fā)板的硬件配置,重點(diǎn)是第3章的16個(gè)典型實(shí)例程序,由簡(jiǎn)單到復(fù)雜,*后是FPGA的設(shè)計(jì)心得。
本書(shū)適合電子、通信、自動(dòng)化等相關(guān)專(zhuān)業(yè)的本科生以及從事FPGA開(kāi)發(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 簡(jiǎn)介…………………………………………………………………… 3
1.4 Verilog簡(jiǎn)介…………………………………………………………………… 7
1.4.1 端口定義………………………………………………………………… 8
1.4.2 信號(hào)類(lèi)型定義…………………………………………………………… 9
1.4.3 數(shù)字定義………………………………………………………………… 9
1.4.4 阻塞賦值和非阻塞賦值………………………………………………… 10
1.5 FPGA 開(kāi)發(fā)流程……………………………………………………………… 11
第2章 FPGA 開(kāi)發(fā)板……………………………………………………………… 13
2.1 STORMIV_E6開(kāi)發(fā)板簡(jiǎn)介……………………………………………… 13
2.2 STORMIV_E6開(kāi)發(fā)板詳細(xì)配置………………………………………… 15
2.3 STORMIV_E6開(kāi)發(fā)板硬件原理圖……………………………………… 16
第3章 設(shè)計(jì)實(shí)例…………………………………………………………………… 27
3.1 LED流水燈實(shí)驗(yàn)…………………………………………………………… 27
3.1.1 LED簡(jiǎn)介……………………………………………………………… 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簡(jiǎn)介…………………………………………………… 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ù)碼管簡(jiǎn)介……………………………………………………………… 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)掃描簡(jiǎn)介…………………………………………………………… 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 串口簡(jiǎn)介………………………………………………………………… 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 串口接收簡(jiǎn)介…………………………………………………………… 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簡(jiǎn)介………………………………………………………… 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簡(jiǎn)介………………………………………………………… 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ī)簡(jiǎn)介……………………………………………………………… 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 寫(xiě)操作實(shí)驗(yàn)…………………………………………………… 91
3.10.1 EEPROM 寫(xiě)操作簡(jiǎn)介……………………………………………… 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 讀操作簡(jiǎn)介……………………………………………… 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鍵盤(pán)讀操作實(shí)驗(yàn)…………………………………………………… 120
3.12.1 PS/2接口簡(jiǎn)介……………………………………………………… 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 簡(jiǎn)介…………………………………………………………… 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簡(jiǎn)介……………………………………………………… 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 紅外遙控簡(jiǎn)介………………………………………………………… 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 簡(jiǎn)介………………………………………………………… 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 代碼簡(jiǎn)單化………………………………………………………………… 177
4.2 注釋層次化………………………………………………………………… 178
4.3 交互界面清晰化…………………………………………………………… 178
4.4 模塊劃分最優(yōu)化…………………………………………………………… 178
4.5 方案精細(xì)化………………………………………………………………… 179
4.6 時(shí)序流水化………………………………………………………………… 179
參考文獻(xiàn)……………………………………………………………………………… 181