freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于nios ii的俄羅斯方塊游戲設計與實現(xiàn)(文件)

2024-12-27 19:20 上一頁面

下一頁面
 

【正文】 應用的相關技術 SOPC 技術 SOPC( SystemonaProgrammableChip) 即可編程片上系統(tǒng) , 用可編程邏輯技術把整個系統(tǒng)放到一塊硅片上,稱作 SOPC。SOPC( System on a Programmable Chip)成為可編程片上系統(tǒng),是 Altera 公司提出的一種靈活、高校的 SOC 解決方案,是一種新的軟硬件協(xié)同設計的系統(tǒng)設計技術。 Nios II 的硬件開發(fā)就是由用戶制定適合的 CPU 外設, Altera 公司的 SOPC Builder 提供了大量的IP Core 來加快 Nios II 外設的開發(fā)速度。這使得 FPGA 靈活的硬件設計與處理器的強大軟件功能有機地結合在一起,高效地實現(xiàn) SOPC 系統(tǒng)。 3)基于 HardCopy 技術的應用。 第 6 頁 開發(fā)環(huán)境 1. Quartus II Quartus II 是 Altera 公司的綜合性 PLD 開發(fā)軟件,支持原理圖、 VHDL、VerilogHDL 以及 AHDL( Altera Hardware Description Language) 等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整 PLD 設計流程。 Quartus II 支持 Altera的 IP 核,包含了 LPM/MegaFunction 宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。 SOPC Builder 評估 自動系統(tǒng)開發(fā)工具提供了強大的開發(fā)平臺,可構成包括處理器、外設和存儲器接口等常用系統(tǒng)組成的總線系統(tǒng)。相對于傳統(tǒng)的處理器 , Nios Ⅱ 系統(tǒng)可以在設計階段根據(jù)實際的需求來增減外設的數(shù)量和種類。這種設計方式 , 更加方便了各類系統(tǒng)的調試。 Nios II IDE 提供了一個統(tǒng)一的開發(fā)平臺,用于所有 Nios II 處理器系統(tǒng)。 Verilog HDL 是目前應用最為廣泛的硬件描述語言 。 Verilog HDL 可以用來進行各種層次的邏輯設計,也可以進行 數(shù)字系統(tǒng) 的邏輯綜合,仿真驗證和時序分析等。 Verilog HDL 的功能強可以滿足各個層次設計人員的需要。 VGA 的英文全稱是 Video Graphics Array,即顯示繪圖陣列。有些不帶 VGA 接口而帶有 DVI(Digital Visual Interface 數(shù)字視頻接口)接口的顯卡,也可以通過一個簡單的轉接頭將 DVI 接口轉成 VGA 接口,通常沒有 VGA 接口的顯卡會附贈這樣的轉接頭。從熒幕的左上 方開始向右掃描,每掃完一行圖像電子束回到下一行的最左端,每行結束后電子槍回掃的過程中進行消隱。 VGA 工業(yè)標準要求的頻率: 時鐘頻率: (像素輸出的頻率 ) 行頻: 31469Hz 場頻: (每秒圖像刷新頻率) VGA 色彩顯示 RGB 色彩模式是工業(yè)界的一種顏色標準,是通過對紅 (R)、綠 (G)、藍 (B)三個顏色 通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的, RGB 即是代表紅、 綠、藍三個通道的顏色,通過三種基本顏色亮度值從 0~255 不同產(chǎn)生出其他各種顏色,這種模式叫加色模式。 表 33 VGA 時序參數(shù)數(shù)據(jù) 通用 VGA 顯示卡系統(tǒng)主要由控制電路、顯示緩存區(qū)和視頻 BIOS 程序三個部分組成。 VGA 的標準參考顯示時序如 下 圖所示。它是從左上角開始一行接一行的掃描,掃描完一屏后又回到左上角掃描。上層模塊收到底層模塊的當前坐標,算出 RGB 傳給底層模塊。 // VGA H_SYNC output oVGA_VS。 // VGA Red[9:0] output [9:0] oVGA_G。 包含有 VGA的驅動 的 IP Core 就 可以滿足本設計對 VGA 驅動顯示的設計要求 , 可以通過SOPC Builder 中 Terasic Technologies Inc 直接 將 Binary_VGA_Controller_IF 組建添加到系統(tǒng)中,便可以實現(xiàn) VGA 顯示。 使用 SOPC 技術解決 VGA 顯示精細圖像的問題,把 Nios CPU 和 VGA 控制器放在同一片 FPGA 中,通過硬件結構圖可以清晰展現(xiàn)硬件結構設計,如下圖所示: 圖 41 俄羅斯方塊硬件結構圖 第 15 頁 Quartus II 開發(fā)流程如下圖所示: 設 計 輸 入綜 合布 局 、 布 線編 程 、 配 置仿 真時 序 分 析 時 序 逼 近工 程 變 動 管 理調 試 圖 42 Quartus II 開發(fā)流程圖 基于 Nios II 的硬件開發(fā)設計 首先安裝好系統(tǒng)設計所需的軟件,本設計開發(fā)采用的是 Quartus II 和 Nios II IDE Quartus II 軟件設計 Quartus II 軟件后,要進行軟件破譯,也就是進行 的配置 破解器可以從各大網(wǎng)站進行下載,型號匹配,即可破解成功,破解成功后,如下圖所示: 第 16 頁 圖 43 License 破解圖 破解成功后,需要安裝 USB 驅動程序,安裝目錄如下: C:\altera\80\quartus\drivers\usbblaster\x32,安裝成功后點擊 Hardware Settings界面如下: 圖 44 Hardware Setting 設置圖 第 17 頁 2. 軟件在破解成功后,便可以使用了 在使用 Quartus II 設計軟件之前,需先建立設計模塊的工程( Project)單擊菜單“ FileNew Project Wizard...”,工程建立的芯片設置如下圖所示: 由于所使用的開發(fā)板 DE270 開發(fā)板的芯片類型是 Cyclone II EP2C70F896C6,故這里就選擇使用這個芯片 圖 45 芯片設置圖 3. 工程設計 通過 SOPC Builder 添加工程所需組件,在后面做詳細介紹。在此添加快速型內核才能滿足工程的正常運行 圖 49 CPU 內核選擇 在第四標簽頁 JTAG Debug Module 中,有四種 JTAG 調試的模式,選擇第一種調試模式,如下圖所示,之后點擊 Finish 完成 CPU 的定制。選用所有的默認設置,點擊“ Finish”完成添加,如下圖所示: 圖 412 添加 JTAF UART 圖 413 創(chuàng)建 JTAF UART 第 23 頁 4) 加入 UART 組件: 雙擊左側選擇組件欄中的 interface ProtocolsSerialUART(RS232 Serial Port)。 硬件參數(shù)設置:本實驗平臺采用的 S29GL064A 芯片符合 CFI 標準,其數(shù)據(jù)位寬可通過配置 BYTE_n 引腳進行 8Bit/16Bit 切換。 本設計中,需要加入一個 Avalon 三態(tài)總線橋 ,以供 Flash 使用。如下圖所示 第 27 頁 圖 419 添加 PIOBasicsettings 點擊“ Next”進入“ Input Options”欄,如 下 圖所示,選中“ Synchronously capture”,方式“ Rising Edge”即 上升沿沿 作為觸發(fā)源;選中“ Interrupt”,方式為“ Edge”即邊緣觸發(fā),點擊“ Finish”完成添加, 第 28 頁 圖 420 添加 PIOInput Options 8) 加入外設組件 VGA 在 SOPC Builder 左側的 Terasic Technologies IncBinary_VGA_Controller_IF 圖 421 添加 VGA 9) 地址自動分配 添加完元件成后,要為每個外設分配及地址和中斷請求優(yōu)先級( IRQ)。如下圖所示: 圖 54 俄羅斯方塊游戲邏輯圖 對于俄羅斯方塊這個游戲來說,邏輯大致是以下的模式: 隨機產(chǎn)生一個方塊,它會定時地往下落,碰到底部有其它方塊或地圖邊界,就固定下來,然后產(chǎn)生另一個方塊,重復上述過程。在程序上,計分很容易實現(xiàn),但考慮一個優(yōu)化的計分算法是比較困難的。 2. 游戲方塊控制功能 通過各種條件的判斷實現(xiàn)對游戲方塊左移、右移和旋轉的操作,以及滿行消除的功能。 俄羅斯方塊游戲 游戲方塊預覽功能 游戲方塊控制功能 游戲顯示更新功能 游戲分數(shù)速度更新功能 游戲結束重新開始功能 第 33 頁 5. 游戲結束后重新開始功能 在游戲過程中,如果游戲結束,將顯示“ OVER”字樣,并且在 5 秒鐘之后,游戲自動開 始從新進行。 2) 右移的控制實現(xiàn) 判斷方塊能否右移,也要滿足以下兩個條件: ? 游戲方塊整體右移一位后,游戲方塊不 能超越游戲底板的右邊線,否則越界; ? 在游戲方塊有值為 1 的位置時,游戲底板必須是沒有被占用的,也就是值為 0 滿足右移的條件后,清除右移的游戲方塊,并且在右移一位的位置,重新顯示此游戲方塊;否則游戲方塊則不執(zhí)行右移。 3. 游戲更新顯示 當游戲 方塊填滿一行后,即游戲方塊在 X 軸方向全置 1 時,清除 滿行,滿行以上的 第 36 頁 所有游戲方塊對應下移,產(chǎn)生新的游戲狀態(tài),同時游戲分數(shù)隨即增加,當消除滿行的數(shù)值達到 1000 時,游戲速度更新,比原來的游戲速度快一倍。 定義一個 17 14 的游戲底板的數(shù)組,游戲底板顯示的實際區(qū)域為 16 12 的數(shù)組,其他多出的定義數(shù)組作為底板的邊框,是為了防止游戲方塊 變形 后 溢出而設置的。 L1 型數(shù)組: ■ □□□ □ ■ □□ ■■■ □ ■■ □□ ■■■ □ □ ■ □□ □□ ■ □ ■ □□□ □□□□ ■■ □□ □□□□ ■ □□□ □□□□ □□□□ □□□□ □□□□ const int L1_FK[4][4][4] = { {{1, 0, 0, 0}, {1, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {0, 1, 0, 0}, {1, 1, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 1, 0}, {0, 0, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }}。 O 型數(shù)組: ■■ □□ ■■ □□ ■■ □□ ■■ □□ ■■ □□ ■■ □□ 。 Z1 型數(shù)組: ■■ □□ □ ■□ □ ■■ □□ □ ■ □□ □ ■■ □ ■■□ □ □ ■■ □ ■■ □□ □□□□ ■ □□□ □□□□ ■ □□□ □□□□ □□□□ □□□□ □□□□ const int Z1_FK[4][4][4] = { {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {1, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }, {{1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0} }, {{0, 1, 0, 0}, {1, 1, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 0} }}。 2. DRAW_FK 結構數(shù)組 所有的 游戲方塊均放在一個 4 4 的數(shù)組中,分別用 1 表示顯示, 0 表示不顯示。此時游戲速度與游戲分數(shù)均是游戲開始的初始狀態(tài)。 4) 方塊自由下落的實現(xiàn) 判斷方塊能否自由下落,需要滿足以下兩個條件: ? 游戲方塊下落過程中,不能超越游戲板的底邊線,否則越界; ? 游戲方塊在下落過程中,游戲底板必須是未被占用的,也就是值為 0,滿足這個條件,游戲方塊才可以自由下落;否則游戲方塊不能自由下落。右移與左移情況類似。 4. 游戲速度分數(shù)更新功能 在用戶進行游戲過程中,需要按照一定的規(guī)則計算游戲分數(shù),
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1