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

正文內(nèi)容

基于fpga的異步fifo設計(畢業(yè)設計論文)(存儲版)

2025-04-07 09:17上一頁面

下一頁面
  

【正文】 科技大學本科畢業(yè)設計(論文) 41 use 。 end。039。 use 。 temp_n(4) := temp_g(4)。 use 。 end sync。 end process。 end loop。 end if。 end。 最后我要感謝學校給了我這 次畢業(yè)設計的機會,也由衷的感謝學校這四年來對我的栽培之恩,衷心祝福學校 繁榮昌盛,興旺發(fā)達??梢钥紤]修改設計程序,焊接兩個旋轉(zhuǎn)按鈕,通過對按鈕旋轉(zhuǎn),能產(chǎn)生任意頻率和相位的讀寫時鐘信號。撤除測試電路核心板,并使用 Programmer 工具,通過 AS 接口將設計電路下載入核心板后,該硬件電路即本課題所設計完成的RAM 深度為 128 bit,數(shù)據(jù)寬度為 8 bit 的異步 FIFO 電路實物。同樣對于圖 515,將 1 號撥碼開關置 1, 2 號撥碼開關置 1,復位鍵不按下。 圖 512 寫操作功能硬件仿真測試波形 讀操作功能硬件仿真與測試 對于讀操作功能的硬件仿真測試波形如圖 513 所示?,F(xiàn)通過 Quartus II 軟件中的嵌入式邏輯分析儀 SignalTap II 對異步 FIFO 功能測試電路進行硬件仿真,通過仿真結(jié)果測試異步 FIFO 電路的各部分功能,判斷其是否達到預期設計要求。結(jié)點選擇后,在 Signal Configuration 欄的 Clock 處選擇 inclk0 結(jié)點作為邏輯分析儀的工作時鐘,接著在Data 欄的 Sample Depth 處選擇采樣 深度為 128 bit。 圖 56 調(diào)試電路仿真波形 調(diào)試電路引腳分配 同前面章節(jié)異步 FIFO 電路引腳分配相似,使用 Quartus II 軟件里的 Pin Planner 工具欄對調(diào)試電路分配引腳,引腳表如表 52 所示。為了不影響完成的異步 FIFO 硬 件電路的功能,該調(diào)試電路使用另一塊核心板裝載運行,將調(diào)試電路輸出的兩個異步時鐘和隨機數(shù)據(jù)隊列分別作為測試異步FIFO 硬件電路的異步讀寫時鐘輸入和數(shù)據(jù)輸入。其中 rst 引腳分配為 144 引腳,其對應為核心板的自帶按鍵,本設計使用此按鍵作為系統(tǒng)復位鍵。 江蘇科技大學本科畢業(yè)設計(論文) 20 第五章 硬件仿真與實現(xiàn) 外部電路焊接 由于本課題使用 EP2C5T144C8N 核心板最小系統(tǒng),其外設遠不能滿足 設計要求,所以仍需焊接相應的外設電路板來連接開發(fā)板以完成異步 FIFO 電路的硬件實物設計。對于圖 45,將系統(tǒng)復位端置 1,將讀寫使能均置位,一段時間后異步 FIFO 間歇性處于讀空狀態(tài),但始終不處于寫滿狀態(tài),輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,但會有一定的延時。該仿真波形表明所設計的異步 FIFO 電路的復位鍵能控制系統(tǒng)的全局操作,復位功能達到了預期的設計要求。 ( 5) 設置完存儲深度和數(shù)據(jù)寬度后進入時鐘設置界面,選擇獨立的讀寫時鐘,并添加讀使能。 空滿標志產(chǎn)生模塊的頂層設計電路如圖 37 所示,其中 empty_cmp 模塊和full_cmp 模塊分別是讀空標志判定模塊和寫滿標志判定模塊。139。按照此原理,當全局復位信號復位后,異步 FIFO 應該處于讀空狀態(tài)??諠M標志產(chǎn)生的基本原則是無論在什么情況下,都不會出現(xiàn)存儲器對同一存儲地址同時進行讀寫操作的 情況,也就是存儲器寫滿后不產(chǎn)生溢出,讀空后不進行多讀 [2]。同步模塊的 VHDL 設計程序見附錄。 驗證 異步 FIFO 電路整體功能 系統(tǒng)復位后,將讀寫使能均置位,系統(tǒng)能同時進行讀寫操作。 ( 2) 使用觸發(fā)器同步異步信號。 異步 FIFO 設計難點 異步 FIFO 設計存在兩個難點:一是如何同步異步信號,降低亞穩(wěn)態(tài)發(fā)生概率;二是如何正確產(chǎn)生存儲器的空滿標志 [8]。復位后,通過讀寫使能控制讀寫操作。 江蘇科技大學本科畢業(yè)設計(論文) 3 本課題主要研究內(nèi)容 本課題基于 FPGA 技術,在 Cyclone II 系 列的 EP2C5T144C8N 芯片的基礎上, 選用 Quartus II 軟件利用 VHDL 硬件描述語言進行邏輯描述,并 采用層次化、描述語言和圖形輸入相結(jié)合的方法設計了一個 RAM 深度為 128 bit,數(shù)據(jù)寬度為8 bit 的異步 FIFO 電路,并對其功能進行了時序仿真和硬件仿真驗證。目前,為了更大的提高芯片容量,其內(nèi)部存儲單元使用動態(tài) RAM 代替靜態(tài) RAM,并在芯片內(nèi)部集成刷新電路,通過內(nèi)部仲裁單元控制器件的讀寫及自動刷新操作。異步 FIFO 是一種先進先出電路,常用來緩存數(shù)據(jù)和容納異步信號間的周期和相位差異,使用異步FIFO 可以在兩個不同的時鐘系統(tǒng)之間進行快速準確的實時數(shù)據(jù)傳輸。 Metastability。 江蘇科技大學 本 科 畢 業(yè) 設 計(論文) 學 院 專 業(yè) 學生姓名 班級學號 指導教師 二零壹叁年六月 江蘇科技大學本科畢業(yè)論文 基于 FPGA 的異步 FIFO 設計 Asynchronous FIFO design based on FPGA 江蘇科技大學本科畢業(yè)設計(論文) I 摘 要 在現(xiàn)代集成電路芯片中,隨著設計規(guī)模的不斷擴大,一個系統(tǒng)往往包含多個時鐘,如何進行異步時鐘間的數(shù)據(jù)傳輸成為了一個很重要的問題。 Synchronization。異步 FIFO( First In First Out)是解決這個問題的一個簡單有效的方案。這種芯片能在存儲寬度和深度上得到很大的發(fā)展。在大部分的 EDA軟件中,都是通過綜合器來完成對 EDA等硬件語言的編譯的,綜合器將硬件描述語言的描述轉(zhuǎn)變?yōu)槲锢砜蓪崿F(xiàn)的電路形式,由于 FIFO是基于 RAM結(jié)構(gòu)的,大部分的參考資料都是建立在數(shù)組存取的基礎上對FIFO進行描述的,然而綜合器對數(shù)組的綜合一般是將其轉(zhuǎn)變?yōu)榧拇嫫鞯慕Y(jié)構(gòu),這帶來的缺陷是綜合后的結(jié)構(gòu)會非常龐大,造成在大容量的 FIFO設計時,會產(chǎn)生大量面積的浪費,甚至無法集成。 江蘇科技大學本科畢業(yè)設計(論文) 4 第二章 異步 FIFO 設計要求及基本原理 設計要求 本課題使用 EP2C5T144C8N 核心板最小系統(tǒng)設計一個 RAM 深度為 128 bit,數(shù)據(jù)寬度為 8 bit 的異步 FIFO 電路,其外部接口如圖 21 所示,接口說明如表 21所示 。空滿標志產(chǎn)生邏輯通過比較同步后的讀寫地址來產(chǎn)生空滿標志信號,同時,產(chǎn)生的空滿標志信號又和輸入的讀寫使能信號一起控制讀寫時鐘域進行讀寫操作。格雷碼是一種錯誤最小化的編碼方式,使用格雷碼計數(shù)器進行計數(shù)時,每一次計數(shù)增加只有一位數(shù)據(jù)位改變,而使用自然二進制碼計數(shù)時,每一次計數(shù)增加都可能造成多位數(shù)據(jù)位的變動,這就使得數(shù)據(jù)位變動時,格雷碼計數(shù)器發(fā)生亞穩(wěn)態(tài)的概率大大低于自然二進制碼計數(shù)器。 驗證讀操作功能 系統(tǒng)復位后,將讀使能置位,寫使能復位,則系統(tǒng)只能進行讀操作讀取數(shù)據(jù),由于雙端口 RAM 存儲器存儲單元數(shù)據(jù)被讀空,異步 FIFO 應該始終處于讀空狀態(tài),數(shù)據(jù)輸出始終不變。在空滿標志模塊判斷寫滿標志時,同步模塊將讀指針與寫時鐘同步后,和寫指針比較產(chǎn)生寫滿標志;判斷讀空標志時,同步模塊將寫指針與讀時鐘同步后,和讀指針比較產(chǎn)生讀空標志。 圖 35 格雷碼∕自然碼轉(zhuǎn)換模塊 江蘇科技大學本科畢業(yè)設計(論文) 10 圖 36 格雷碼∕自然碼轉(zhuǎn)換模塊仿真波形 空滿標志產(chǎn)生模塊 空滿標志產(chǎn)生模塊是整個異步 FIFO 系統(tǒng)的核心部分,該模塊設計的好壞直接決定了該異步 FIFO 的性能。當存儲器讀空后,讀空標志置位,暫停讀操作繼續(xù)讀取數(shù)據(jù),但仍可以執(zhí)行寫操作;當存儲器寫滿后,寫滿標志置位,暫停寫操作繼續(xù)寫入數(shù)據(jù),但仍可以執(zhí)行讀操作??諠M狀態(tài)的行為描述如下: full = 39。讀空、寫滿狀態(tài)判定的 VHDL 設計程序分別見附錄。 ( 4) 雙端口 RAM 的存儲深度選擇 128 bit,數(shù)據(jù)線寬度選擇 8 bit。從圖中可以看出,當系統(tǒng)運行后,復位端置 1,即不按下復位鍵時,異步 FIFO 系統(tǒng)正常工作;當復位端置 0,即按下復位鍵后,無論讀寫使能信號處于什么狀態(tài),數(shù)據(jù)輸出始終不變,異步 FIFO 處于讀空狀態(tài)。 圖 44 讀操作功能時序仿真測試波形 異步 FIFO 電路整體功能軟件仿真與測試 對于異步 FIFO 電路整體功能的時序仿真 測試波形如圖 45 和圖 46 所示,其中圖 45 的輸入的讀時鐘頻率是寫時鐘頻率的 2 倍,圖 46 的輸入的寫時鐘頻率是讀時鐘頻率的 2 倍。 圖 45 異步 FIFO 系統(tǒng)時序仿真測試波形 1 圖 46 異步 FIFO 系統(tǒng)時序仿真測試波形 2 時序仿真結(jié)果總結(jié) 從上述時序仿真測試結(jié)果可以看出,該異步 FIFO 電路在硬件邏輯設計方面實現(xiàn)了所有的預期設計功能,能快速準確的判定 FIFO 存儲器的空滿狀態(tài),并能通過外部讀寫使能控制系統(tǒng)內(nèi)部讀寫操作,實現(xiàn)寬度為 8 bit 的數(shù)據(jù)隊列在兩個獨立的異步時鐘域之間進行先進先出的數(shù)據(jù)傳輸。 本設計使用 Quartus II 軟件里的 Pin Planner 工具欄分配電路引腳,分配完成后的引腳如表 51 所示。 根據(jù)設計要求,該異步 FIFO 電路不自帶異步時鐘產(chǎn)生模塊和輸入數(shù)據(jù)產(chǎn)生模塊,為了測試完成的異步 FIFO 硬件電路的功能是否達到設計要求,本課題仍需設計一個調(diào)試電路來產(chǎn)生異步的讀寫時鐘信號和寬度為 8 bit的輸入數(shù)據(jù)隊列。從仿真波形可以看出該調(diào)試電路能準確有效的生成兩個異步時鐘信號和寬度為 8 bit 的偽隨機數(shù)據(jù)隊列,其時序仿真結(jié)果達到設計要求。之后在 Node 欄下面空白處雙擊彈出 Node Finder 窗口,選擇“ Pins: all”后單擊 List 按鈕選中除 inclk0 外的所有結(jié)點。根據(jù)調(diào)試電路的引腳分配 情況,通過杜邦線將調(diào)試電路和異步 FIFO 硬件電路連接在一起后組成的異步 FIFO 功能測試電路實物如圖 510 所示,其中上面的核心板和外設電路板一起組成異步 FIFO硬件電路,下面的核心板為調(diào)試電路板。該仿真波形表明寫使能端控制系統(tǒng)只進行寫操作寫入數(shù)據(jù),由于不進行讀操作,一段時間后雙端口 RAM 存儲器存儲單元會始終處于寫滿狀態(tài),這表明所設計的異步 FIFO 硬件電路的寫操作功能達到了預期的設計要求。另外,輸出數(shù)據(jù)隊列與輸入數(shù)據(jù)隊列相同,也表明該異步 FIFO硬件電路實現(xiàn)了先入先出的功能,輸入輸出隊列之間的延時是由同步電路和程序的運行時間造成的。 綜合時序仿真和硬件仿真結(jié)果可以證實本課題所設計的異步 FIFO 電路能滿足設計要求,達到實驗目的。 就本次設計而言,本人認為對以下幾個方面還有待改善和進行進一步的研究: ( 1) 雖然設計增加了調(diào)試電路,但由于程序設計的原因,每次進行硬件測試時只能輸入固定的異步時鐘信號,雖然這已能滿足設計要求,若想改變時鐘頻率和相位,則必須修改程序設置參數(shù)重新下載程序,這就帶來不便。如果不是他們的幫助,這次畢業(yè)設計我將困難重重,能否順利完成設計任務還是一個未知數(shù)。 addr_gray : out std_logic_vector(4 downto 0) )。 end if。 for i in 3 downto 0 loop normal(i) := temp_g(i) xor normal(i+1)。 reg_g = temp_g。 addr_out : out std_logic_vector(4 downto 0) )。 3. 格雷碼∕自然碼轉(zhuǎn)換模塊的 VHDL 設計程序 library ieee。 begin temp_g := gray。 use 。 when (wr_addr(4 downto 0) = rd_addr(4 downto 0)) else 39。 full : out std_logic )。 use 。 when (wr_addr(4) /= rd_addr(4)) and (wr_addr(3 downto 0) = rd_addr(3 downto 0)) else 39。 use 。 empty : out std_logic )。 normbit = temp_n。 normbit : out std_logic_vector(4 downto 0) )。 temp = addr_in。 use 。 or i=4)then temp_g(i) := not(tem
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1