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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于veriloghdl的異步fifo設(shè)計(jì)與實(shí)現(xiàn)(編輯修改稿)

2025-01-08 19:12 本頁面
 

【文章內(nèi)容簡介】 了異步 FIFO 的實(shí)現(xiàn)框圖以及設(shè)計(jì)的相關(guān)技術(shù)和簡要工作原理。 第三章 FIFO 的實(shí)現(xiàn)方法及技術(shù)。分析了異步 FIFO 的參數(shù)和設(shè)計(jì)的難點(diǎn)。 第四章異步 FIFO 實(shí)現(xiàn)及主要方法。通過第二章第三章對異步 FIFO 具體介紹,在這張內(nèi)容中,重點(diǎn)描述了 異步 FIFO 的實(shí)現(xiàn)方法。 第五章總結(jié)。對異步 FIFO 的設(shè)計(jì)方法作了簡要的總結(jié), 簡述了設(shè)計(jì)方法的不足之處,以及應(yīng)采取的措施。 7 2 異步 FIFO 工作原理簡介 關(guān)于異步信號 [9] 在許多情況下,數(shù)據(jù)在跨越時鐘域時需要 “ 堆積 ” 起來,因此使用單個保持寄存器無法完成工作。例如一種情況是某個傳輸電路猝發(fā)式發(fā)送數(shù)據(jù),接收電路來不及采樣。另一種情況是接收電路采樣速度超出傳輸電路發(fā)送數(shù)據(jù)的速度,但采樣的數(shù)據(jù)寬度不夠。這些情況就要使用 FIFO 了。 基本上, 人們 使用 FIFO 有兩個目的:速度匹配或數(shù)據(jù)寬度匹配。在速度匹配時, FIFO 較快的端口處理猝發(fā)的數(shù)據(jù)傳輸,而較慢的端口則維持恒定的數(shù)據(jù)流。但是,雖然訪問方式和速度不同,但進(jìn)出 FIFO 的平均數(shù)據(jù)速率必須是相同的,否則 FIFO 就會出現(xiàn)上溢(oveRFlow)或下溢 (underflow)問題。與單寄存器設(shè)計(jì)相同, FIFO 將數(shù)據(jù)保存在寄存器或存儲器中,同時 同步 狀態(tài) 信號 ,判斷何時可以把數(shù)據(jù)寫入 FIFO 或從 FIFO 中讀出。 在速度匹配應(yīng)用中,每個端口(讀或?qū)懀┑臅r鐘不同。 FIFO 中的寄存器使用寫端口時鐘,就像保持寄存器使用電路時鐘來改變寄存器內(nèi)容一樣。信號同步發(fā)生在指針邏輯中,而且比握手信號要復(fù)雜得多。 現(xiàn)在指針邏輯的設(shè)計(jì)有多種方法。第一種方法是將讀、寫選通進(jìn)行同步,同時在各個時鐘域使用計(jì)數(shù)器來跟蹤 FIFO 中可用的項(xiàng)。計(jì)數(shù)器反映出可用于讀寫的 FIFO 項(xiàng)目號,計(jì)數(shù)器也與相應(yīng)的端口同步。讀計(jì) 數(shù)器跟蹤包含有效數(shù)據(jù)的項(xiàng)數(shù),而寫計(jì)數(shù)器則跟蹤可以存儲數(shù)據(jù)的項(xiàng)數(shù)。當(dāng)對指針邏輯進(jìn)行復(fù)位時,由于沒有數(shù)據(jù)可讀,讀計(jì)數(shù)器從零起始。寫計(jì)數(shù)器則從 FIFO 中項(xiàng)的總數(shù)開始計(jì)數(shù),即所有項(xiàng)均可用來存儲數(shù)據(jù)。 讀選通信號累減讀計(jì)數(shù)器,并與寫時鐘域同步,因?yàn)樗瑫r也累加寫計(jì)數(shù)器。寫選通信號則累減寫計(jì)數(shù)器,并與讀時鐘域同步,因?yàn)樗瑫r也累加讀計(jì)數(shù)器。 這種設(shè)計(jì)需要單時鐘寬度脈沖以及用于讀、寫選通的脈沖同步器,因?yàn)楫?dāng)一個電平信號從一個時鐘域跨越到 另一個更快的時鐘域時,在較快時鐘域中它能在更多的時鐘周期中保持有效。由于只 要讀或?qū)懶盘柺怯行У?,每個計(jì)數(shù)器就會發(fā)生變化,因此較快的時鐘域就檢測到更多的讀、寫,超出較慢時鐘域?qū)嶋H發(fā)生的數(shù)量。脈沖同步器可以將一個時鐘域的時鐘寬度脈沖轉(zhuǎn)換為新時鐘域的時鐘寬度脈沖,每個脈沖都表示一次 FIFO 的讀或?qū)憽? 這種 FIFO 狀態(tài)技術(shù)對讀、寫狀態(tài)都不太有利。當(dāng) FIFO 中所有項(xiàng)均充滿時,寫端口狀態(tài)指示為滿,并在讀選通觸發(fā)后繼續(xù)指示 FIFO 滿,因?yàn)橥竭^程會使選通信號延遲送給寫計(jì)數(shù)器。讀端口為空時也會出現(xiàn)這種情況,因?yàn)橥竭^程會使寫選通信號延遲到達(dá)讀計(jì)數(shù)器。 這種設(shè)計(jì)的另一種考慮是及時檢 測全滿 /全空狀態(tài)。如果 FIFO 還有一項(xiàng)可用,并且有寫選通觸發(fā),則 FIFO 必須立即置為全滿狀態(tài)。這樣才能提前一個時鐘給出全滿標(biāo)志,使 FIFO 有足夠時間防止下一個數(shù)據(jù)寫入而產(chǎn)生溢出。對 FIFO 的讀端口也是這樣。這種 8 情況下,如果 FIFO 里只有一個數(shù),并且有讀選通觸發(fā),則必須置全空狀態(tài),以給讀電路足夠的時間防止讀空 FIFO。 這種指針邏輯限制電路在每個時鐘周期中訪問 FIFO,即使在慢速時鐘域中也是這樣。這一功能的優(yōu)點(diǎn)在于訪問 FIFO 的電路至少有一個時鐘周期來評估 FIFO 的狀態(tài)。 FIFO 可以將所有項(xiàng)都填滿數(shù)據(jù),而不會出現(xiàn)數(shù)據(jù)被覆蓋或全空無數(shù)據(jù)可讀的情況。這種設(shè)計(jì)的另一個優(yōu)點(diǎn)是每一端都可以讀其相應(yīng)的計(jì)數(shù)器,來判斷 FIFO 中還有多少項(xiàng)可用。 人們 可以將這種 FIFO 設(shè)計(jì)用在進(jìn)行多次數(shù)據(jù)讀 /寫的電路中,而不會造成上溢或下溢的情況。 這種設(shè)計(jì)的不足之處是由計(jì)數(shù)器來判斷狀態(tài),而不是直接比較讀、寫指針。對大型 FIFO 來說,這些計(jì)數(shù)器也很大。而且,由于使用脈沖同步時,來自較快時鐘域的讀、寫脈沖在較慢時鐘域的脈沖間至少必須有兩個時鐘周期,因此平均數(shù)據(jù)速率為最低時鐘頻率的一半。解決這些問題的一 種方法是采用直接指針比較法。 在這種 FIFO 設(shè)計(jì)中,讀、寫指針的比較決定了 FIFO 的狀態(tài)。 異步 設(shè)計(jì)中的指針比較更富有挑戰(zhàn)性,因?yàn)槊總€指針位于不同的時鐘域中,對信號總線的同步要求在同步握手信號期間總線不發(fā)生改變。將這種技術(shù)用于指針同步的 FIFO 設(shè)計(jì)可能會很慢。要解決這個問題, FIFO 指針邏輯使用了格雷碼,代替指針使用的二進(jìn)制碼。 格雷碼 如 表 21 所示, 在每一次計(jì)數(shù)增減時只改變其中的一位 。 可以在格雷碼總線上使用同步器,因?yàn)槊恳淮慰偩€改變時只有一根信號線有變化,于是就消除了格雷碼總線各位通過不同同步器時的競爭情況。這種設(shè)計(jì)的指針為格雷碼計(jì)數(shù)器。使用二進(jìn)制指針時需要將其變換成格雷碼后的同步指針,而使用變換邏輯會違反對同步信號的限制,即同步的信號在跨越時鐘域前要來自觸發(fā)器 。 Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binary 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 Gray 0 1 11 10 110 111 101 100 1100 1101 1111 1110 1010 1011 1001 1000 表 21 格雷碼與十進(jìn)制,二進(jìn)制的轉(zhuǎn)換關(guān)系表 異步 FIFO芯片簡介 [3] FIFO 芯片是一種具有存儲功能的高速邏輯芯片,可在高速數(shù)字系統(tǒng)中用作數(shù)據(jù)緩存。FIFO 通常利用雙口 RAM 和讀寫地址產(chǎn)生模塊來實(shí)現(xiàn)其功能。 FIFO 的接口信號包括異步寫時鐘( wrclk)和讀時鐘( rdclk)、與寫時鐘同步的寫有效( wren)和寫數(shù)據(jù)( wrdata)、與讀時鐘同步的讀有效( rden)和讀數(shù)據(jù)( rddata)。寫地址產(chǎn)生模塊一般還根據(jù)讀地址和寫地址來產(chǎn)生 FIFO的滿標(biāo)志。讀地址產(chǎn)生模塊一般根據(jù)讀地址和寫地址的差來產(chǎn)生 FIFO的空標(biāo)志。為了實(shí)現(xiàn)正確的讀寫和避免 FIFO 的上溢或下溢,通常還應(yīng)給出與讀時鐘和寫時鐘同步的 FIFO 的空標(biāo)志( empty)和滿標(biāo)志( full),以禁止讀寫操作。寫地址產(chǎn)生模 9 塊通常根據(jù)寫時鐘和寫有效信號來產(chǎn)生遞增的寫地址,而讀地址產(chǎn)生模塊則根據(jù)讀時鐘和讀有效信號來產(chǎn)生遞增的讀地址。 FIFO 一般在操作時 ,首先在寫時鐘 wr clk 的上升沿且當(dāng) wren 有效時,將 wrdata 寫入雙口 RAM 中寫地址對應(yīng)的位置中,然后將讀地址對應(yīng)的雙口 RAM中的數(shù)據(jù)輸出到讀數(shù)據(jù)總線上,這樣就可實(shí)現(xiàn)先進(jìn)先出功能。讀寫操作一般會自動訪問存儲器中連續(xù)的存儲單元。從 FIFO 中讀出的數(shù)據(jù)順序與寫入的順序相同,而地址的順序則在內(nèi)部已經(jīng)預(yù)先定義好,因此,對 FIFO 芯片的操作不需要額外的地址信息。另外,F(xiàn)IFO 芯片還能提供對讀/寫指針的復(fù)位功能。這些結(jié)構(gòu)上的特點(diǎn)使 FI- FO 的應(yīng)用大大簡化了電路的復(fù)雜程度,提高了系統(tǒng)的可靠性和穩(wěn)定性。 FIFO 的一些重要參數(shù) [7] FIFO 的寬度:也就是英文資料里??吹降?THE WIDTH,它只的是 FIFO 一次讀寫操作的數(shù)據(jù)位,就像 MCU 有 8 位和 16 位, ARM 32 位等等, FIFO 的寬度在單片成品 IC 中是固定的,也有可選擇的,如果用 FPGA 自己實(shí)現(xiàn)一個 FIFO,其數(shù)據(jù)位,也就是寬度是可以自己定義的。 FIFO 的深度: THE DEEPTH,它指的是 FIFO 可以存儲多少個 N位的數(shù)據(jù)(如果寬度為N)。如一個 8位的 FIFO,若深度為 8,它可以存儲 8個 8位的數(shù)據(jù),深度為 12 ,就可以存儲 12 個 8 位的數(shù)據(jù), FIFO 的深度 可大可小,個人認(rèn)為 FIFO 深度的計(jì)算并無一個固定的公式。在 FIFO 實(shí)際工作中,其數(shù)據(jù)的滿 /空標(biāo)志可以控制數(shù)據(jù)的繼續(xù)寫入或讀出。在一個具體的應(yīng)用中也不可能由一些參數(shù)算數(shù)精確的所需 FIFO 深度為多少,這在寫速度大于讀速度的理想狀態(tài)下是可行的,但在實(shí)際中用到的 FIFO 深度往往要大于計(jì)算值。一般來說根據(jù)電路的具體情況,在兼顧系統(tǒng)性能和 FIFO 成本的情況下估算一個大概的寬度和深度就可以了。而對于寫速度慢于讀速度的應(yīng)用, FIFO 的深度要根據(jù)讀出的數(shù)據(jù)結(jié)構(gòu)和讀出數(shù)據(jù)的由那些具體的要求來確定。 滿標(biāo)志: FIFO 已滿或?qū)⒁?滿時由 FIFO 的狀態(tài)電路送出的一個信號,以阻止 FIFO 的寫操作繼續(xù)向 FIFO 中寫數(shù)據(jù)而造成溢出( overflow) 空標(biāo)志: FIFO 已空或?qū)⒁諘r由 FIFO 的狀態(tài)電路送出的一個信號,以阻止 FIFO 的讀操作繼續(xù)從 FIFO 中讀出數(shù)據(jù)而造成無效數(shù)據(jù)的讀出( underflow)。 讀時鐘:讀操作所遵循的時鐘,在每個時鐘沿來臨時讀數(shù)據(jù)。 寫時鐘:寫操作所遵循的時鐘,在每個時鐘沿來臨時寫數(shù)據(jù)。 讀指針:指向下一個讀出地址。讀完后自動加 1。 寫指針:指向下一個要寫入的地址的,寫完自動加 1。 讀寫指針其實(shí)就是讀寫的地址, 只不過這個地址不能任意選擇,而是連續(xù)的。 10 異步 FIFO設(shè)計(jì)的難點(diǎn) [9] 異步 FIFO 設(shè)計(jì)難點(diǎn)概述 計(jì)異步 FIFO 有兩個難點(diǎn): 一 是如何正確地設(shè)計(jì)空、滿 指針 以及幾乎滿等信號的控制電路 ;二 是如何同步異步信號,使觸發(fā)器不產(chǎn)生亞穩(wěn)態(tài) 。 解決 FIFO 的滿 /空技術(shù)方法概述和特點(diǎn) 怎樣判斷 FIFO 的空 /滿狀態(tài) ? 為了保證數(shù)據(jù)正確的寫入或讀出,而不發(fā)生益處或讀空的狀態(tài)出現(xiàn),必須保證 FIFO 在滿的情況下,不能進(jìn)行寫操作。在空的狀態(tài)下不能進(jìn)行讀操作。怎樣判斷 FIFO 的滿 /空就成了 FIFO設(shè)計(jì)的核心問題。由于同步 FIFO 幾乎很少用到,這里只描述異步 FIFO 的空 /滿標(biāo)志產(chǎn)生問題。 空 /滿標(biāo)志產(chǎn)生的原則是:寫滿不溢出,讀空不多讀。即無論在什么進(jìn)修,都不應(yīng)出現(xiàn)讀寫地址同時對一個存儲器地址操作的情況。在讀寫地址相等或相差一個或多個地址的時候,滿標(biāo)志應(yīng)該有效,表示此時 FIFO 已滿,外部電路應(yīng)對 FIFO 發(fā)數(shù)據(jù)。在滿信號有效時寫數(shù)據(jù),應(yīng)根據(jù)設(shè)計(jì)的要求,或保持、或拋棄重發(fā)。同理,空標(biāo)志的產(chǎn)生也是如此,即: 空標(biāo)志 =(|寫地址 讀地址 |=預(yù)定值 )AND(寫地址超前讀地址) 滿標(biāo)志 =( |寫地址 讀地址 |=預(yù)定值) AND(讀地址超前寫地址 ) 最直接的做法是,采用讀寫地址相比較來產(chǎn)生空滿標(biāo)志。當(dāng)讀寫地址的差值等于一個預(yù)設(shè)值的時候,空 /滿信號被置位。這種實(shí)現(xiàn)方法邏輯簡單,但它是減法器形成的一個比較大的組合邏輯,因而限制了 FIFO 的速度。所以,一般只采用相等不相等的比較邏輯,避免使用減法器。 亞穩(wěn)態(tài)問題的產(chǎn)生及解決 在 用到觸發(fā)器的設(shè)計(jì)中,不可避免的會遇到亞穩(wěn)態(tài)的問題 。在涉及到觸發(fā)器的電路中,亞穩(wěn)態(tài)無法徹底消除,只能想辦法將其發(fā)生的概率將到最低。其中的一個方法就是使用格雷碼。格雷碼在相鄰的兩個碼元 之間只由一位變換 (二進(jìn)制碼在很多情況下是很多碼元在同時變化 )。這就會避免計(jì)數(shù)器與時鐘同步的時候發(fā)生亞穩(wěn)態(tài)現(xiàn)象。但是格雷碼有個缺點(diǎn)就是只能定義 2^n 的深度,而不能像二進(jìn)制碼那樣隨意的定義 FIFO 的深度,因?yàn)楦窭状a必須循環(huán)一個 2^n,否則就不能保證兩個相鄰碼元之間相差一位的條件 ,因此也就不是真正的格 雷碼了。第二就是使用冗余的觸發(fā)器,假設(shè)一個觸發(fā)器發(fā)生亞穩(wěn)態(tài)的概率為 P,那么兩個及聯(lián)的觸發(fā)器發(fā)生亞穩(wěn)態(tài)的概率就為 P 的平方。但這 會 導(dǎo)致延時的增加。亞穩(wěn)態(tài)的發(fā)生會使得 FIFO 出現(xiàn)錯誤,讀 /寫時鐘采樣的地址指針會與真實(shí)的值之 間不同,這就導(dǎo)致寫入或讀出的地址錯誤。由于考慮延時的作用,空 /滿標(biāo)志的產(chǎn)生并不一定出現(xiàn)在 FIFO 真的空 11 /滿時才出現(xiàn)??赡?FIFO 還未空 /滿時就出現(xiàn)了空 /滿標(biāo)志。這并沒有什么不好,只要保證FIFO 不出現(xiàn) overflow 或 underflow 就 足夠 了。 異步 FIFO 的功能簡介 [9] FIFO( First In First Out) 存儲器是一個先入先出的雙口緩沖器,即第一個進(jìn)入其內(nèi)的數(shù)據(jù)第一個被移出,其中一個存儲器的輸入口,另一個口是存儲器的輸出口。對于單片 FIFO 來說,主要有兩種結(jié)構(gòu):觸發(fā)導(dǎo)向結(jié)構(gòu)和零導(dǎo)向傳輸結(jié)構(gòu)。觸發(fā)導(dǎo)向傳輸結(jié)構(gòu)的FIFO 是由寄存器陣列構(gòu)成的,是由具有讀和寫地址指針的雙口 RAM構(gòu)成。 本文所描述的是 零導(dǎo)向傳輸結(jié)構(gòu)的 FIFO。 FIFO 存儲器是系統(tǒng)的緩沖環(huán)節(jié),如果沒有 FIFO 存儲器,整個系統(tǒng)就不可能正常工作,它主要有幾方面的功能: ( 1) 對連續(xù)的數(shù)據(jù)流進(jìn)行緩存,防止在進(jìn)機(jī)和存儲操作時丟失數(shù)據(jù); ( 2) 數(shù)據(jù)集中起來 進(jìn)行進(jìn)機(jī)和存儲,可避免頻繁的總線操作,減輕 CPU 的負(fù)擔(dān); ( 3) 允許系統(tǒng)進(jìn)行 DMA (Direct Memory Access,直接存儲器存取 )操作,提高數(shù)據(jù)的傳輸速度。這是至關(guān)重要的一點(diǎn),如果不采用 DMA 操作,數(shù)據(jù)傳輸將達(dá)不到傳輸要求,而且大大增加
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1