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

正文內(nèi)容

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

2024-11-01 13:44本頁(yè)面
  

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