《基于FPGA的SOPC實踐教程》共分8章。第1章為概述,第2章和第3章分別詳細(xì)介紹了Quartus Ⅱ 8.0、ModelSim SE 6.0、SOPC軟件的使用方法。并針對每個軟件選擇一個經(jīng)典的實例引導(dǎo)讀者熟悉使用軟件進(jìn)行設(shè)計的過程;第4章介紹了8個基于FPGA的基礎(chǔ)實驗,引領(lǐng)讀者快速入門;第5章介紹了8個綜合實驗,進(jìn)一步促使讀者熟練使用FPGA設(shè)計數(shù)字系統(tǒng),掌握基本設(shè)計技巧;第6章是SOPC系統(tǒng)實驗,循序漸進(jìn)地講解了8個實例系統(tǒng)的設(shè)計,每個系統(tǒng)都是在前一個系統(tǒng)之上加上特殊功能構(gòu)成一個新系統(tǒng),這是《基于FPGA的SOPC實踐教程》的一大特點,讀者可全面了解各個模塊在系統(tǒng)設(shè)計中所起的作用,從而掌握SOPC系統(tǒng)設(shè)計的關(guān)鍵技術(shù);第7章介紹了使用Quartus Ⅱ 8.0、ModelSim SE 6.0、Nios Ⅱ 8.0設(shè)計過程中的常見錯誤提示和解決方法;第8章是TD-EDA/SOPC綜合實驗平臺和DE2開發(fā)板簡介!痘贔PGA的SOPC實踐教程》可作為普通高等院校計算機科學(xué)與技術(shù)、信息安全、電子信息工程、通信工程、自動化等專業(yè)學(xué)生的教材,也可供從事FPGA開發(fā)的科研人員使用。
更多科學(xué)出版社服務(wù),請掃碼獲取。
基于FPGA(Field Programmable Gate Array)的電子系統(tǒng)設(shè)計技術(shù)是21世紀(jì)電子應(yīng)用工程師必備的基本技能之一,而基于FPGA的SOPC(System 0nProgrammable Chip)設(shè)計技術(shù)是當(dāng)前電子系統(tǒng)設(shè)計領(lǐng)域最前沿的技術(shù)之一。A1tera公司、Xilinx公司、Lattice公司等全球最重要的FPGA及EDA公司都分別推出SOPC系統(tǒng)解決方案。SOPC設(shè)計技術(shù)將是2l世紀(jì)的技術(shù)發(fā)展趨勢,是現(xiàn)在高等院校和社會嵌入式培訓(xùn)班主要的培訓(xùn)內(nèi)容和亮點。
本書的SOPC設(shè)計具體包括以32位Nios II為核心的嵌入式系統(tǒng)的硬件配置、硬件設(shè)計、硬件仿真、軟件設(shè)計以及軟件調(diào)試等。SOPC系統(tǒng)設(shè)計的基本軟件工具包括以下幾方面。
。1)Quartus II:用于完成.Nios II系統(tǒng)的綜合、硬件優(yōu)化、適配、編程下載及硬件系統(tǒng)調(diào)試等;
。2)SOPC Builder:Altera Nios II嵌入式處理器開發(fā)軟件包,用于實現(xiàn)NiosII系統(tǒng)的配置、生成;
(3)ModelSim:用于對SOPC生成的Nios H系統(tǒng)的HDL描述進(jìn)行系統(tǒng)功能仿真;
。4)Nios II IDE:用于進(jìn)行軟件開發(fā)、調(diào)試及向目標(biāo)開發(fā)板進(jìn)行Flash下載。
目前市場上同類的SOPC:書籍比較少,而且清一色地介紹編程語言和基礎(chǔ)原理,對設(shè)計技術(shù)細(xì)節(jié)和實際工程案例涉及甚微,與SOPC設(shè)計技術(shù)現(xiàn)在的蓬勃發(fā)展與大量應(yīng)用不符,本書的出版正可以填補這方面的空白。本書以實用和應(yīng)用為基本原則,根據(jù)作者多年積累的開發(fā)經(jīng)驗,通過講練結(jié)合、循序漸進(jìn)的形式來講解,便于讀者快速入門與提高。
本書從可編程器件+EDA軟件+硬件描述語言+SOPC Builder的現(xiàn)代數(shù)字系統(tǒng)的設(shè)計方法出發(fā),使讀者在掌握了VHDL或Vetrilog HDL后,進(jìn)一步學(xué)習(xí)本書介紹的最新設(shè)計軟件Quartus II、SOPC Builder、ModelSim以及Nios II IDE,這對他們今后的設(shè)計工作有很大幫助。
本書是作者結(jié)合近幾年的實踐教學(xué)經(jīng)驗,針對學(xué)生面臨的實際問題,參考了大量設(shè)計方面的書籍和技術(shù)文獻(xiàn)組織編寫的,在這里向這些資料的作者表示衷心的感謝。本書的實驗內(nèi)容充分吸納借鑒了西安唐都公司和ALtera公司工程師的經(jīng)驗和資料,尤其感謝唐都公司的技術(shù)人員,他們在實例設(shè)計中給予了大量的技術(shù)支持,提高了本書的水平和實用價值。
目錄
前言
第一部分 FPGA設(shè)計軟件及工具入門
第1章 概述 1
第2章 常用FPGA開發(fā)工具 4
2.1 硬件開發(fā)工具Quartus II 8.0 4
2.1.1 Quartus II 8.0簡介 4
2.1.2 Quartus II 8.0設(shè)計流程 5
2.1.3 Quartus II 設(shè)計方法 9
2.1.4 Quartus II 功能詳解 11
2.1.5 時序約束與分析 20
2.1.6 設(shè)計優(yōu)化 28
2.1.7 SignalTap II 36
2.1.8 實例講解 40
2.2 ModelSim開發(fā)工具 49
2.2.1 ModelSim簡介 50
2.2.2 基本仿真步驟 50
2.2.3 ModelSim各界面介紹 53
2.2.4 ModelSim調(diào)試功能 59
2.2.5 實例講解 63
2.3 本章小結(jié) 70
第3章 SOPC系統(tǒng)設(shè)計入門 71
3.1 SOPC技術(shù)簡介 71
3.1.1 SOPC技術(shù)的主要特點 71
3.1.2 SOPC技術(shù)的實現(xiàn)方式 72
3.1.3 SOPC系統(tǒng)的開發(fā)流程 74
3.2 基于SOPC的Nios II 處理器設(shè)計 74
3.2.1 SOPC Builder功能 75
3.2.2 SOPC Builder組成 77
3.2.3 SOPC Builder組件 81
3.2.4 SOPC Builder應(yīng)用實例 83
3.3 本章小結(jié) 95
第二部分 FPGA實驗
第4章 數(shù)字系統(tǒng)基礎(chǔ)實驗設(shè)計 96
4.1 編碼器實驗 96
4.2 譯碼器實驗 97
4.3 加法器實驗 99
4.4 乘法器實驗 102
4.5 寄存器實驗 105
4.6 計數(shù)器實驗 107
4.7 分頻器實驗 108
4.8 存儲器實驗 111
第5章 數(shù)字系統(tǒng)綜合實驗設(shè)計 114
5.1 鍵盤掃描輸入實驗 114
5.2 掃描數(shù)碼顯示器實驗 116
5.3 點陣顯示實驗 118
5.4 交通燈控制實驗 120
5.5 數(shù)字鐘實驗 123
5.6 液晶顯示實驗 125
5.7 PS/2接口實驗 133
5.8 VGA顯示實驗 135
第三部分 基于FPGA的SOPC系統(tǒng)實驗
第6章 SOPC嵌入式系統(tǒng)實驗 139
6.1 流水燈實驗 139
6.2 JTAG UART通信實驗 150
6.3 LCM 顯示實驗 159
6.4 按鍵中斷實驗 162
6.5 計數(shù)顯示實驗 168
6.6 串口通信實驗 171
6.7 外部Flash擴展實驗 175
6.8 添加用戶組件外設(shè)實驗 181
第四部分 常見問題與常用實驗平臺簡介
第7章 常見問題 191
7.1 Quartus II 常見問題 191
7.2 ModelSim常見問題 197
7.3 Nios II 常見問題 199
第8章 FPGA常用綜合實驗平臺 204
8.1 TD-EDA/SOPC綜合實驗平臺簡介 204
8.2 DE2開發(fā)板簡介 210
參考文獻(xiàn) 213
第一部分FPGA設(shè)計軟件及工具入門
基于FPGA的SOPC系統(tǒng)設(shè)計實驗與實踐教程是計算機科學(xué)與技術(shù)、信息安全、電子信息工程、通信工程、自動化等專業(yè)的學(xué)生必修的一門專業(yè)基礎(chǔ)課。它要求學(xué)生掌握數(shù)字邏輯的基本理論、基本分析與設(shè)計方法,具備用VHDL(或Veri-logHDL)語言進(jìn)行數(shù)字邏輯設(shè)計的能力,為后續(xù)專業(yè)課程的學(xué)習(xí)和今后從事數(shù)字系統(tǒng)設(shè)計工作打下良好基礎(chǔ)!痘贔PGA的SOPC實踐教程》是一門理論與實踐相結(jié)合的教程,目的是提高學(xué)生對所學(xué)內(nèi)容的感性認(rèn)識和對知識點的理解,培養(yǎng)學(xué)生分析問題、解決問題的能力。
開設(shè)基于FPGA的SOPC實踐課程,可以鞏固、加深和拓寬課堂教學(xué)的內(nèi)容;可以幫助學(xué)生更好地了解數(shù)字系統(tǒng)設(shè)計的思想和方法,熟悉數(shù)字系統(tǒng)設(shè)計自上而下的層次概念及模塊化的設(shè)計思路。隨著電子技術(shù)的發(fā)展,芯片的復(fù)雜程度越來越高,用可編程邏輯器件設(shè)計出的數(shù)字系統(tǒng)電路,具有簡化系統(tǒng)設(shè)計、增強系統(tǒng)可靠性及靈活性的優(yōu)良性能?删幊碳夹g(shù)是當(dāng)前電子工程設(shè)計人員設(shè)計數(shù)字系統(tǒng)時所采用的先進(jìn)技術(shù)手段,體現(xiàn)了現(xiàn)代EDA電子技術(shù)的發(fā)展動態(tài),有著較強的實際應(yīng)用價值。為使學(xué)生跟上電子技術(shù)的發(fā)展步伐,我們將先進(jìn)的基于FPGA的SOPC系統(tǒng)設(shè)計技術(shù)引人實驗教學(xué),目的就是讓學(xué)生在初步掌握數(shù)字系統(tǒng)設(shè)計思想和方法的同時,能夠在計算機上使用QuartusII8.0進(jìn)行VHDL(VerilogHDL)語言的編程、編譯,掌握使用專業(yè)仿真軟件ModelSimSE6.0對數(shù)字系統(tǒng)進(jìn)行功能和時序仿真,進(jìn)一步學(xué)習(xí)使用SOPCBuilder進(jìn)行嵌入式系統(tǒng)設(shè)計。因此實驗就是設(shè)計的過程,通過對這些設(shè)計軟件平臺和工具的學(xué)習(xí)與運用,要求學(xué)生掌握使用EDA軟件進(jìn)行數(shù)字系統(tǒng)的設(shè)計與調(diào)試方法;掌握基于VHDL(或verilogHDL)語言的模塊設(shè)計方法;最終學(xué)會多種數(shù)字系統(tǒng)的分析、設(shè)計、電路調(diào)試及錯誤排查方法。目的是培養(yǎng)學(xué)生在整個實驗過程中耐心、細(xì)致的科研作風(fēng),鼓勵他們勇于開拓創(chuàng)新;培養(yǎng)學(xué)生的實踐動手能力和團(tuán)隊合作精神,以及分析和解決實際問題的能力。