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

正文內(nèi)容

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

2024-08-20 11:11本頁面
  

【正文】 件中的嵌入式邏輯分析儀SignalTap II對系統(tǒng)進行硬件仿真[3]。引腳分配完成后使用同樣的方法將未用引腳設(shè)置為高阻態(tài),將nCEO設(shè)置為I∕O口,完成這些設(shè)置后點擊Start Compilation進行編譯,編譯成功后電路圖中各端口處顯示相應(yīng)的引腳編號如圖57所示。圖56 調(diào)試電路仿真波形 調(diào)試電路引腳分配同前面章節(jié)異步FIFO電路引腳分配相似,使用Quartus II Planner工具欄對調(diào)試電路分配引腳,引腳表如表52所示。圖55 調(diào)試電路利用Quartus II軟件的波形編輯器對該調(diào)試電路進行時序仿真,其仿真波形如圖56所示。8 bit偽隨機數(shù)據(jù)隊列產(chǎn)生模塊的VHDL設(shè)計程序見附錄。PLL鎖相環(huán)使用Altera的Mega Wizard PlugIn Manager工具定制。為了不影響完成的異步FIFO硬件電路的功能,該調(diào)試電路使用另一塊核心板裝載運行,將調(diào)試電路輸出的兩個異步時鐘和隨機數(shù)據(jù)隊列分別作為測試異步FIFO硬件電路的異步讀寫時鐘輸入和數(shù)據(jù)輸入。該異步FIFO電路能實現(xiàn)任意兩個異步讀寫時鐘輸入,并在讀寫使能開關(guān)的控制下,能實現(xiàn)寬度為8 bit的輸入數(shù)據(jù)隊列在兩個異步時鐘域之間進行先進先出的數(shù)據(jù)傳輸。其中(1819,AC)區(qū)域引腳為寫時鐘輸入端,(0809,AC)區(qū)域引腳為讀時鐘輸入端,(2426,WD(右))區(qū)域引腳為輸入數(shù)據(jù)端,(1819,CE(右))區(qū)域引腳為寫滿標志(full)輸出端,(0809,CE(右))區(qū)域引腳為讀空標志(empty)輸出端,(0103,WD(右))區(qū)域引腳為輸出數(shù)據(jù)端。完成這些設(shè)置后點擊Start Compilation進行編譯,編譯成功后電路圖中各端口處顯示相應(yīng)的引腳編號如圖53所示。其中rst引腳分配為144引腳,其對應(yīng)為核心板的自帶按鍵,本設(shè)計使用此按鍵作為系統(tǒng)復(fù)位鍵。但在此之前,仍需對設(shè)計的異步FIFO電路進行相應(yīng)的引腳分配,使系統(tǒng)下載入核心板后能按照設(shè)計要求正常工作,外設(shè)電路板也需根據(jù)引腳分配情況,將相應(yīng)功能區(qū)域引腳接入核心板。開發(fā)板電路的(1819,AC)區(qū)域引腳為寫時鐘輸入引腳,(0809,AC)區(qū)域引腳為讀時鐘輸入引腳,(26,MO)區(qū)域引腳為Vcc引腳,(1314,H)區(qū)域引腳為控制信號輸入引腳,(01,MO)區(qū)域引腳為接地引腳,(2426,WD(右))區(qū)域引腳為輸入數(shù)據(jù)引腳,(1819,CE(右))區(qū)域引腳為寫滿狀態(tài)(full)引腳,(0809,CE(右))區(qū)域引腳為讀空狀態(tài)(empty)引腳,(0103,WD(右))區(qū)域引腳為輸出數(shù)據(jù)引腳。另外,在外設(shè)板上還需要焊接一定數(shù)量的引腳來作為相應(yīng)的讀寫時鐘輸入端和數(shù)據(jù)輸入輸出端,焊接完成的外設(shè)電路板如圖52所示。第5章 硬件仿真與實現(xiàn) 外部電路焊接由于本課題使用EP2C5T144C8N核心板最小系統(tǒng),其外設(shè)遠不能滿足設(shè)計要求,所以仍需焊接相應(yīng)的外設(shè)電路板來連接開發(fā)板以完成異步FIFO電路的硬件實物設(shè)計。圖45和圖46的仿真波形表明所設(shè)計的異步FIFO電路的整體功能達到了預(yù)期的設(shè)計要求。和圖45相似,這同樣表明系統(tǒng)同時進行了讀寫操作,由于寫操作速度快于讀操作,異步FIFO只會處于寫滿狀態(tài),而不會進入讀空狀態(tài)。另外,輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,也表明該電路實現(xiàn)了先入先出的功能,輸入輸出隊列之間的延時是由同步電路和程序的運行時間造成的。對于圖45,將系統(tǒng)復(fù)位端置1,將讀寫使能均置位,一段時間后異步FIFO間歇性處于讀空狀態(tài),但始終不處于寫滿狀態(tài),輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,但會有一定的延時。該仿真波形表明讀使能端控制系統(tǒng)只進行讀操作讀取數(shù)據(jù),由于不進行寫操作,雙端口RAM存儲器存儲單元會始終處于讀空狀態(tài),這表明所設(shè)計的異步FIFO電路的讀操作功能達到了預(yù)期的設(shè)計要求。圖43 寫操作功能時序仿真測試波形 讀操作功能時序仿真與測試對于讀操作功能的時序仿真測試波形如圖44所示。從圖中可以看出,將系統(tǒng)復(fù)位端置1,將寫使能置位,讀使能復(fù)位,經(jīng)過一段時間后,數(shù)據(jù)輸出始終不變,讀空標志始終為0,寫滿標志始終為1,這表明異步FIFO電路始終處于寫滿狀態(tài)。該仿真波形表明所設(shè)計的異步FIFO電路的復(fù)位鍵能控制系統(tǒng)的全局操作,復(fù)位功能達到了預(yù)期的設(shè)計要求。 復(fù)位功能軟件仿真與測試對于復(fù)位功能的時序仿真測試波形如圖42所示。將各模塊整合后的異步FIFO電路的頂層實體如圖41所示,其中g(shù)ray模塊是格雷碼計數(shù)器模塊,G2B模塊是格雷碼∕自然碼轉(zhuǎn)換模塊,full_empty是空滿標志產(chǎn)生模塊,dram模塊是雙端口RAM。(7) 定制生成的雙端口RAM外部接口如圖39所示。(5) 設(shè)置完存儲深度和數(shù)據(jù)寬度后進入時鐘設(shè)置界面,選擇獨立的讀寫時鐘,并添加讀使能。存儲方式選擇bit方式,即“As a number of bits”。然后選擇Cyclone II器件和VHDL文件格式,輸入RAM存放路徑和模塊名。圖37 空滿標志產(chǎn)生模塊頂層電路圖圖38 空滿標志產(chǎn)生模塊 雙端口RAM本課題設(shè)計的異步FIFO的存儲器是一個存儲深度為128 bit,數(shù)據(jù)寬度為8 bit的雙端口RAM,該RAM使用Altera的Mega Wizard PlugIn Manager工具定制,定制主要參數(shù)設(shè)置過程如下:(1)打開Mega Wizard PlugIn Manager對話框,選擇“Create a new custom megafunction variation”定制新的宏功能模塊??諠M標志產(chǎn)生模塊的頂層設(shè)計電路如圖37所示,其中empty_cmp模塊和full_cmp模塊分別是讀空標志判定模塊和寫滿標志判定模塊。這種情況從存儲器的角度來看,存儲器的存儲空間好像變小,然而這種情況是毫無壞處的,能很好的避免錯誤的發(fā)生,因為當(dāng)FIFO真的讀空或?qū)憹M了,而不去阻止讀操作或?qū)懖僮鞯倪M行將會出現(xiàn)多讀或溢出的錯誤,影響異步FIFO的性能[2]。這樣從讀操作的角度來看,就會發(fā)生就會發(fā)生少寫的的現(xiàn)象,也就是異步FIFO判定為讀空時,F(xiàn)IFO實際上可能未空,因為寫操作可能正在發(fā)生,寫指針仍在變化,但這從讀操作的角度是“看不到的”;同理從寫操作的角度來看,也會出現(xiàn)類似的情況,即異步FIFO判定為寫滿時,F(xiàn)IFO實際上可能未滿。139。139。當(dāng)讀寫指針的狀態(tài)標志位和地址位完全相同時,表明執(zhí)行了相同次數(shù)的讀寫操作,此時異步FIFO處于讀空狀態(tài);當(dāng)讀寫指針的狀態(tài)標志位不同,而地址位完全相同時,表明寫操作比讀操作多進行了一次循環(huán),此時異步FIFO處于寫滿狀態(tài)。本課題設(shè)計的異步FIFO存儲深度為128 bit,那么讀寫指針應(yīng)有4個地址位,本設(shè)計使用5 bit的讀寫指針,其最高位作為額外增加的狀態(tài)標志位,剩下的低4位為地址位。當(dāng)讀指針和寫指針相等時,F(xiàn)IFO要么處于讀空狀態(tài),要么處于寫滿狀態(tài)。按照此原理,當(dāng)全局復(fù)位信號復(fù)位后,異步FIFO應(yīng)該處于讀空狀態(tài)。為了避免這種情況發(fā)生,異步FIFO系統(tǒng)對存儲器設(shè)置了讀空和寫滿兩個狀態(tài)標志。對于異步FIFO系統(tǒng),有兩個獨立的控制指針——讀指針和寫指針,讀操作和寫操作獨立運行。當(dāng)指針移動到最后一個存儲單元后,它又重新回到起始位置繼續(xù)進行讀寫操作??諠M標志產(chǎn)生的基本原則是無論在什么情況下,都不會出現(xiàn)存儲器對同一存儲地址同時進行讀寫操作的情況,也就是存儲器寫滿后不產(chǎn)生溢出,讀空后不進行多讀[2]。程序編譯成功后生成的格雷碼∕自然碼轉(zhuǎn)換模塊如圖35所示,利用Quartus II軟件的波形編輯器對該模塊進行時序仿真,其仿真波形如圖36所示。n位格雷碼轉(zhuǎn)換為自然二進制碼的法則為:Bn = Gn,Bi = Gi⊕Bi+1 (i≠n),其中G表示格雷碼,B標志自然二進制碼。從仿真波形可以看出,該模塊將輸入的異步碼與輸入時鐘同步后輸出同步碼,由延時時間可以看出其滿足二級同步要求。同步模塊的VHDL設(shè)計程序見附錄。圖31 格雷碼計數(shù)器模塊圖32 5 bit格雷碼計數(shù)器仿真波形 同步模塊為了降低亞穩(wěn)態(tài)發(fā)生的概率,本課題使用前章所介紹D觸發(fā)器二級同步將異步信號同步化。5 bit格雷碼計數(shù)器模塊的VHDL設(shè)計程序見附錄。第3章 模塊設(shè)計與實現(xiàn) 格雷碼計數(shù)器模塊為了降低亞穩(wěn)態(tài)發(fā)生的概率,本課題將讀、寫地址轉(zhuǎn)化為格雷碼進行計數(shù),由于格雷碼是一種錯誤最小化編碼方式,它在任意相鄰的兩個數(shù)間轉(zhuǎn)換時只有一個數(shù)位發(fā)生變化,其發(fā)生亞穩(wěn)態(tài)的可能性遠低于自然二進制碼,大大增加了電路的可靠性。 驗證異步FIFO電路整體功能系統(tǒng)復(fù)位后,將讀寫使能均置位,系統(tǒng)能同時進行讀寫操作。 驗證寫操作功能系統(tǒng)復(fù)位后,將寫使能置位,讀使能復(fù)位,則系統(tǒng)只能進行寫操作寫入數(shù)據(jù),所以經(jīng)過一段時間后由于雙端口RAM存儲器存儲單元被寫滿,異步FIFO應(yīng)該始終處于寫滿狀態(tài),數(shù)據(jù)輸出始終不變。 異步FIFO驗證方案根據(jù)異步FIFO的基本原理和本課題的設(shè)計方案,若所設(shè)計的異步FIFO電路能實現(xiàn)如下預(yù)期設(shè)計功能,則該異步FIFO電路符合設(shè)計要求。當(dāng)且僅當(dāng)Q1的躍變非常接近時鐘沿的時候,Q2才會進入亞穩(wěn)態(tài)[2],這就大大提高了系統(tǒng)的可靠性。(2) 使用觸發(fā)器同步異步信號。雖然亞穩(wěn)態(tài)沒法避免,但可以通過下面兩種方法降低亞穩(wěn)態(tài)發(fā)生的概率[12]:(1) 對讀寫地址使用格雷碼計數(shù)器。這種情況會使系統(tǒng)中存在未知態(tài),輸出將有可能是邏輯0或者邏輯1,或者是介于兩者之間的任何值,這個過程稱為亞穩(wěn)態(tài)。亞穩(wěn)態(tài)是一種物理現(xiàn)象,必然發(fā)生在異步FIFO電路中。 異步FIFO設(shè)計難點異步FIFO設(shè)計存在兩個難點:一是如何同步異步信號,降低亞穩(wěn)態(tài)發(fā)生概率;二是如何正確產(chǎn)生存儲器的空滿標志[8]。在寫時鐘域,寫地址產(chǎn)生邏輯產(chǎn)生寫地址和寫控制信號,在讀時鐘域,讀地址產(chǎn)生邏輯產(chǎn)生讀地址和讀控制信號。讀時鐘讀地址讀控制讀數(shù)據(jù)寫地址寫控制寫數(shù)據(jù)雙端口RAM寫地址產(chǎn)生邏輯讀地址產(chǎn)生邏輯同步電路空滿標志產(chǎn)生邏輯寫時鐘復(fù)位圖22 異步FIFO基本結(jié)構(gòu)圖由結(jié)構(gòu)圖可以看出該系統(tǒng)為環(huán)狀結(jié)構(gòu),存在兩個完全獨立的時鐘域——寫時鐘域和讀時鐘域。當(dāng)RAM中數(shù)據(jù)寫滿時產(chǎn)生一個寫滿標志,不能再往RAM寫入數(shù)據(jù);當(dāng)RAM中數(shù)據(jù)讀空時產(chǎn)生一個讀空標志,不能再從RAM讀出數(shù)據(jù)。復(fù)位后,通過讀寫使能控制讀寫操作。最后結(jié)論對本次畢業(yè)設(shè)計進行了歸納和綜合,概括了所取得的成果和存在的不足,以及對進一步開展研究的見解與建議。第四章為時序仿真與實現(xiàn),通過層次化、描述語言和圖形輸入相結(jié)合的方法將各模塊整合為異步FIFO頂層模塊,并通過Quartus II軟件的波形編輯器對其進行時序仿真和分析。第二章為異步FIFO設(shè)計要求及基本原理,首先介紹了本課題的設(shè)計要求,然后對異步FIFO的結(jié)構(gòu)、基本原理以及其設(shè)計難點進行了分析,并由此歸納出系統(tǒng)的設(shè)計模塊和預(yù)期功能。 本課題主要研究內(nèi)容本課題基于FPGA技術(shù),在Cyclone II系列的EP2C5T144C8N芯片的基礎(chǔ)上,選用Quartus II軟件利用VHDL 硬件描述語言進行邏輯描述,并采用層次化、描述語言和圖形輸入相結(jié)合的
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1