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

正文內(nèi)容

基于fpga的異步fifo設(shè)計(畢業(yè)設(shè)計論文)-在線瀏覽

2025-05-01 09:17本頁面
  

【正文】 k in 讀時鐘 full out 讀空標(biāo)志 empty out 寫滿標(biāo)志 Data[7..0] out 輸入數(shù)據(jù) q[7..0] out 輸出數(shù)據(jù) 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 5 異步 FIFO 基本原理 異步 FIFO 主要由雙端口 RAM 和讀寫控制邏輯及空滿標(biāo)志產(chǎn)生邏輯構(gòu)成,其基本結(jié)構(gòu)圖如圖 22 所示。異步 FIFO 的存儲介質(zhì)是一塊雙端口 RAM,可以同時進(jìn)行讀寫操作??諠M標(biāo)志產(chǎn)生邏輯通過比較同步后的讀寫地址來產(chǎn)生空滿標(biāo)志信號,同時,產(chǎn)生的空滿標(biāo)志信號又和輸入的讀寫使能信號一起控制讀寫時鐘域進(jìn)行讀寫操作。其中如何正確產(chǎn)生存儲器的空滿標(biāo)志在下一章節(jié)有詳細(xì)介紹。在數(shù)字電路中,觸發(fā)器必須滿足建立和保持的時間要求,然而在實際電路中,電路的外部輸入和內(nèi)讀時鐘 讀地址 讀控制 讀數(shù)據(jù) 寫地址 寫控制 寫數(shù)據(jù) 雙端口 RAM 寫地址 產(chǎn)生邏輯 讀地址 產(chǎn)生邏輯 同步電路 空滿標(biāo)志 產(chǎn)生邏輯 寫時鐘 復(fù)位 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 6 部時鐘完全獨立,存在很大可能性出現(xiàn)不滿足建立和保持的時間要求的情況,另外,由于在電路內(nèi)部的兩個毫無關(guān)系的時鐘域之間進(jìn)行信號傳遞,也可能出現(xiàn)不滿足建立和保持的時間要求的情況。由于亞穩(wěn)態(tài)使物理系統(tǒng)產(chǎn)生了一種不可預(yù)知性,所以亞穩(wěn)態(tài)是很危險的。格雷碼是一種錯誤最小化的編碼方式,使用格雷碼計數(shù)器進(jìn)行計數(shù)時,每一次計數(shù)增加只有一位數(shù)據(jù)位改變,而使用自然二進(jìn)制碼計數(shù)時,每一次計數(shù)增加都可能造成多位數(shù)據(jù)位的變動,這就使得數(shù)據(jù)位變動時,格雷碼計數(shù)器發(fā)生亞穩(wěn)態(tài)的概率大大低于自然二進(jìn)制碼計數(shù)器。使用觸發(fā)器同步或者增加冗余可以很好的降低亞穩(wěn)態(tài)發(fā)生的概率,本課題采用 D 觸發(fā)器二級同步方式,同步電路圖如圖23 所示。 圖 23 D 觸發(fā)器二級同步 系統(tǒng)設(shè)計方案 根據(jù)異步 FIFO 基本原理,本課題可采用層次化、描述語言和圖形輸入相結(jié)合的方法設(shè)計異步 FIFO 電路,該系統(tǒng)可分為同步模塊、格雷碼計數(shù)模塊、格雷碼∕自然碼轉(zhuǎn)換模塊、空滿標(biāo)志產(chǎn)生模塊和雙端口 RAM 幾部分組成。 驗證復(fù)位功能 將系統(tǒng)運行后,若按下復(fù)位鍵,無 論讀寫使能信號處于什么狀態(tài),讀寫操作都不進(jìn)行,數(shù)據(jù)輸出始終不變,異步 FIFO 處于讀空狀態(tài)。 驗證讀操作功能 系統(tǒng)復(fù)位后,將讀使能置位,寫使能復(fù)位,則系統(tǒng)只能進(jìn)行讀操作讀取數(shù)據(jù),由于雙端口 RAM 存儲器存儲單元數(shù)據(jù)被讀空,異步 FIFO 應(yīng)該始終處于讀空狀態(tài),數(shù)據(jù)輸出始終不變。若輸入的異步讀時鐘頻率大于寫時鐘頻率,則讀操作快于寫操作,異步 FIFO 間歇性處于讀空狀態(tài),但始終不處于寫滿狀態(tài),輸出數(shù)據(jù)隊列應(yīng)與輸入數(shù)據(jù)隊列相同以實現(xiàn)先入先出的功能,但會有一定的延時;若輸入的異步讀時鐘頻率小于寫時鐘頻率,則寫操作快于讀操作,異步 FIFO 間歇性處于寫滿狀態(tài),但始終不處于讀空狀態(tài),輸出數(shù)據(jù)隊列也應(yīng)與輸入數(shù)據(jù)隊列相同以實現(xiàn)先入先出的功能,但也會有一定的延時。另外,為了準(zhǔn)確的判斷存儲器的空滿狀態(tài),本課題使用 5 bit 的格雷碼計數(shù)器,這在后面的空滿標(biāo)志產(chǎn)生模塊章節(jié)有詳細(xì)介紹。 程序編譯成功后生成的格雷碼計數(shù)器模塊如圖 31 所示,利用 Quartus II 軟件的波形編譯器對該模塊進(jìn)行時序仿真,其仿真波形如圖 32 所示。在空滿標(biāo)志模塊判斷寫滿標(biāo)志時,同步模塊將讀指針與寫時鐘同步后,和寫指針比較產(chǎn)生寫滿標(biāo)志;判斷讀空標(biāo)志時,同步模塊將寫指針與讀時鐘同步后,和讀指針比較產(chǎn)生讀空標(biāo)志。 程序編譯成功后生成的同步模塊如圖 33 所示,利用 Quartus II 軟件的波形江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 9 編輯器對該模塊進(jìn)行時序仿真,其仿真波形如圖 34 所示。 圖 33 同步模塊 圖 34 同步模塊仿真波形 格雷碼∕自然碼轉(zhuǎn)換模塊 雖然為了降低亞穩(wěn)態(tài)發(fā)生概率而使用格雷碼對讀、寫地址進(jìn)行轉(zhuǎn)換,但在雙端口 RAM 進(jìn)行存儲和空滿產(chǎn)生模塊進(jìn)行讀寫地址比較時仍使用自然二進(jìn)制碼,所以在異步地址信號同步后,仍需將格雷碼地址轉(zhuǎn)換回自然二進(jìn)制碼。格雷碼∕自然碼轉(zhuǎn)換模塊的 VHDL 設(shè)計程序見附表。 圖 35 格雷碼∕自然碼轉(zhuǎn)換模塊 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 10 圖 36 格雷碼∕自然碼轉(zhuǎn)換模塊仿真波形 空滿標(biāo)志產(chǎn)生模塊 空滿標(biāo)志產(chǎn)生模塊是整個異步 FIFO 系統(tǒng)的核心部分,該模塊設(shè)計的好壞直接決定了該異步 FIFO 的性能。 對于同步的 FIFO 系統(tǒng),讀寫操作同時從存儲單元起始位置開始進(jìn)行讀寫操作,每進(jìn)行完一次讀寫操作后,控制指針就增加一位,指向下一個存儲單元,直到下一次時鐘沿到來后存儲器對該存儲單元進(jìn)行一次讀寫操作,然后指針繼續(xù)增加。由于同步 FIFO 讀寫操作同時進(jìn)行,所以存儲器始終處于非空和非滿的狀態(tài),讀寫操作可以一直進(jìn)行。然而當(dāng)存儲器存儲空間被讀空后,若繼續(xù)讀取數(shù)據(jù)則會造成多讀,使一個無用的信號被讀出;當(dāng)存儲器存儲空間寫滿后,若繼續(xù)寫入數(shù)據(jù)則會產(chǎn)生溢出,造成一個有用的數(shù)據(jù)被覆蓋。當(dāng)存儲器讀空后,讀空標(biāo)志置位,暫停讀操作繼續(xù)讀取數(shù)據(jù),但仍可以執(zhí)行寫操作;當(dāng)存儲器寫滿后,寫滿標(biāo)志置位,暫停寫操作繼續(xù)寫入數(shù)據(jù),但仍可以執(zhí)行讀操作。 由上述原理可以知道,當(dāng)讀指針和寫指針不相等時,讀寫操 作互不干擾,異步 FIFO 處于非空和非滿的狀態(tài)。那么該怎么判斷異步 FIFO 究竟處于什么樣的狀態(tài)呢? 判斷的方法有很多,本課題使用讀寫指針比較的方法,通過額外增加狀態(tài)標(biāo)志位來判斷究竟是讀指針追趕寫指針輸出讀空標(biāo)志,還是寫指針追趕讀指針輸出寫滿江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 11 標(biāo)志。地址位隨著相應(yīng)的讀(寫)操作的進(jìn)行 依次遞增,當(dāng)讀(寫)指針由最后一個存儲單元重新回到起始位置時狀態(tài)標(biāo)志位取反。空滿狀態(tài)的行為描述如下: full = 39。 when (wr_addr(4) /= rd_addr(4)) and (wr_addr(3 downto 0) = rd_addr(3 downto 0)) empty = 39。 when (wr_addr(4 downto 0) = rd_addr(4 downto 0)) 由于空滿標(biāo)志是通過比較同步后的讀寫指針產(chǎn)生的,那么就可能出現(xiàn)這樣的情況:當(dāng)同步寫指針時,實際的寫指針可能已經(jīng)發(fā)生了變化,這意味著此時的寫指針可能是一個無用的值。上述的情況被稱為保守的報告,當(dāng) FIFO 未空時判定 FIFO 讀空,而阻止讀操作的繼續(xù)進(jìn)行;當(dāng) FIFO 未滿時判定 FIFO 寫滿,而阻止寫操作的繼續(xù)進(jìn)行。讀空、寫滿狀態(tài)判定的 VHDL 設(shè)計程序分別見附錄。將該頂層電路編譯成功后生成的空滿標(biāo)志產(chǎn)生模塊如圖 38 所示。 ( 2) 定制完新的功能模塊后選中 Memory piler 下的 RAM: 2PORT 生成雙端口 RAM。 ( 3) 生成 RAM后在 RAM 功能設(shè)置界面的 ram端口點擊“ With one read port and one write port”,選擇一個讀端口和一個寫端口。 ( 4) 雙端口 RAM 的存儲深度選擇 128 bit,數(shù)據(jù)線寬度選擇 8 bit。 ( 6) 在寄存器設(shè)置界面選中“ Which ports should be registered?”欄下第三個選擇框,增加輸出寄存器。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 14 圖 39 雙端口 RAM 外部接口 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 15 第四章 時序仿真與實現(xiàn) 模塊整合 本課題采用層次化、描述語言和圖形輸入相結(jié)合的方法設(shè)計異步 FIFO 電路,該系統(tǒng)被分為同步模塊、格雷碼計數(shù)模塊、格雷碼∕自然碼轉(zhuǎn)換模塊、空滿標(biāo)志產(chǎn)生模塊和雙端口 RAM 幾部分,上一章節(jié)已經(jīng)完成了各模塊的編寫及時序仿真測試。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 16 圖 41 異步 FIFO 頂層電路圖 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 17 時序仿真及功能測試 本課題使用 Quartus II 軟件的波形編輯器對設(shè)計的異步 FIFO 電路進(jìn)行時序仿真, 并根據(jù)仿真波形對各模塊功能進(jìn)行測試,確認(rèn)該異步 FIFO 是否滿足設(shè)計要求。從圖中可以看出,當(dāng)系統(tǒng)運行后,復(fù)位端置 1,即不按下復(fù)位鍵時,異步 FIFO 系統(tǒng)正常工作;當(dāng)復(fù)位端置 0,即按下復(fù)位鍵后,無論讀寫使能信號處于什么狀態(tài),數(shù)據(jù)輸出始終不變,異步 FIFO 處于讀空狀態(tài)。 圖 42 復(fù)位功能時序仿真測試波形 寫操作功能時 序仿真與測試 對于寫操作功能的時序仿真測試波形如圖 43 所示。該仿真波形表明寫使能端控制系統(tǒng)只進(jìn)行寫操作寫入數(shù)據(jù),由于不進(jìn)行讀操作,一段時間后雙端口 RAM 存儲器存儲單元會始終處于寫滿狀態(tài),這表明所設(shè)計的異步 FIFO 電路的寫操作功能達(dá)到了預(yù)期的設(shè)計要求。從圖中可以看出,將系統(tǒng)復(fù)位端置 1,將寫使能復(fù)位,讀使能置位,數(shù)據(jù)輸出始終不變,寫滿標(biāo)志始終為 0,讀空標(biāo)志始終為 1,這表明異步 FIFO 電路始終處于讀空狀態(tài)。 圖 44 讀操作功能時序仿真測試波形 異步 FIFO 電路整體功能軟件仿真與測試 對于異步 FIFO 電路整體功能的時序仿真 測試波形如圖 45 和圖 46 所示,其中圖 45 的輸入的讀時鐘頻率是寫時鐘頻率的 2 倍,圖 46 的輸入的寫時鐘頻率是讀時鐘頻率的 2 倍。這表明系統(tǒng)能同時進(jìn)行讀寫操作,由于讀操作速度快于寫操作,所以異步 FIFO 只會處于讀空狀態(tài),而不會進(jìn)入寫江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 19 滿狀態(tài)。對于圖 46,將系統(tǒng)復(fù)位端置 1,將讀寫使能均置位,一段時間后異步 FIFO 間歇性處于寫滿狀態(tài),但始終不處于讀空狀態(tài),輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,但會有一定的延時。輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,同樣說明電路實現(xiàn)了先入先出的功能,隊列之間的延時依然是由同步電路和程序的運行時間造成的。 圖 45 異步 FIFO 系統(tǒng)時序仿真測試波形 1 圖 46 異步 FIFO 系統(tǒng)時序仿真測試波形 2 時序仿真結(jié)果總結(jié) 從上述時序仿真測試結(jié)果可以看出,該異步 FIFO 電路在硬件邏輯設(shè)計方面實現(xiàn)了所有的預(yù)期設(shè)計功能,能快速準(zhǔn)確的判定 FIFO 存儲器的空滿狀態(tài),并能通過外部讀寫使能控制系統(tǒng)內(nèi)部讀寫操作,實現(xiàn)寬度為 8 bit 的數(shù)據(jù)隊列在兩個獨立的異步時鐘域之間進(jìn)行先進(jìn)先出的數(shù)據(jù)傳輸。本課題除使用開發(fā)板自帶的按鍵作為系統(tǒng)復(fù)位鍵外,仍需焊接兩個撥動開關(guān)作為讀寫使能控制鍵,撥動開關(guān)原理圖如圖 51 所示。對于圖 52 所示撥碼開關(guān),向上撥碼為 0,向下?lián)艽a為 1,其中 1 號開關(guān)為寫使能控制開關(guān), 2 號開關(guān)為讀使能控制開關(guān), 4 號開關(guān)為預(yù)留的無用開關(guān)。 圖 51 撥動開關(guān)原理圖 . GND 撥碼開關(guān) 100Ω 控制信號輸入 . Vcc 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 21 圖 52 外設(shè)電路板 引腳分配 焊接好外設(shè) 電路板后,將外設(shè)電路板使用杜邦線接入 EP2C5T144C8N 最小系統(tǒng)核心板。 本設(shè)計使用 Quartus II 軟件里的 Pin Planner 工具欄分配電路引腳,分配完成后的引腳如表 51 所示。 引腳分配完成后點擊 Settings 工具欄,找到里面的 Device選項欄,選中 Device and Pin Options 工具欄,將未用引腳設(shè)置為高阻態(tài),防止未用引腳出現(xiàn)其他狀態(tài)而對設(shè)計電路的功能測試產(chǎn)生干擾,將 nCEO 端口設(shè)置為 I∕ O 口。 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 22 表 51 異步 FIFO 電路引腳分配表 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 23 圖 53 異步 FIFO 端口引腳分配完成 江蘇科技大學(xué)本科畢業(yè)設(shè)計(論文) 24 調(diào)試電路設(shè)計 調(diào)試電路介紹 完成引腳分配后,按照引腳相應(yīng)的功能設(shè)計,使用杜邦線將外設(shè)電路板與核心板 連接,連接完成后的異步 FIFO 電路硬件實物如圖 54 所示。 圖 54 異步 FIFO 硬件電路實物 若本課題所設(shè)計的異步 FIFO 電路達(dá)到設(shè)計要求,則將該硬件電路通電并使用 Programmer 工具,通過 AS 接口將設(shè)計電路下載入核心板后,該硬件電路即本課題所設(shè)計完成的異步 FIFO 電路硬件實物。 根據(jù)設(shè)計要求,該異步 FIFO 電路不自帶異步時鐘產(chǎn)生模塊和輸入數(shù)據(jù)產(chǎn)生模塊,為了測試完成的異步 FIFO 硬件電路的功能是否達(dá)到設(shè)計要求,本課題仍需設(shè)計一個調(diào)試電路來產(chǎn)生異步的讀寫時鐘信號和寬度為 8 bit的輸入數(shù)據(jù)隊列。 異步時鐘產(chǎn)生模塊 該調(diào)試程序使用 PLL 鎖相環(huán)通過將核心板自帶 50 MHz 時鐘進(jìn)行 1∕ 2 分頻和 1∕ 4 分頻產(chǎn)生兩個異步時鐘輸出,輸出時鐘頻率分別為 25 MHz 和 MHz,將這兩個時
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1