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

正文內(nèi)容

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

2024-09-17 11:11本頁面
  

【正文】 Semiconductor公司推出具有80位寬的BEAST型的高性能FIFO存儲器,它的帶寬高達(dá)300bps,可以工作在200 MHz頻率下;Honeywell公司推出了一種基于SOI的FIFO存儲器,它采用專門的抗輻射加固工藝和設(shè)計版圖,主要用于軍事系統(tǒng)和高輻射的空間環(huán)境中;FIFO芯片的最新產(chǎn)品是IDT公司推出的多隊列FIFO存儲器系列,它使用集成的嵌入式FIFO存儲器核和高速隊列邏輯來構(gòu)成塊結(jié)構(gòu)。目前在國內(nèi)大部分集成芯片中,單獨做FIFO芯片的很少,國內(nèi)的一些研究所和廠商也開發(fā)了FIFO電路,但還遠(yuǎn)不能滿足市場和軍事需求。在大部分的EDA軟件中,都是通過綜合器來完成對EDA等硬件語言的編譯的,綜合器將硬件描述語言的描述轉(zhuǎn)變?yōu)槲锢砜蓪崿F(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)生大量面積的浪費,甚至無法集成。論文各章節(jié)的主要內(nèi)容安排如下:第一章為緒論,簡要介紹了FPGA的相關(guān)知識以及異步FIFO的主要作用、研究背景和國內(nèi)外的發(fā)展現(xiàn)狀,并概括介紹了本課題的主要研究內(nèi)容。第三章為模塊設(shè)計與實現(xiàn),主要介紹了異步FIFO的模塊組成及各模塊的功能和原理,并利用VHDL硬件描述語言,通過Quartus II軟件對各模塊進(jìn)行了編寫和仿真。第五章為硬件仿真與實現(xiàn),連接外設(shè)及進(jìn)行引腳分配后,將完成的異步FIFO頂層實體下載入開發(fā)板,并通過編寫測試程序產(chǎn)生讀寫時鐘及偽隨機(jī)數(shù)輸入數(shù)據(jù),利用Quartus II軟件的嵌入式邏輯分析儀SignalTap II對實物進(jìn)行硬件仿真和分析,完成設(shè)計任務(wù)。第2章 異步FIFO設(shè)計要求及基本原理 設(shè)計要求本課題使用EP2C5T144C8N核心板最小系統(tǒng)設(shè)計一個RAM深度為128 bit,數(shù)據(jù)寬度為8 bit的異步FIFO電路,其外部接口如圖21所示,接口說明如表21所示。當(dāng)寫時鐘脈沖上升沿到來時,判斷寫信號是否有效,有效則寫入一個八位數(shù)據(jù)到RAM中;當(dāng)讀時鐘脈沖上升沿到來時,判斷讀信號是否有效,有效則從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所示。異步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)部時鐘完全獨立,存在很大可能性出現(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所示。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幾部分組成。 驗證復(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軟件的波形編輯器對該模塊進(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)換模塊圖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)志,還是寫指針追趕讀指針輸出寫滿標(biāo)志。地址位隨著相應(yīng)的讀(寫)操作的進(jìn)行依次遞增,當(dāng)讀(寫)指針由最后一個存儲單元重新回到起始位置時狀態(tài)標(biāo)志位取反??諠M狀態(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?”欄下第三個選擇框,增加輸出寄存器。圖39 雙端口RAM外部接口第4章 時序仿真與實現(xiàn) 模塊整合本課題采用層次化、描述語言和圖形輸入相結(jié)合的方法設(shè)計異步FIFO電路,該系統(tǒng)被分為同步模塊、格雷碼計數(shù)模塊、格雷碼∕自然碼轉(zhuǎn)換模塊、空滿標(biāo)志產(chǎn)生模塊和雙端口RAM幾部分,上一章節(jié)已經(jīng)完成了各模塊的編寫及時序仿真測試。圖41 異步FIFO頂層電路圖 時序仿真及功能測試本課題使用Quartus II ,并根據(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)入寫滿狀態(tài)。對于圖46,將系統(tǒng)復(fù)位端置1,將讀寫使能均置位,一段時間后異步FIFO間歇性處于寫滿狀態(tài)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1