高等學(xué)校通用教材:Verilog SOPC高級實驗教程(附光盤)
定 價:33 元
- 作者:夏宇聞 等 著
- 出版時間:2009/9/1
- ISBN:9787811248821
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TP312VH
- 頁碼:258
- 紙張:膠版紙
- 版次:1
- 開本:16開
《Verilog SOPC高級實驗教程》是《Verilog數(shù)字系統(tǒng)設(shè)計教程》(第2版)的后續(xù)課程,是姊妹篇。《Verilog SOPC高級實驗教程》通過由淺入深的10個實驗,詳細地介紹了ModelSim 6.0和Quartus Ⅱ 8.1的操作步驟,扼要地介紹了Quartus Ⅱ 8.1的主要設(shè)計資源和SOPCBuilder等工具的應(yīng)用方法,并闡述了如何配合自己設(shè)計的Verilog模塊和FPGA中的內(nèi)嵌處理器Nios Ⅱ 等現(xiàn)成IP資源,設(shè)計并實現(xiàn)高性能嵌入式硬件/軟件系統(tǒng)。本實驗教程也可以作為集成電路設(shè)計專業(yè)系統(tǒng)芯片(SoC)前端邏輯設(shè)計和驗證課程的實驗教材。為了使闡述的內(nèi)容更加具體,本教程中的每個實驗均選用Altera FPGA (型號為Cyclone Ⅱ EP2C35F672C8)實現(xiàn),并在革新科技公司專業(yè)級實驗平臺GXSOC/SOPC運行通過。Verilog SOPC 高級實驗教程是為學(xué)習(xí)Verilog語言之后,想在FPGA上設(shè)計并實現(xiàn)嵌入式數(shù)字系統(tǒng)的人們而專門編寫的。
《Verilog SOPC高級實驗教程》可作為電子信息、自動控制、計算機工程類大學(xué)本科高年級學(xué)生和研究生的教學(xué)用書,亦可供其他工程技術(shù)人員自學(xué)與參考。
《Verilog SOPC高級實驗教程》共分10講內(nèi)容,第1講至第5講和實驗是為了介紹ModemSim仿真工具和Quartus Ⅱ綜合工具的使用,以及基本的設(shè)計方法、RTL功能仿真、時序仿真和硬件運行仿真的概念;第6講到第10講內(nèi)容和實驗是為學(xué)習(xí)如何創(chuàng)建和利用現(xiàn)成的IP資源而專門設(shè)計的!禫erilog SOPC高級實驗教程(附盤)》可作為電子信息、自動控制、計算機工程類大學(xué)本科高年級學(xué)生和研究生的教學(xué)用書,亦可供其他工程技術(shù)人員自學(xué)與參考
我們知道,經(jīng)過仿真證明是正確的RTL Verilog模塊可以通過EDA工具綜合成邏輯網(wǎng)表,并通過布局布線工具與物理電路對應(yīng)起來。因此,正確無誤的RTLVerilog模塊可以很方便地轉(zhuǎn)換成與某具體工藝對應(yīng)的物理電路。這就是為什么說RTL Verilog模塊比固定電路具有更大靈活性的緣故。RTL模塊不但可以映射到不同工藝和原理的基本電路,而且可以通過Verilog HDL語言支持的參數(shù),將配置的參數(shù)值傳入RTL模塊,從而產(chǎn)生靈活多變的系列物理電路。
在本實驗教程中,將從設(shè)計簡單的模塊開始,將其參數(shù)化,又通過參數(shù)設(shè)置將其轉(zhuǎn)換成一個規(guī)模較大的電路?梢酝ㄟ^綜合工具將其轉(zhuǎn)變成邏輯網(wǎng)表,然后由布局布線工具將網(wǎng)表轉(zhuǎn)換成某種FPGA芯片或某種工藝的物理電路。在本實驗教程中,為了方便起見,只將其轉(zhuǎn)換成Altera CycloneⅡEP2C35 FPGA實驗板上能運行的物理電路。首先經(jīng)過ModelSim仿真已被證明行為和時序都正確的Verilog模塊,配置引腳后還需要進行一次布局布線,然后將所生成的物理電路文件下載到CycloneⅡFPGA實驗板上,通過硬件運行,再一次驗證所設(shè)計的電路是正確的,這樣就有了一個隨時可以使用的RTL模塊。逐個積累每個模塊的設(shè)計資源,再將這些模塊配合系統(tǒng)中已經(jīng)有的宏模塊構(gòu)成很大的系統(tǒng),從而完成具有自己知識產(chǎn)權(quán)的復(fù)雜芯片設(shè)計。由此可見,所謂SoC芯片前端的邏輯設(shè)計過程,其實只是在理解芯片(設(shè)計項目)的功能和原理基礎(chǔ)上,將其分割成可以操作的多個模塊,逐塊加以實現(xiàn)和驗證,最后合在一起在大型FPGA上驗證的過程。
在Altera QuartusⅡ8.1的工具包中包含許多已經(jīng)驗證的宏模塊(megacore),這些宏模塊為設(shè)計者構(gòu)建復(fù)雜數(shù)字系統(tǒng)提供了極大的便利。由于開發(fā)環(huán)境中已經(jīng)有許多可以利用的資源,所以,合理地利用免費的或者需要付一定費用的技術(shù)資源能顯著加快設(shè)計的進度,提高設(shè)計的質(zhì)量。這對數(shù)字系統(tǒng)設(shè)計師而言,無疑是一個很重要的環(huán)節(jié),使得我們能對商業(yè)化的設(shè)計資源進行估價,根據(jù)市場的大小、上市進度,以及設(shè)計經(jīng)費的預(yù)算等因素,迅速地做出采用商業(yè)化IP資源的權(quán)衡和決策,并加以實施。這些能力是SoC設(shè)計師應(yīng)該具備的。
在本實驗教程中,第1講至第5講和實驗是為了介紹ModemSim仿真工具和QuartusⅡ綜合工具的使用,以及基本的設(shè)計方法、RTL功能仿真、時序仿真和硬件運行仿真的概念;第6講到第10講內(nèi)容和實驗是為學(xué)習(xí)如何創(chuàng)建和利用現(xiàn)成的IP資源而專門設(shè)計的。
在本實驗教程的后面,有很大一部分涉及NiosⅡCPU核的使用。任何復(fù)雜的數(shù)字系統(tǒng)都離不開負責(zé)處理人機界面、數(shù)學(xué)計算、系統(tǒng)內(nèi)存管理、進程管理,和外設(shè)管理等基本操作的CPU。學(xué)會利用Altera QuartusⅡ的SopcBuilder工具,合理地配置系統(tǒng)所需要的嵌入式處理器核,并與自己設(shè)計的模塊結(jié)合而構(gòu)成一個完整的系統(tǒng)硬件架構(gòu),再配置合理的操作系統(tǒng),并編寫應(yīng)用程序?qū)τ赟oC系統(tǒng)的前端設(shè)計都是非常重要的。
SoC芯片前端設(shè)計包括的內(nèi)容非常廣泛,數(shù)字電路的設(shè)計只是基礎(chǔ),而更多的內(nèi)容涉及現(xiàn)成資源的合理配置和應(yīng)用,特別是CPU資源的利用所涉及的面很廣,不但有計算機體系結(jié)構(gòu)、外圍設(shè)備和操作系統(tǒng)的選擇問題,還有運算速度和輸入輸出資源配套等問題。
第1講 ModelSim SE 6.0的操作1
1.1 創(chuàng)建設(shè)計文件的目錄2
1.2 編寫RTL代碼3
1.3 編寫測試代碼3
1.4 開始RTL仿真前的準備工作4
1.5 編譯前的準備、編譯和加載5
1.6 波形觀察器的設(shè)置5
1.7 仿真的運行控制5
總結(jié)6
思考題6
第2講 Quartus 8.1入門8
2.1 Quartus Ⅱ的基本操作知識8
2.2 Quartus Ⅱ的在線幫助9
2.3 建立新的設(shè)計項目9
2.4 用線路原理圖為輸入設(shè)計電路 12
2.4.1 圖塊編輯器的使用12
2.4.2 線路原理圖文件與Verilog 文件之間的轉(zhuǎn)換16
2.5 編譯器的使用16
2.6 對已設(shè)計的電路進行仿真19
2.7 對已布局布線的電路進行時序仿真20
總結(jié)21
思考題21
第3講 用Altera器件實現(xiàn)電路23
3.1 用Cyclone ⅡFPGA實現(xiàn)電路 23
3.2 芯片的選擇24
3.3 項目的編譯26
3.4 在FPGA中實現(xiàn)設(shè)計的電路27
總結(jié)35
思考題35
第4講 參數(shù)化模塊庫的使用37
4.1 在Quartus Ⅱ下建立引用參數(shù)化模塊的目錄和設(shè)計項目37
4.2 在Quartus Ⅱ下進入設(shè)計資源引用環(huán)境37
4.3 參數(shù)化加法-減法器的配置和確認38
4.4 參數(shù)化加法器的編譯和時序分析43
4.5 復(fù)雜算術(shù)運算的硬件邏輯實現(xiàn)43
總結(jié)44
思考題45
第5講 鎖相環(huán)模塊和SignalTap的使用48
5.1 在Quartus Ⅱ下建立引用參數(shù)化模塊的目錄和設(shè)計項目48
5.2 在Quartus Ⅱ下進入設(shè)計資源引用環(huán)境49
5.3 參數(shù)化鎖相環(huán)的配置和確認49
5.4 參數(shù)化鎖相環(huán)配置后生成的Verilog代碼53
5.5 參數(shù)化PLL的實例引用57
5.6 設(shè)計模塊電路引腳的分配59
5.7 用ModelSim對設(shè)計電路進行布局布線后仿真圖60
5.8 Signal Tap Ⅱ的使用62
5.8.1 Signal Tap Ⅱ和其他邏輯電路調(diào)試工具的原理63
5.8.2 調(diào)用Signal Tap Ⅱ的方法63
5.8.3 Signal Tap Ⅱ的配置64
總結(jié)70
思考題71
第6講 Quartus ⅡSOPCBuilder的使用73
6.1 Quartus ⅡSOPCBuilder的總體介紹73
6.2 SOPCBuilder人機界面的介紹73
6.3 將Nios Ⅱ處理器核添加到系統(tǒng)75
6.4 部件之間連接的確定76
6.5 系統(tǒng)內(nèi)存部件的確定及其在系統(tǒng)中的添加77
6.6 系統(tǒng)構(gòu)成部件的重新命名和系統(tǒng)的標識符78
6.7 基地址和中斷請求優(yōu)先級別的指定78
6.8 Nios Ⅱ復(fù)位和異常地址的設(shè)置79
6.9 Nios Ⅱ系統(tǒng)的生成79
6.10 將配置好的 Nios Ⅱ核集成到MyNiosSystem項目81
6.11 用 Nios Ⅱ軟件集成開發(fā)環(huán)境IDE建立用戶程序83
6.12 軟件代碼解釋87
總結(jié)88
思考題和實驗88
第7講 在Nios Ⅱ系統(tǒng)中融入IP91
7.1 Avalon總線概況91
7.2 設(shè)計模塊和信號輸入電路簡介92
7.2.1 LED陣列顯示接口的設(shè)計( leds_matrix.v )92
7.2.2 按鈕信號的輸入(button.v)98
7.3 硬件設(shè)計步驟100
7.3.1 建一個目錄放置設(shè)計文件100
7.3.2 創(chuàng)建設(shè)計的組件101
7.3.3 Nios Ⅱ系統(tǒng)的構(gòu)成105
7.3.4 對Verilog 文件的歸納和編寫設(shè)計項目的頂層文件108
7.3.5 用.tcl文件對FPGA引腳的定義110
7.3.6 對項目的編譯113
7.3.7 把編譯生成的電路配置代碼下載到FPGA114
7.4 軟件設(shè)計步驟114
7.4.1 建立軟件程序目錄并調(diào)用Nios ⅡIDE114
7.4.2 程序的運行118
總結(jié)118
思考題119
第8講 LCD顯示控制器IP的設(shè)計121
8.1 LCD顯示的相關(guān)概念介紹121
8.1.1 位圖的基礎(chǔ)知識121
8.1.2 位圖的尺寸122
8.1.3 位圖顏色122
8.1.4 地址的線性、矩形選擇122
8.1.5 alpha混合122
8.1.6 TFT-LCD彩色顯示控制時序圖123
8.1.7 顯示器控制接口(IP)知識產(chǎn)權(quán)核介紹124
8.2 顯示控制器IP核總體結(jié)構(gòu)及其與嵌入式Nios Ⅱ處理器核的關(guān)系125
8.3 端口信號的說明127
8.4 顯示控制器IP核的基本操作128
8.5 顯示控制器IP寄存器的說明128
8.5.1 寄存器總體介紹128
8.5.2 控制寄存器組129
8.5.3 時序寄存器組130
8.5.4 背景層相關(guān)寄存器組131
8.6 模塊劃分及模塊功能簡介132
8.7 LCD IP模塊的測試137
8.8 在SOPC系統(tǒng)中應(yīng)用LCD顯示控制器IP核137
8.9 構(gòu)建SOPC系統(tǒng)145
8.10 引腳分配151
8.11 軟件開發(fā)153
8.12 軟件代碼解釋158
總結(jié)158
思考題159
第9講 BitBLT控制器IP161
9.1 圖形加速及BitBLT相關(guān)概念介紹161
9.1.1 位圖和BitBLT162
9.1.2 調(diào)色板162
9.1.3 顏色擴展163
9.1.4 顏色鍵控163
9.1.5 光柵操作163
9.2 BitBLT控制器IP介紹164
9.2.1 BitBLT控制器IP結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)框圖164
9.2.2 BitBLT控制器IP寄存器說明166
9.2.3 BitBLT控制器IP模塊說明167
9.3 BitBLT控制器IP使用示例169
9.3.1 構(gòu)建SOPC系統(tǒng)169
9.3.2 引腳分配173
9.3.3 軟件開發(fā)176
9.3.4 軟件源程序182
9.3.5 軟件代碼解釋189
總結(jié)190
思考題191
第10講 復(fù)雜SOPC系統(tǒng)的設(shè)計192
10.1 本講使用的主要組件簡介193
10.1.1 LCD控制器193
10.1.2 BitBLT控制器 193
10.2 硬件設(shè)計步驟193
10.2.1 Quartus Ⅱ工程的建立193
10.2.2 在工程中加入LCD控制器和BitBLT控制器194
10.2.3 Nios Ⅱ系統(tǒng)的構(gòu)成194
10.2.4 編寫設(shè)計項目頂層文件194
10.2.5 FPGA引腳定義194
10.2.6 編譯和下載項目194
10.3 軟件開發(fā)194
10.3.1 軟件程序介紹194
10.3.2 軟件結(jié)構(gòu)195
10.3.3 軟件源程序195
10.3.4 軟件代碼解釋203
總結(jié)203
思考題205
本書的結(jié)束語206
附錄 GX-SOC/ SOPC 專業(yè)級創(chuàng)新開發(fā)實驗平臺207
附錄1 GX-SOC/SOPC-DEV-LAB Platform開發(fā)實驗平臺概述207
附錄2 GX-SOC/SOPC-DEV-LAB Platform 創(chuàng)新開發(fā)實驗平臺簡介209
附錄3 GX-SOC/SOPC-DEV-LAB Platform創(chuàng)新開發(fā)實驗平臺的組成和結(jié)構(gòu)210
附錄4 GX-SOPC-EP2C35-M672 Cyclone Ⅱ核心板硬件資源介紹253
參考文獻259