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

正文內(nèi)容

基于fpga的異步fifo設(shè)計(畢業(yè)設(shè)計論文)-文庫吧

2025-07-23 11:11 本頁面


【正文】 ns,可以通過最多八個器件的連接來實(shí)現(xiàn)容量深度的擴(kuò)展和隊列擴(kuò)展[6]。目前在國內(nèi)大部分集成芯片中,單獨(dú)做FIFO芯片的很少,國內(nèi)的一些研究所和廠商也開發(fā)了FIFO電路,但還遠(yuǎn)不能滿足市場和軍事需求。 存在問題 國內(nèi)外設(shè)計FIFO時,通常使用兩種方法,一是利用可編程邏輯器件來構(gòu)造FIFO(如Xilinx公司),二是利用Verilog、VHDL等硬件描述語言來對FIFO的功能結(jié)構(gòu)進(jìn)行描述[6]。在大部分的EDA軟件中,都是通過綜合器來完成對EDA等硬件語言的編譯的,綜合器將硬件描述語言的描述轉(zhuǎn)變?yōu)槲锢砜蓪?shí)現(xiàn)的電路形式,由于FIFO是基于RAM結(jié)構(gòu)的,大部分的參考資料都是建立在數(shù)組存取的基礎(chǔ)上對FIFO進(jìn)行描述的,然而綜合器對數(shù)組的綜合一般是將其轉(zhuǎn)變?yōu)榧拇嫫鞯慕Y(jié)構(gòu),這帶來的缺陷是綜合后的結(jié)構(gòu)會非常龐大,造成在大容量的FIFO設(shè)計時,會產(chǎn)生大量面積的浪費(fèi),甚至無法集成。 本課題主要研究內(nèi)容本課題基于FPGA技術(shù),在Cyclone II系列的EP2C5T144C8N芯片的基礎(chǔ)上,選用Quartus II軟件利用VHDL 硬件描述語言進(jìn)行邏輯描述,并采用層次化、描述語言和圖形輸入相結(jié)合的方法設(shè)計了一個RAM深度為128 bit,數(shù)據(jù)寬度為8 bit的異步FIFO電路,并對其功能進(jìn)行了時序仿真和硬件仿真驗(yàn)證。論文各章節(jié)的主要內(nèi)容安排如下:第一章為緒論,簡要介紹了FPGA的相關(guān)知識以及異步FIFO的主要作用、研究背景和國內(nèi)外的發(fā)展現(xiàn)狀,并概括介紹了本課題的主要研究內(nèi)容。第二章為異步FIFO設(shè)計要求及基本原理,首先介紹了本課題的設(shè)計要求,然后對異步FIFO的結(jié)構(gòu)、基本原理以及其設(shè)計難點(diǎn)進(jìn)行了分析,并由此歸納出系統(tǒng)的設(shè)計模塊和預(yù)期功能。第三章為模塊設(shè)計與實(shí)現(xiàn),主要介紹了異步FIFO的模塊組成及各模塊的功能和原理,并利用VHDL硬件描述語言,通過Quartus II軟件對各模塊進(jìn)行了編寫和仿真。第四章為時序仿真與實(shí)現(xiàn),通過層次化、描述語言和圖形輸入相結(jié)合的方法將各模塊整合為異步FIFO頂層模塊,并通過Quartus II軟件的波形編輯器對其進(jìn)行時序仿真和分析。第五章為硬件仿真與實(shí)現(xiàn),連接外設(shè)及進(jìn)行引腳分配后,將完成的異步FIFO頂層實(shí)體下載入開發(fā)板,并通過編寫測試程序產(chǎn)生讀寫時鐘及偽隨機(jī)數(shù)輸入數(shù)據(jù),利用Quartus II軟件的嵌入式邏輯分析儀SignalTap II對實(shí)物進(jìn)行硬件仿真和分析,完成設(shè)計任務(wù)。最后結(jié)論對本次畢業(yè)設(shè)計進(jìn)行了歸納和綜合,概括了所取得的成果和存在的不足,以及對進(jìn)一步開展研究的見解與建議。第2章 異步FIFO設(shè)計要求及基本原理 設(shè)計要求本課題使用EP2C5T144C8N核心板最小系統(tǒng)設(shè)計一個RAM深度為128 bit,數(shù)據(jù)寬度為8 bit的異步FIFO電路,其外部接口如圖21所示,接口說明如表21所示。復(fù)位后,通過讀寫使能控制讀寫操作。當(dāng)寫時鐘脈沖上升沿到來時,判斷寫信號是否有效,有效則寫入一個八位數(shù)據(jù)到RAM中;當(dāng)讀時鐘脈沖上升沿到來時,判斷讀信號是否有效,有效則從RAM中把一個八位數(shù)據(jù)讀取出來。當(dāng)RAM中數(shù)據(jù)寫滿時產(chǎn)生一個寫滿標(biāo)志,不能再往RAM寫入數(shù)據(jù);當(dāng)RAM中數(shù)據(jù)讀空時產(chǎn)生一個讀空標(biāo)志,不能再從RAM讀出數(shù)據(jù)。圖21 異步FIFO外部接口表21 異步FIFO外部接口說明管腳名稱方向說明rstin復(fù)位,低電平有效wr_enin寫使能,高電平有效rd_enin讀使能,高電平有效wr_clkin寫時鐘rd_clkin讀時鐘fullout讀空標(biāo)志emptyout寫滿標(biāo)志Data[7..0]out輸入數(shù)據(jù)q[7..0]out輸出數(shù)據(jù) 異步FIFO基本原理異步FIFO主要由雙端口RAM和讀寫控制邏輯及空滿標(biāo)志產(chǎn)生邏輯構(gòu)成,其基本結(jié)構(gòu)圖如圖22所示。讀時鐘讀地址讀控制讀數(shù)據(jù)寫地址寫控制寫數(shù)據(jù)雙端口RAM寫地址產(chǎn)生邏輯讀地址產(chǎn)生邏輯同步電路空滿標(biāo)志產(chǎn)生邏輯寫時鐘復(fù)位圖22 異步FIFO基本結(jié)構(gòu)圖由結(jié)構(gòu)圖可以看出該系統(tǒng)為環(huán)狀結(jié)構(gòu),存在兩個完全獨(dú)立的時鐘域——寫時鐘域和讀時鐘域。異步FIFO的存儲介質(zhì)是一塊雙端口RAM,可以同時進(jìn)行讀寫操作。在寫時鐘域,寫地址產(chǎn)生邏輯產(chǎn)生寫地址和寫控制信號,在讀時鐘域,讀地址產(chǎn)生邏輯產(chǎn)生讀地址和讀控制信號??諠M標(biāo)志產(chǎn)生邏輯通過比較同步后的讀寫地址來產(chǎn)生空滿標(biāo)志信號,同時,產(chǎn)生的空滿標(biāo)志信號又和輸入的讀寫使能信號一起控制讀寫時鐘域進(jìn)行讀寫操作。 異步FIFO設(shè)計難點(diǎn)異步FIFO設(shè)計存在兩個難點(diǎn):一是如何同步異步信號,降低亞穩(wěn)態(tài)發(fā)生概率;二是如何正確產(chǎn)生存儲器的空滿標(biāo)志[8]。其中如何正確產(chǎn)生存儲器的空滿標(biāo)志在下一章節(jié)有詳細(xì)介紹。亞穩(wěn)態(tài)是一種物理現(xiàn)象,必然發(fā)生在異步FIFO電路中。在數(shù)字電路中,觸發(fā)器必須滿足建立和保持的時間要求,然而在實(shí)際電路中,電路的外部輸入和內(nèi)部時鐘完全獨(dú)立,存在很大可能性出現(xiàn)不滿足建立和保持的時間要求的情況,另外,由于在電路內(nèi)部的兩個毫無關(guān)系的時鐘域之間進(jìn)行信號傳遞,也可能出現(xiàn)不滿足建立和保持的時間要求的情況。這種情況會使系統(tǒng)中存在未知態(tài),輸出將有可能是邏輯0或者邏輯1,或者是介于兩者之間的任何值,這個過程稱為亞穩(wěn)態(tài)。由于亞穩(wěn)態(tài)使物理系統(tǒng)產(chǎn)生了一種不可預(yù)知性,所以亞穩(wěn)態(tài)是很危險的。雖然亞穩(wěn)態(tài)沒法避免,但可以通過下面兩種方法降低亞穩(wěn)態(tài)發(fā)生的概率[12]:(1) 對讀寫地址使用格雷碼計數(shù)器。格雷碼是一種錯誤最小化的編碼方式,使用格雷碼計數(shù)器進(jìn)行計數(shù)時,每一次計數(shù)增加只有一位數(shù)據(jù)位改變,而使用自然二進(jìn)制碼計數(shù)時,每一次計數(shù)增加都可能造成多位數(shù)據(jù)位的變動,這就使得數(shù)據(jù)位變動時,格雷碼計數(shù)器發(fā)生亞穩(wěn)態(tài)的概率大大低于自然二進(jìn)制碼計數(shù)器。(2) 使用觸發(fā)器同步異步信號。使用觸發(fā)器同步或者增加冗余可以很好的降低亞穩(wěn)態(tài)發(fā)生的概率,本課題采用D觸發(fā)器二級同步方式,同步電路圖如圖23所示。當(dāng)且僅當(dāng)Q1的躍變非常接近時鐘沿的時候,Q2才會進(jìn)入亞穩(wěn)態(tài)[2],這就大大提高了系統(tǒng)的可靠性。D Q CLKD Q CLK異步輸入同步輸出圖23 D觸發(fā)器二級同步 系統(tǒng)設(shè)計方案根據(jù)異步FIFO基本原理,本課題可采用層次化、描述語言和圖形輸入相結(jié)合的方法設(shè)計異步FIFO電路,該系統(tǒng)可分為同步模塊、格雷碼計數(shù)模塊、格雷碼∕自然碼轉(zhuǎn)換模塊、空滿標(biāo)志產(chǎn)生模塊和雙端口RAM幾部分組成。 異步FIFO驗(yàn)證方案根據(jù)異步FIFO的基本原理和本課題的設(shè)計方案,若所設(shè)計的異步FIFO電路能實(shí)現(xiàn)如下預(yù)期設(shè)計功能,則該異步FIFO電路符合設(shè)計要求。 驗(yàn)證復(fù)位功能將系統(tǒng)運(yùn)行后,若按下復(fù)位鍵,無論讀寫使能信號處于什么狀態(tài),讀寫操作都不進(jìn)行,數(shù)據(jù)輸出始終不變,異步FIFO處于讀空狀態(tài)。 驗(yàn)證寫操作功能系統(tǒng)復(fù)位后,將寫使能置位,讀使能復(fù)位,則系統(tǒng)只能進(jìn)行寫操作寫入數(shù)據(jù),所以經(jīng)過一段時間后由于雙端口RAM存儲器存儲單元被寫滿,異步FIFO應(yīng)該始終處于寫滿狀態(tài),數(shù)據(jù)輸出始終不變。 驗(yàn)證讀操作功能系統(tǒng)復(fù)位后,將讀使能置位,寫使能復(fù)位,則系統(tǒng)只能進(jìn)行讀操作讀取數(shù)據(jù),由于雙端口RAM存儲器存儲單元數(shù)據(jù)被讀空,異步FIFO應(yīng)該始終處于讀空狀態(tài),數(shù)據(jù)輸出始終不變。 驗(yàn)證異步FIFO電路整體功能系統(tǒng)復(fù)位后,將讀寫使能均置位,系統(tǒng)能同時進(jìn)行讀寫操作。若輸入的異步讀時鐘頻率大于寫時鐘頻率,則讀操作快于寫操作,異步FIFO間歇性處于讀空狀態(tài),但始終不處于寫滿狀態(tài),輸出數(shù)據(jù)隊列應(yīng)與輸入數(shù)據(jù)隊列相同以實(shí)現(xiàn)先入先出的功能,但會有一定的延時;若輸入的異步讀時鐘頻率小于寫時鐘頻率,則寫操作快于讀操作,異步FIFO間歇性處于寫滿狀態(tài),但始終不處于讀空狀態(tài),輸出數(shù)據(jù)隊列也應(yīng)與輸入數(shù)據(jù)隊列相同以實(shí)現(xiàn)先入先出的功能,但也會有一定的延時。第3章 模塊設(shè)計與實(shí)現(xiàn) 格雷碼計數(shù)器模塊為了降低亞穩(wěn)態(tài)發(fā)生的概率,本課題將讀、寫地址轉(zhuǎn)化為格雷碼進(jìn)行計數(shù),由于格雷碼是一種錯誤最小化編碼方式,它在任意相鄰的兩個數(shù)間轉(zhuǎn)換時只有一個數(shù)位發(fā)生變化,其發(fā)生亞穩(wěn)態(tài)的可能性遠(yuǎn)低于自然二進(jìn)制碼,大大增加了電路的可靠性。另外,為了準(zhǔn)確的判斷存儲器的空滿狀態(tài),本課題使用5 bit的格雷碼計數(shù)器,這在后面的空滿標(biāo)志產(chǎn)生模塊章節(jié)有詳細(xì)介紹。5 bit格雷碼計數(shù)器模塊的VHDL設(shè)計程序見附錄。程序編譯成功后生成的格雷碼計數(shù)器模塊如圖31所示,利用Quartus II軟件的波形編譯器對該模塊進(jìn)行時序仿真,其仿真波形如圖32所示。圖31 格雷碼計數(shù)器模塊圖32 5 bit格雷碼計數(shù)器仿真波形 同步模塊為了降低亞穩(wěn)態(tài)發(fā)生的概率,本課題使用前章所介紹D觸發(fā)器二級同步將異步信號同步化。在空滿標(biāo)志模塊判斷寫滿標(biāo)志時,同步模塊將讀指針與寫時鐘同步后,和寫指針比較產(chǎn)生寫滿標(biāo)志;判斷讀空標(biāo)志時,同步模塊將寫指針與讀時鐘同步后,和讀指針比較產(chǎn)生讀空標(biāo)志。同步模塊的VHDL設(shè)計程序見附錄。程序編譯成功后生成的同步模塊如圖33所示,利用Quartus II軟件的波形編輯器對該模塊進(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)制碼。n位格雷碼轉(zhuǎn)換為自然二進(jìn)制碼的法則為:Bn = Gn,Bi = Gi⊕Bi+1 (i≠n),其中G表示格雷碼,B標(biāo)志自然二進(jìn)制碼。格雷碼∕自然碼轉(zhuǎn)換模塊的VHDL設(shè)計程序見附表。程序編譯成功后生成的格雷碼∕自然碼轉(zhuǎn)換模塊如圖35所示,利用Quartus II軟件的波形編輯器對該模塊進(jìn)行時序仿真,其仿真波形如圖36所示。圖35 格雷碼∕自然碼轉(zhuǎn)換模塊圖36 格雷碼∕自然碼轉(zhuǎn)換模塊仿真波形 空滿標(biāo)志產(chǎn)生模塊空滿標(biāo)志產(chǎn)生模塊是整個異步FIFO系統(tǒng)的核心部分,該模塊設(shè)計的好壞直接決定了該異步FIFO的性能??諠M標(biāo)志產(chǎn)生的基本原則是無論在什么情況下,都不會出現(xiàn)存儲器對同一存儲地址同時進(jìn)行讀寫操作的情況,也就是存儲器寫滿后不產(chǎn)生溢出,讀空后不進(jìn)行多讀[2]。對于同步的FIFO系統(tǒng),讀寫操作同時從存儲單元起始位置開始進(jìn)行讀寫操作,每進(jìn)行完一次讀寫操作后,控制指針就增加一位,指向下一個存儲單元,直到下一次時鐘沿到來后存儲器對該存儲單元進(jìn)行一次讀寫操作,然后指針繼續(xù)增加。當(dāng)指針移動到最后一個存儲單元后,它又重新回到起始位置繼續(xù)進(jìn)行讀寫操作。由于同步FIFO讀寫操作同時進(jìn)行,所以存儲器始終處于非空和非滿的狀態(tài),讀寫操作可以一直進(jìn)行。對于異步FIFO系統(tǒng),有兩個獨(dú)立的控制指針——讀指針和寫指針,讀操作和寫操作獨(dú)立運(yùn)行。然而當(dāng)存儲器存儲空間被讀空后,若繼續(xù)讀取數(shù)據(jù)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1