【正文】
end process。139。 rd_addr : in std_logic_vector(4 downto 0)。entity G2B is port( gray : in std_logic_vector(4 downto 0)。2. 同步模塊的VHDL設(shè)計(jì)程序library ieee。 addr_gray = new_g。use 。圖516 異步FIFO電路完成實(shí)物結(jié) 論異步FIFO電路是現(xiàn)代集成電路芯片飛速發(fā)展的產(chǎn)物,應(yīng)用領(lǐng)域十分廣泛,潛在市場需求量十分龐大,但由于國內(nèi)對(duì)該方面研究起步較晚,國內(nèi)的一些研究所和廠商開發(fā)的FIFO電路還遠(yuǎn)不能滿足市場和軍事需求,所以對(duì)異步FIFO電路的研究非常具有意義。該仿真波形表明讀使能端控制系統(tǒng)只進(jìn)行讀操作讀取數(shù)據(jù),由于不進(jìn)行寫操作,一段時(shí)間后雙端口RAM存儲(chǔ)器存儲(chǔ)單元會(huì)始終處于讀空狀態(tài),這表明所設(shè)計(jì)的異步FIFO硬件電路的讀操作功能達(dá)到了預(yù)期設(shè)計(jì)要求。參數(shù)設(shè)置完成后將SignalTap II文件保存并編譯。 異步時(shí)鐘產(chǎn)生模塊該調(diào)試程序使用PLL鎖相環(huán)通過將核心板自帶50 MHz時(shí)鐘進(jìn)行1∕2分頻和1∕4分頻產(chǎn)生兩個(gè)異步時(shí)鐘輸出,輸出時(shí)鐘頻率分別為25 MHz,將這兩個(gè)時(shí)鐘輸出連入外設(shè)電路板的讀時(shí)鐘和寫時(shí)鐘引腳區(qū)域即可作為異步FIFO硬件電路的異步讀寫時(shí)鐘輸入。本課題除使用開發(fā)板自帶的按鍵作為系統(tǒng)復(fù)位鍵外,仍需焊接兩個(gè)撥動(dòng)開關(guān)作為讀寫使能控制鍵,撥動(dòng)開關(guān)原理圖如圖51所示。圖42 復(fù)位功能時(shí)序仿真測(cè)試波形 寫操作功能時(shí)序仿真與測(cè)試對(duì)于寫操作功能的時(shí)序仿真測(cè)試波形如圖43所示。將該頂層電路編譯成功后生成的空滿標(biāo)志產(chǎn)生模塊如圖38所示。由上述原理可以知道,當(dāng)讀指針和寫指針不相等時(shí),讀寫操作互不干擾,異步FIFO處于非空和非滿的狀態(tài)。程序編譯成功后生成的同步模塊如圖33所示,利用Quartus II軟件的波形編輯器對(duì)該模塊進(jìn)行時(shí)序仿真,其仿真波形如圖34所示。使用觸發(fā)器同步或者增加冗余可以很好的降低亞穩(wěn)態(tài)發(fā)生的概率,本課題采用D觸發(fā)器二級(jí)同步方式,同步電路圖如圖23所示。當(dāng)寫時(shí)鐘脈沖上升沿到來時(shí),判斷寫信號(hào)是否有效,有效則寫入一個(gè)八位數(shù)據(jù)到RAM中;當(dāng)讀時(shí)鐘脈沖上升沿到來時(shí),判斷讀信號(hào)是否有效,有效則從RAM中把一個(gè)八位數(shù)據(jù)讀取出來。隨著微電子技術(shù)的飛速發(fā)展,新一代的FIFO芯片容量越來越大,速度越來越快,體積也越來越小。 simulation testing目 錄第一章 緒論 1 FPGA簡介 1 異步FIFO簡介 1 國內(nèi)外研究現(xiàn)狀及存在的問題 1 研究現(xiàn)狀 1 存在問題 2 本課題主要研究內(nèi)容 3第二章 異步FIFO設(shè)計(jì)要求及基本原理 4 設(shè)計(jì)要求 4 異步FIFO基本原理 5 異步FIFO設(shè)計(jì)難點(diǎn) 5 系統(tǒng)設(shè)計(jì)方案 6 異步FIFO驗(yàn)證方案 7 驗(yàn)證復(fù)位功能 7 驗(yàn)證寫操作功能 7 驗(yàn)證讀操作功能 7 驗(yàn)證異步FIFO電路整體功能 7第三章 模塊設(shè)計(jì)與實(shí)現(xiàn) 8 格雷碼計(jì)數(shù)器模塊 8 同步模塊 8 格雷碼∕自然碼轉(zhuǎn)換模塊 9 空滿標(biāo)志產(chǎn)生模塊 10 雙端口RAM 13第四章 時(shí)序仿真與實(shí)現(xiàn) 15 模塊整合 15 時(shí)序仿真及功能測(cè)試 17 復(fù)位功能軟件仿真與測(cè)試 17 寫操作功能時(shí)序仿真與測(cè)試 17 讀操作功能時(shí)序仿真與測(cè)試 18 異步FIFO電路整體功能軟件仿真與測(cè)試 18 時(shí)序仿真結(jié)果總結(jié) 19第五章 硬件仿真與實(shí)現(xiàn) 20 外部電路焊接 20 引腳分配 21 調(diào)試電路設(shè)計(jì) 24 調(diào)試電路介紹 24 異步時(shí)鐘產(chǎn)生模塊 25 偽隨機(jī)數(shù)據(jù)隊(duì)列產(chǎn)生模塊 25 調(diào)試電路引腳分配 26 調(diào)試電路硬件仿真 27 異步FIFO電路硬件仿真 28 復(fù)位功能硬件仿真與測(cè)試 29 寫操作功能硬件仿真與測(cè)試 30 讀操作功能硬件仿真與測(cè)試 30 異步FIFO硬件電路整體功能軟硬件仿真與測(cè)試 31 硬件仿真結(jié)果總結(jié) 32結(jié)論 33致謝 34參考文獻(xiàn) 35附錄 36IV第1章 緒論 FPGA簡介FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在CPLD、PAL、GAL等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物[10]。關(guān)鍵詞:異步FIFO;同步化;亞穩(wěn)態(tài);仿真測(cè)試 AbstractIn modern IC chips, with the continuous expansion of the scale of design, a system always contains several clocks. How to transmit data between the asynchronous clocks bee a very important FIFO (First In First Out) is a firstin, firstout circuit, it can transmit data between two diffent clock systems fastly and accurately, it is also a simple and effective solution to solve the problem of asynchronous clock data transfer. The asynchronous FIFO has a very wide range of applications in network interface, data acquisition and image because of the aspect of a late start, some domestic research institutes and manufacturers which research the FIFO circuit also can not meet the needs of the market and the military. In the asynchronous circuit, because of that the clock cycle and phase is pletely independent, and the presence of metastability problems, the loss rate of data transmission is not zero. How to implement asynchronous signal synchronization, reduce the probability of metastability and judge the state of the FIFO storage correctly bee a difficult problem while designing the asynchronous FIFO circuit. This paper introduces a method of asynchronous FIFO circuit design based on FPGA. This topic selects Quartus II software, the Cyclone II family EP2C5T144C8N chip, based on the use of VHDL hardware description language for logical descriptions, using the method of bining hierarchical, description language and graphical input ,This topic designs a highspeed, highly reliable asynchronous FIFO circuit as the RAM depth is 128 bit and the data width is 8 bit, and tests the circuit function with timing and software simulation.Keywords:Asynchronous FIFO。由于采用RAM結(jié)構(gòu),數(shù)據(jù)從寫入到讀出的延遲時(shí)間將大大縮短。最后結(jié)論對(duì)本次畢業(yè)設(shè)計(jì)進(jìn)行了歸納和綜合,概括了所取得的成果和存在的不足,以及對(duì)進(jìn)一步開展研究的見解與建議。雖然亞穩(wěn)態(tài)沒法避免,但可以通過下面兩種方法降低亞穩(wěn)態(tài)發(fā)生的概率[12]:(1) 對(duì)讀寫地址使用格雷碼計(jì)數(shù)器。圖31 格雷碼計(jì)數(shù)器模塊圖32 5 bit格雷碼計(jì)數(shù)器仿真波形 同步模塊為了降低亞穩(wěn)態(tài)發(fā)生的概率,本課題使用前章所介紹D觸發(fā)器二級(jí)同步將異步信號(hào)同步化。為了避免這種情況發(fā)生,異步FIFO系統(tǒng)對(duì)存儲(chǔ)器設(shè)置了讀空和寫滿兩個(gè)狀態(tài)標(biāo)志。這種情況從存儲(chǔ)器的角度來看,存儲(chǔ)器的存儲(chǔ)空間好像變小,然而這種情況是毫無壞處的,能很好的避免錯(cuò)誤的發(fā)生,因?yàn)楫?dāng)FIFO真的讀空或?qū)憹M了,而不去阻止讀操作或?qū)懖僮鞯倪M(jìn)行將會(huì)出現(xiàn)多讀或溢出的錯(cuò)誤,影響異步FIFO的性能[2]。 復(fù)位功能軟件仿真與測(cè)試對(duì)于復(fù)位功能的時(shí)序仿真測(cè)試波形如圖42所示。圖45和圖46的仿真波形表明所設(shè)計(jì)的異步FIFO電路的整體功能達(dá)到了預(yù)期的設(shè)計(jì)要求。該異步FIFO電路能實(shí)現(xiàn)任意兩個(gè)異步讀寫時(shí)鐘輸入,并在讀寫使能開關(guān)的控制下,能實(shí)現(xiàn)寬度為8 bit的輸入數(shù)據(jù)隊(duì)列在兩個(gè)異步時(shí)鐘域之間進(jìn)行先進(jìn)先出的數(shù)據(jù)傳輸。圖58 SignalTap II編輯窗口點(diǎn)擊Instance欄里面的auto_signaltap_0,將其更名為check2,此名與所建工程名相同。該仿真波形表明寫使能端控制系統(tǒng)只進(jìn)行寫操作寫入數(shù)據(jù),由于不進(jìn)行讀操作,一段時(shí)間后雙端口RAM存儲(chǔ)器存儲(chǔ)單元會(huì)始終處于寫滿狀態(tài),這表明所設(shè)計(jì)的異步FIFO硬件電路的寫操作功能達(dá)到了預(yù)期的設(shè)計(jì)要求。綜合時(shí)序仿真和硬件仿真結(jié)果可以證實(shí)本課題所設(shè)計(jì)的異步FIFO電路能滿足設(shè)計(jì)要求,達(dá)到實(shí)驗(yàn)?zāi)康摹H绻皇撬麄兊膸椭?,這次畢業(yè)設(shè)計(jì)我將困難重重,能否順利完成設(shè)計(jì)任務(wù)還是一個(gè)未知數(shù)。 end if。 reg_g = temp_g。3. 格雷碼∕自然碼轉(zhuǎn)換模塊的VHDL設(shè)計(jì)程序library ieee。use 。 full : out std_logic )。begin t = temp(7) xnor temp(0)。 end if。end。architecture bhv of empty_cmp isbegin empty = 39。architecture bhv of G2B isbegin process(gray) variable temp_g : std_logic_vec