《可編程技術(shù)與計(jì)算機(jī)系統(tǒng)實(shí)驗(yàn)與實(shí)踐教程》系統(tǒng)地介紹可編程技術(shù)的原理、編程語言以及基于FPGA的設(shè)計(jì)方法與實(shí)現(xiàn),在此基礎(chǔ)上討論基本數(shù)字電路的設(shè)計(jì)方法與實(shí)現(xiàn),并通過對(duì)計(jì)算機(jī)硬件系統(tǒng)的組織與結(jié)構(gòu)進(jìn)行分析,詳細(xì)介紹計(jì)算機(jī)系統(tǒng)的一般設(shè)計(jì)方法與實(shí)現(xiàn),使學(xué)生在基本的功能部件設(shè)計(jì)基礎(chǔ)上,設(shè)計(jì)計(jì)算機(jī)模型系統(tǒng),建立計(jì)算機(jī)的整機(jī)概念,了解數(shù)據(jù)在計(jì)算機(jī)中的表示、傳送、處理以及控制信息是如何完成對(duì)計(jì)算機(jī)系統(tǒng)的控制。
本書取材新穎實(shí)用,采用實(shí)驗(yàn)項(xiàng)目教學(xué)的組織形式,內(nèi)容由淺入深,循序漸進(jìn)。每個(gè)實(shí)驗(yàn)項(xiàng)目具有較強(qiáng)的獨(dú)立性,實(shí)驗(yàn)項(xiàng)目內(nèi)容、要求和方法設(shè)計(jì)詳細(xì),精心安排,可直接用于實(shí)驗(yàn)教學(xué)。書中還給出了大量設(shè)計(jì)實(shí)例及擴(kuò)展方案,不僅可以作為教學(xué)內(nèi)容進(jìn)行學(xué)習(xí),部分內(nèi)容還具有工程實(shí)踐價(jià)值。
本書可作為高等院校計(jì)算機(jī)類、電子類和自動(dòng)化類等有關(guān)專業(yè)的實(shí)踐教材和參考書,還可供相關(guān)工程技術(shù)人員參考。
“數(shù)字邏輯課程”和“計(jì)算機(jī)組成原理課程”是計(jì)算機(jī)專業(yè)核心的專業(yè)基礎(chǔ)課,具有較強(qiáng)的工程性、技術(shù)性和實(shí)踐性,這兩門課程對(duì)應(yīng)的實(shí)踐環(huán)節(jié)也占有重要的位置,一些高校的計(jì)算機(jī)專業(yè)單獨(dú)開設(shè)了“數(shù)字邏輯實(shí)驗(yàn)”和“計(jì)算機(jī)組成實(shí)驗(yàn)”等相關(guān)實(shí)驗(yàn)課程。一些軟件工程和信息安全等專業(yè)方向的院校也將這兩門實(shí)驗(yàn)課程合二為一,開設(shè)了“計(jì)算機(jī)硬件實(shí)驗(yàn)課程”。為了落實(shí)《國家中長期教育改革和發(fā)展規(guī)劃綱要(2010—2020年)》,注重學(xué)生的智力開發(fā)和能力培養(yǎng),我們構(gòu)建了一個(gè)相對(duì)完善的計(jì)算機(jī)硬件系列實(shí)驗(yàn)教學(xué)體系,經(jīng)過多年的教學(xué)經(jīng)驗(yàn)積累,開發(fā)了基于可編程技術(shù)的數(shù)字邏輯電路、計(jì)算機(jī)部件、計(jì)算機(jī)系統(tǒng)等相關(guān)實(shí)驗(yàn)項(xiàng)目,編寫了本書。
本書的使用對(duì)象是高等院校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的本科生和研究生,軟件工程和信息安全等相關(guān)專業(yè)本科生和研究生,也可作為電子類和自動(dòng)化類等有關(guān)專業(yè)的實(shí)踐教材和參考書。
本書在內(nèi)容安排上共分9章。
第1章是緒論,主要介紹可編程技術(shù)相關(guān)概念,并闡述了基于可編程技術(shù)的計(jì)算機(jī)系統(tǒng)實(shí)驗(yàn)方法。
第2章介紹可編程技術(shù)基礎(chǔ)知識(shí)和實(shí)驗(yàn)環(huán)境,包括VHDL硬件描述語言、Quartus Ⅱ軟件開發(fā)環(huán)境和GW48CP++實(shí)驗(yàn)臺(tái)的使用方法。
第3章設(shè)計(jì)一系列可編程技術(shù)基礎(chǔ)實(shí)驗(yàn)項(xiàng)目,主要目的是通過實(shí)驗(yàn)項(xiàng)目使學(xué)生進(jìn)一步掌握FPGA開發(fā)技術(shù)、VHDL設(shè)計(jì)方法以及Quartus Ⅱ軟件和GW48CP++實(shí)驗(yàn)臺(tái)的使用方法。
第4章設(shè)計(jì)一系列組合邏輯電路實(shí)驗(yàn)項(xiàng)目,包括基本門電路、編譯碼及代碼轉(zhuǎn)換電路實(shí)驗(yàn),主要目的是通過實(shí)驗(yàn)掌握組合邏輯電路設(shè)計(jì)方法。
第5章設(shè)計(jì)一系列時(shí)序邏輯電路實(shí)驗(yàn)項(xiàng)目,包括觸發(fā)器、寄存器、計(jì)數(shù)器和信號(hào)發(fā)生器等電路實(shí)驗(yàn),主要目的是通過實(shí)驗(yàn)掌握時(shí)序邏輯電路設(shè)計(jì)方法。
第6章設(shè)計(jì)一系列計(jì)算機(jī)部件實(shí)驗(yàn),包括運(yùn)算器、存儲(chǔ)器、控制器和總線控制等計(jì)算機(jī)部件相關(guān)實(shí)驗(yàn),使學(xué)生掌握計(jì)算機(jī)部件的設(shè)計(jì)方法和工作原理。
第7章設(shè)計(jì)計(jì)算機(jī)組成實(shí)驗(yàn),包括基本模型機(jī)、帶移位功能模型機(jī)和復(fù)雜模型機(jī)3個(gè)實(shí)驗(yàn)項(xiàng)目,目的是鞏固學(xué)生的計(jì)算機(jī)組成原理知識(shí)和提高基于FPGA技術(shù)的硬件設(shè)計(jì)能力。
第8章介紹基于Nios Ⅱ的SOPC基礎(chǔ)知識(shí)和實(shí)驗(yàn)項(xiàng)目。使學(xué)生掌握嵌入式處理器概念和設(shè)計(jì)方法,掌握利用嵌入式處理器設(shè)計(jì)復(fù)雜計(jì)算機(jī)系統(tǒng)的方法,進(jìn)一步提高FPGA開發(fā)能力。
第9章設(shè)計(jì)一系列基于FPGA的綜合性實(shí)驗(yàn)項(xiàng)目,涵蓋多個(gè)數(shù)字邏輯和計(jì)算機(jī)組成原理相關(guān)知識(shí)點(diǎn),進(jìn)一步提高學(xué)生的設(shè)計(jì)能力和綜合實(shí)踐能力。
任課教師可單獨(dú)開設(shè)實(shí)驗(yàn)課或者在理論課中安排課內(nèi)實(shí)驗(yàn),可以根據(jù)教學(xué)大綱和本書的特點(diǎn)來安排實(shí)驗(yàn)內(nèi)容。
本書的特點(diǎn)及教學(xué)建議如下。
(1) 全書采用實(shí)驗(yàn)項(xiàng)目教學(xué)的組織形式,內(nèi)容由淺入深,循序漸進(jìn)。每個(gè)實(shí)驗(yàn)項(xiàng)目具有較強(qiáng)的獨(dú)立性,實(shí)驗(yàn)項(xiàng)目內(nèi)容、要求和方法設(shè)計(jì)詳細(xì),精心安排,可直接用于實(shí)驗(yàn)教學(xué)。書中還給出了大量設(shè)計(jì)實(shí)例及擴(kuò)展方案,不僅可以作為教學(xué)內(nèi)容進(jìn)行學(xué)習(xí),部分內(nèi)容還具有了實(shí)踐價(jià)值。
(2) 全書設(shè)置豐富的實(shí)驗(yàn)項(xiàng)目,實(shí)驗(yàn)內(nèi)容靈活設(shè)置,每個(gè)實(shí)驗(yàn)項(xiàng)目詳細(xì)介紹基本原理和實(shí)驗(yàn)步驟,可以直接作為演示性或驗(yàn)證性實(shí)驗(yàn)。在每個(gè)實(shí)驗(yàn)項(xiàng)目中,在編譯、仿真等階段由簡(jiǎn)至深的實(shí)驗(yàn)要求,可以根據(jù)實(shí)際情況靈活設(shè)置實(shí)驗(yàn)難度和要求,將實(shí)驗(yàn)作為設(shè)計(jì)性實(shí)驗(yàn)。此外,大多數(shù)實(shí)驗(yàn)項(xiàng)目還增設(shè)了擴(kuò)展實(shí)驗(yàn)內(nèi)容,較大地提升了實(shí)驗(yàn)的設(shè)計(jì)空間,增強(qiáng)了實(shí)驗(yàn)的設(shè)計(jì)性、綜合性和創(chuàng)新性。
本書在編寫過程中,得到了哈爾濱工程大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院和校實(shí)資處的有關(guān)領(lǐng)導(dǎo)和教師的大力關(guān)懷和支持,在此謹(jǐn)向他們表示誠摯的謝意。
編者雖然從事計(jì)算機(jī)實(shí)踐教學(xué)工作多年,但由于水平有限,書中難免存在錯(cuò)誤和不完善之處,歡迎廣大讀者批評(píng)指正,以促進(jìn)我們的實(shí)驗(yàn)教學(xué)水平不斷提高。
編者
2014年10月于哈爾濱
第]章 緒論
1.1 可編程邏輯器件介紹
1.2 FPGA/CPLD設(shè)計(jì)入門
1.2.1 FPGA/CPLD設(shè)計(jì)的基本方法
1.2.2 FPGA/CPLD設(shè)計(jì)的基本流程
1.3 基于可編程技術(shù)的計(jì)算機(jī)系統(tǒng)實(shí)驗(yàn)方法
第2章 可編程技術(shù)初步與實(shí)驗(yàn)環(huán)境
2.1 VHDL基礎(chǔ)
2.1.1 VHDL簡(jiǎn)介
2.1.2 VHDL語言基礎(chǔ)
2.1.3 VHDL基本結(jié)構(gòu)
2.1.4 VHDL主要功能語句
2.1.5 基本VHDL程序分析
2.2 Quartus lI軟件入門
2.2.1 設(shè)計(jì)流程
2.2.2 Quartus lI設(shè)計(jì)輸入
2.2.3 綜合
2.2.4 布局布線
2.2.5 基于模塊的設(shè)計(jì)
2.2.6 仿真
2.2.7 時(shí)序分析器
2.2.8 時(shí)序逼近
2.2.9 功耗分析
2.2.10 編程和配置
2.2.11 調(diào)試
2.2.12 工程改革管理
2.2.13 形式驗(yàn)證
2.2.14 系統(tǒng)級(jí)設(shè)計(jì)
2.3 FPGA實(shí)驗(yàn)開發(fā)平臺(tái)簡(jiǎn)介
2.3.1 康芯GW48一CP十十實(shí)驗(yàn)開發(fā)系統(tǒng)
2.3.2 實(shí)驗(yàn)系統(tǒng)的主板結(jié)構(gòu)和使用方法
2.3.3 實(shí)驗(yàn)系統(tǒng)電路結(jié)構(gòu)圖
2.3.4 實(shí)驗(yàn)系統(tǒng)引腳分配表
2.3.5 實(shí)驗(yàn)臺(tái)電路結(jié)構(gòu)選擇與引腳鎖定方法
第3章 可編程技術(shù)實(shí)驗(yàn)設(shè)計(jì)
3.1 可編程技術(shù)基礎(chǔ)實(shí)驗(yàn)
3.1.1 熟悉FPGA軟硬件開發(fā)環(huán)境
3.1.2 利用VHDL設(shè)計(jì)十進(jìn)制加法計(jì)數(shù)器
3.1.3 利用原理圖設(shè)計(jì)2—4譯碼器
3.1.4 Altera元器件庫宏功能模塊
3.1.5 元器件自定義與使用
3.1.6 利用原理圖層次化方法設(shè)計(jì)l位全加器
3.1.7 QuartusⅡ的混合輸入及層次化設(shè)計(jì)
3.2 可編程技術(shù)實(shí)驗(yàn)常見問題與解決方法
3.2.1 QuartusⅡ軟件使用常見問題與解決方法
3.2.2 “編譯”過程常見問題與解決方法
3.2.3 “仿真”過程常見問題與解決方法
3.2.4 “編程下載”過程常見問題與解決方法
3.2.5 “實(shí)驗(yàn)臺(tái)操作”過程常見問題與解決方法
第4章 組合邏輯電路實(shí)驗(yàn)設(shè)計(jì)
4.1 組合邏輯電路設(shè)計(jì)方法
4.1.1 組合邏輯電路的特點(diǎn)
4.1.2 組合邏輯電路的設(shè)計(jì)方法
4.2 基本門電路實(shí)驗(yàn)
4.3 典型組合電路實(shí)驗(yàn)
4.3.1 半加器
4.3.2 全加器
4.3.3 全加/全減器
4.3.4 多數(shù)表決電路
4.3.5 比較電路
4.4 可靠性編碼電路實(shí)驗(yàn)
4.4.1 偶校驗(yàn)發(fā)生器、檢測(cè)器電路
4.4.2 步進(jìn)碼發(fā)生器電路
4.5 編、譯碼及代碼轉(zhuǎn)換電路實(shí)驗(yàn)
4.5.1 3-8線譯碼器電路