講解幾點(diǎn)關(guān)于FIFO IP核使用時(shí)的注意事項(xiàng)_第1頁(yè)
講解幾點(diǎn)關(guān)于FIFO IP核使用時(shí)的注意事項(xiàng)_第2頁(yè)
講解幾點(diǎn)關(guān)于FIFO IP核使用時(shí)的注意事項(xiàng)_第3頁(yè)
講解幾點(diǎn)關(guān)于FIFO IP核使用時(shí)的注意事項(xiàng)_第4頁(yè)
講解幾點(diǎn)關(guān)于FIFO IP核使用時(shí)的注意事項(xiàng)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

講解幾點(diǎn)關(guān)于FIFOIP核使用時(shí)的注意事項(xiàng)前言FIFO?還是FIFOIP核?這也需要寫(xiě)總結(jié)嗎?太容易了吧。如果我是一個(gè)正在處于面試找工作中的年輕人,肯定關(guān)注的是如何手撕FIFO,這也是當(dāng)時(shí)校招時(shí)候干過(guò)的事情。但是作為一個(gè)FPGA工程師,我們更常使用的是FIFO的IP核,或者必然使用的是FIFOIP核,簡(jiǎn)單快捷優(yōu)化。使用FIFOIP核的時(shí)候,或者設(shè)計(jì)電路使用FIFOIP的時(shí)候,對(duì)于新手或者不是精通的情況下,個(gè)人建議一點(diǎn)是對(duì)自己定制的FIFO仿真一下(或者嚴(yán)格遵守?cái)?shù)據(jù)手冊(cè)),做到時(shí)序關(guān)系清晰后,再設(shè)計(jì)電路。注意:不要不屑于此!下面講解幾點(diǎn)關(guān)于FIFOIP核使用時(shí)的注意事項(xiàng),想到哪里到哪里!位寬轉(zhuǎn)換分布式ram資源的FIFO不能變換位寬BlockRAM資源可以變化位寬BuiltinFIFO資源不能變化位寬FIFO安全電路FIFO定制頁(yè)面存在一個(gè)EnableSafetyCircuit,如下:選擇此選項(xiàng),存在兩個(gè)額外輸出信號(hào):如果不選擇EnableSafetyCircuit,則不存在這兩個(gè)信號(hào)輸出:此選項(xiàng)僅僅針對(duì)基于Bram資源的FIFO定制,如果使用分布式RAM資源,則不可選擇:同理BuiltinFIFO資源的FIFO也不可選擇。假如使用的是此BlockRAM資源的FIFO,選擇此信號(hào),有什么作用呢?多出來(lái)的兩個(gè)信號(hào)是什么意思?有什么用途?筆者曾在仿真中犯過(guò)一個(gè)錯(cuò)誤,就是在復(fù)位后的幾個(gè)時(shí)鐘直接給寫(xiě)使能,可是怎么寫(xiě)也寫(xiě)不進(jìn)去數(shù)據(jù),后來(lái)發(fā)現(xiàn)是wr_rst_busy處于高電平狀態(tài),自然是不能寫(xiě)的。所以判斷寫(xiě)使能有效,可以將此信號(hào)作為判斷條件之一,如果該信號(hào)為高,則不能寫(xiě)入。這就引發(fā)一個(gè)疑問(wèn)?既然存在這樣一個(gè)問(wèn)題,那么多久之后才能對(duì)FIFO寫(xiě)入數(shù)據(jù)呢?那就要看復(fù)位無(wú)效之后多久這個(gè)信號(hào)才能被拉低,且仿真看看:可見(jiàn),大概20多個(gè)時(shí)鐘周期之后,這個(gè)信號(hào)就拉低無(wú)效了。這樣會(huì)不會(huì)對(duì)我們使用FIFO有影響呢?可以想象下20多個(gè)時(shí)鐘才多長(zhǎng)時(shí)間,周期ns級(jí)別,況且寫(xiě)使能可以以此信號(hào)作為寫(xiě)使能有效條件,因此可以很容易規(guī)避這個(gè)問(wèn)題,這里列出來(lái)的原因就是為了仿真時(shí)候,如果遇到了寫(xiě)不進(jìn)去的情況時(shí),考慮下這個(gè)問(wèn)題,以免莫名其妙,百思不得其解。Xilinx對(duì)安全電路的使用還有一條建議,就是選擇異步復(fù)位時(shí),有可能導(dǎo)致BRAM數(shù)據(jù)的損壞,此時(shí)推薦使用安全電路。對(duì)于異步FIFO而言,好像也只能使用異步復(fù)位,這就更有必要性了。FIFO消耗資源定制FIFO消耗資源與使用什么資源生成FIFO有關(guān),對(duì)于BlockRAM資源的FIFO使用的自然是BlockRAM資源,7系列的用于生成FIFO的BlockRAM資源大小有兩種,18Kbit以及36Kbit兩種,一般默認(rèn)bit,可以說(shuō)是18K以及36K。FIFO位寬乘深度小于18K,自然是使用了一個(gè)18K的Bram,如下:使用BlockRAM資源:大于18K的自然是一個(gè)36KBlockRAM:使用BRAM資源:大于36K,情況多變,是18K以及36K的組合:輸出延遲ReadLatency為1的含義使用分布式RAM資源以及BlockRAM資源的FIFO可以選擇輸出寄存器打拍一次,這樣自然ReadLatency為2,使用BuiltinFIFO資源無(wú)法選擇輸出寄存器打拍。假如都不寄存器輸出,即輸出不寄存一拍,那么這里的ReadLatency=1具體是什么含義呢?我想時(shí)序圖最能說(shuō)明一切:實(shí)際仿真看一下:FIFOIP生成總結(jié):因此如果需要使用rd_data數(shù)據(jù)的話,需要對(duì)讀使能延遲一拍,判斷rd_en_r1有效時(shí)使用讀數(shù)據(jù)的實(shí)際值:ReadLatency為2的含義知道了ReadLatency為1的含義,為2的情況自然很容易理解,在添加了寄存器輸出的時(shí)候,就會(huì)使得ReadLatency為2,如下:同樣仿真實(shí)現(xiàn)下:FIFO讀寫(xiě)計(jì)數(shù)器的含義在FIFO定制頁(yè)面有如下選擇:WriteDataCount,ReadDataCount這兩個(gè)選擇,是什么意思呢?那我們寫(xiě)進(jìn)去一個(gè)數(shù)據(jù),看看兩者數(shù)據(jù)的變化:寫(xiě)計(jì)數(shù)器從寫(xiě)計(jì)數(shù)有效開(kāi)始,延遲一個(gè)時(shí)鐘,計(jì)數(shù)器值更新為1,意思就是寫(xiě)入了一個(gè)數(shù)據(jù);注意:我們?cè)趯?shí)際使用FIFO輸出參數(shù)之前,一定要仿真看下時(shí)序關(guān)系,以防用錯(cuò)。我們嘗試寫(xiě)入兩個(gè)數(shù)據(jù),來(lái)驗(yàn)證下這種關(guān)系:關(guān)系一致。讀計(jì)數(shù)器讀計(jì)數(shù)器的含義是FIFO內(nèi)部存放了多少數(shù)據(jù)?但這個(gè)數(shù)據(jù)的更新需要一定的時(shí)間,例如:數(shù)據(jù)的更新需要至少4個(gè)讀時(shí)鐘周期,因此,這個(gè)數(shù)據(jù)我們不能寫(xiě)入之后立即使用;這個(gè)延遲是異步FIFO內(nèi)部跨時(shí)鐘域的結(jié)果。注意:使用FIFOIP核內(nèi)部輸出信號(hào)的時(shí)候,保險(xiǎn)起見(jiàn),需要自己仿真下,認(rèn)識(shí)下時(shí)序關(guān)系后再設(shè)計(jì)電路。例如寫(xiě)入了兩個(gè)數(shù)據(jù),之后又讀出了一個(gè),那這個(gè)值最終一定是1;仿真驗(yàn)證了這個(gè)結(jié)果。上面說(shuō)了這些情況,其實(shí)都在數(shù)據(jù)手冊(cè)中有體

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論