內容簡介
《Verilog SOPC高級實驗教程》是《Verilog數字系統設計教程》(第2版)的後續課程,是姊妹篇。本實驗教程也可以作為積體電路設計專業系統晶片(SoC)前端邏輯設計和驗證課程的實驗教材。
為了使闡述的內容更加具體,本教程中的每個實驗均選用Altera FPGA (型號為Cyclone Ⅱ EP2C35F672C8)實現,並在革新科技公司專業級實驗平台GXSOC/SOPC運行通過。Verilog SOPC 高級實驗教程是為學習Verilog語言之後,想在FPGA上設計並實現嵌入式數字系統的人們而專門編寫的。
《Verilog SOPC高級實驗教程》可作為電子信息、自動控制、計算機工程類大學本科高年級學生和研究生的教學用書,亦可供其他工程技術人員自學與參考。
目錄
第1講 ModelSim SE 6.0的操作1
1.1 創建設計檔案的目錄2
1.2 編寫RTL代碼3
1.3 編寫測試代碼3
1.4 開始RTL仿真前的準備工作4
1.5 編譯前的準備、編譯和載入5
1.6 波形觀察器的設定5
1.7 仿真的運行控制5
總結6
思考題6
第2講 Quartus 8.1入門8
2.1 Quartus Ⅱ的基本操作知識8
2.2 Quartus Ⅱ的線上幫助9
2.3 建立新的設計項目9
2.4 用線路原理圖為輸入設計電路 12
2.4.1 圖塊編輯器的使用12
2.4.2 線路原理圖檔案與Verilog 檔案之間的轉換16
2.5 編譯器的使用16
2.6 對已設計的電路進行仿真19
2.7 對已布局布線的電路進行時序仿真20
總結21
思考題21
第3講 用Altera器件實現電路23
3.1 用Cyclone ⅡFPGA實現電路 23
3.2 晶片的選擇24
3.3 項目的編譯26
3.4 在FPGA中實現設計的電路27
總結35
思考題35
第4講 參數化模組庫的使用37
4.1 在Quartus Ⅱ下建立引用參數化模組的目錄和設計項目37
4.2 在Quartus Ⅱ下進入設計資源引用環境37
4.3 參數化加法-減法器的配置和確認38
4.4 參數化加法器的編譯和時序分析43
4.5 複雜算術運算的硬體邏輯實現43
總結44
思考題45
第5講 鎖相環模組和SignalTap的使用48
5.1 在Quartus Ⅱ下建立引用參數化模組的目錄和設計項目48
5.2 在Quartus Ⅱ下進入設計資源引用環境49
5.3 參數化鎖相環的配置和確認49
5.4 參數化鎖相環配置後生成的Verilog代碼53
5.5 參數化PLL的實例引用57
5.6 設計模組電路引腳的分配59
5.7 用ModelSim對設計電路進行布局布線後仿真圖60
5.8 Signal Tap Ⅱ的使用62
5.8.1 Signal Tap Ⅱ和其他邏輯電路調試工具的原理63
5.8.2 調用Signal Tap Ⅱ的方法63
5.8.3 Signal Tap Ⅱ的配置64
總結70
思考題71
第6講 Quartus ⅡSOPCBuilder的使用73
6.1 Quartus ⅡSOPCBuilder的總體介紹73
6.2 SOPCBuilder人機界面的介紹73
6.3 將Nios Ⅱ處理器核添加到系統75
6.4 部件之間連線的確定76
6.5 系統記憶體部件的確定及其在系統中的添加77
6.6 系統構成部件的重新命名和系統的標識符78
6.7 基地址和中斷請求優先權別的指定78
6.8 Nios Ⅱ復位和異常地址的設定79
6.9 Nios Ⅱ系統的生成79
6.10 將配置好的 Nios Ⅱ核集成到MyNiosSystem項目81
6.11 用 Nios Ⅱ軟體集成開發環境IDE建立用戶程式83
6.12 軟體代碼解釋87
總結88
思考題和實驗88
第7講 在Nios Ⅱ系統中融入IP91
7.1 Avalon匯流排概況91
7.2 設計模組和信號輸入電路簡介92
7.2.1 LED陣列顯示接口的設計( leds_matrix.v )92
7.2.2 按鈕信號的輸入(button.v)98
7.3 硬體設計步驟100
7.3.1 建一個目錄放置設計檔案100
7.3.2 創建設計的組件101
7.3.3 Nios Ⅱ系統的構成105
7.3.4 對Verilog 檔案的歸納和編寫設計項目的頂層檔案108
7.3.5 用.tcl檔案對FPGA引腳的定義110
7.3.6 對項目的編譯113
7.3.7 把編譯生成的電路配置代碼下載到FPGA114
7.4 軟體設計步驟114
7.4.1 建立軟體程式目錄並調用Nios ⅡIDE114
7.4.2 程式的運行118
總結118
思考題119
第8講 LCD顯示控制器IP的設計121
8.1 LCD顯示的相關概念介紹121
8.1.1 點陣圖的基礎知識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)智慧財產權核介紹124
8.2 顯示控制器IP核總體結構及其與嵌入式Nios Ⅱ處理器核的關係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 背景層相關暫存器組131
8.6 模組劃分及模組功能簡介132
8.7 LCD IP模組的測試137
8.8 在SOPC系統中套用LCD顯示控制器IP核137
8.9 構建SOPC系統145
8.10 引腳分配151
8.11 軟體開發153
8.12 軟體代碼解釋158
總結158
思考題159
第9講 BitBLT控制器IP161
9.1 圖形加速及BitBLT相關概念介紹161
9.1.1 點陣圖和BitBLT162
9.1.2 調色板162
9.1.3 顏色擴展163
9.1.4 顏色鍵控163
9.1.5 光柵操作163
9.2 BitBLT控制器IP介紹164
9.2.1 BitBLT控制器IP結構和系統結構框圖164
9.2.2 BitBLT控制器IP暫存器說明166
9.2.3 BitBLT控制器IP模組說明167
9.3 BitBLT控制器IP使用示例169
9.3.1 構建SOPC系統169
9.3.2 引腳分配173
9.3.3 軟體開發176
9.3.4 軟體源程式182
9.3.5 軟體代碼解釋189
總結190
思考題191
第10講 複雜SOPC系統的設計192
10.1 本講使用的主要組件簡介193
10.1.1 LCD控制器193
10.1.2 BitBLT控制器 193
10.2 硬體設計步驟193
10.2.1 Quartus Ⅱ工程的建立193
10.2.2 在工程中加入LCD控制器和BitBLT控制器194
10.2.3 Nios Ⅱ系統的構成194
10.2.4 編寫設計項目頂層檔案194
10.2.5 FPGA引腳定義194
10.2.6 編譯和下載項目194
10.3 軟體開發194
10.3.1 軟體程式介紹194
10.3.2 軟體結構195
10.3.3 軟體源程式195
10.3.4 軟體代碼解釋203
總結203
思考題205
本書的結束語206
附錄 GX-SOC/ SOPC 專業級創新開發實驗平台207
附錄1 GX-SOC/SOPC-DEV-LAB Platform開發實驗平台概述207
附錄2 GX-SOC/SOPC-DEV-LAB Platform 創新開發實驗平台簡介209
附錄3 GX-SOC/SOPC-DEV-LAB Platform創新開發實驗平台的組成和結構210
附錄4 GX-SOPC-EP2C35-M672 Cyclone Ⅱ核心板硬體資源介紹253
參考文獻259