校招基礎——FIFO深度


1、讀寫沒有空閑周期。(fA>fB)

fA = 80MHz

fB = 50MHz

Burst Length = 120

讀寫之間沒有空閑周期,是連續讀寫一個突發長度。

解法:

寫一個數據需要的時間 = 1 / 80MHz = 12.5ns

寫一個突發需要的時間 = 120 * 12.5ns = 1500ns

讀一個數據需要的時間 = 1 / 50MHz = 20ns

每1500ns,120個數據被寫入FIFO,但讀一個數據需要20ns的時間

則1500ns內讀出多少個數據,1500 / 20 = 75

剩下的沒有讀出,就存在FIFO中,則需要120 - 75 = 45

快捷方法:FIFO深度 =120 - 120*50/80 = 45

補充:

讀寫沒有空閑,若fA<=fB,則FIFO不會寫滿,深度為1即可。

 

2、讀寫都有空閑周期。(讀寫速率大小隨意,可以相等)

fA = 80MHz

fB = 50MHz

Burst Length = 120

兩個連續寫入之間的空閑周期為 = 1(寫使能占得百分比為50%)

兩個連續讀取之間的空閑周期為 = 3(讀使能占得百分比為25%)

解法:

每寫入一個數據等待1個周期再寫入下個數據,即2周期寫入1個數據。

每讀出一個數據等待3個周期再讀出下個數據,即4周期讀出1個數據。

寫一個數據需要的時間 = 2 * (1 / 80MHz) = 25ns

寫一個突發需要的時間 = 120 * 25ns = 3000ns

讀一個數據需要的時間 = 4 * (1 / 50MHz) = 80ns

3000ns120個數據被寫入FIFO,但讀一個數據需要80ns的時間

3000ns內讀出多少個數據,3000 / 80 = 37.5FIFO深度=120-37.5=83

快捷方法:FIFO深度 = 120 - 120*(50/4)/(80/2)=82.5=83

 

3、考慮背靠背,讀寫速率相等。

讀寫速率相等

每100個時鍾寫入80個數據

10個時鍾讀取8個數據

突發長度為160 (這個條件其實多余)

解法:

100個時鍾寫入80個數據,那剩下20個時鍾周期去哪了?

10個時鍾讀取8個數據,那剩下2個時鍾周期去哪了?

剩下的周期在哪我們不管,只考慮最差的情況,即前20個時鍾周期空閑,后80個周期寫完80個數據,立馬又是寫請求,這次是前80個時鍾周期寫完80個數據,后20個時鍾周期空閑。即連續的寫入,又稱為背靠背。也就可以看成一個突發寫入是80+80=160。

寫一個突發需要的時間:160時鍾周期

160個時鍾周期內讀出多少個數據,160*8/10=128

FIFO深度 = 160 - 128 = 32

 

4、考慮背靠背,讀寫速率不等。

fA = 20MHz

fB = 40MHz

每1000個時鍾周期寫入500個數據

每4個時鍾周期讀出1個數據

解法:

考慮到背靠背的情況突發長度則為500 * 2 = 1000

則為每1000個時鍾周期寫入1000個數據

4個周期,讀取一個數據。

寫一個數據需要的時間 = 1 / 20MHz = 50ns

寫一個突發需要的時間 = 1000 * 50ns = 50000ns

讀一個數據需要的時間 = 4 * (1 / 40MHz) = 100ns

50000ns120個數據被寫入FIFO,但讀一個數據需要100ns的時間

可以計算出,50000ns內讀出多少個數據,50000 /100 = 500

剩下的沒有讀出,就存在FIFO中,則需要1000- 500 = 500

 

5、以下關於FIFO描述正確的是(CD
A.空信號是在寫時鍾域產生的,滿信號是在讀時鍾域產生的
B.外部可以直接操作FIFO的讀寫地址
C.FIFO可以分為同步FIFO和異步FIFO
D.FIFO是先進先出的存儲器

解答:A、“寫滿讀空”。空信號是在讀時鍾域產生的,滿信號是在寫時鍾域產生的;BFIFOFirst Input First Output,先入先出隊列),外部不可以直接操作FIFO的讀寫地址

 

6單口RAM、雙口RAMFIFO三者之間的關系

單口只有一組數據線與地址線,因此讀寫不能同時進行,而雙口有兩組數據線與地址線,讀寫可以同時進行。RAM有地址線,可以對存儲單元尋址,FIFO沒有地址線,不能對存儲單元尋址,此外RAM數據讀完還有,FIFO數據讀完就沒有了。

 

7、偽雙口RAM和真雙口RAM的區別?

偽雙口RAM,一個端口只讀,另一個端口只寫,且寫入和讀取的時鍾可以不同,位寬比可以不是1:1,而雙口RAM兩個端口都分別帶有讀寫端口,可以在沒有干擾的情況下進行讀寫,彼此互不干擾。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM