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