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

正文內(nèi)容

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

2025-06-03 17:07 本頁(yè)面


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