原文可以看fifo depth calculation 這篇文章。
fifo深度計算的關鍵在於:
在規定時間內傳輸的資料等於接收的資料,寫快讀慢的情況下,突發burst寫入的資料減去該burst時間內讀出的資料,多餘的資料需要能緩衝下來,讓接收端在剩下空閒的時間能從容地把多餘的資料讀出來。
下面看幾道例題。
case1:
計算方法(本題假設寫資料和讀資料位寬相同):
case2
這種情況和case1相同
case3
計算方法
case4
和case3相同,只是問題描述方式不同
case5
這種寫慢讀快的情況fifo的深度為1就夠了。
case6
這個case看似是寫慢讀快,但是因為有idle週期的存在導致
case7
這種情況不需要fifo,如果clka和clkb有相位差,可以採用兩級dff或者深度為1的fifo即可。
case8
同樣算等效時鐘頻率就行了。
case9
可能有下面幾種情況,以及每種情況下寫完160個burst所需要的週期數
考慮最壞的情況case4,160個cycle就要寫完160個資料的burst,在這160個時鐘週期內能從fifo中讀走
160/10∗
8=128 160/10
∗8=128
個資料,所以fifo的深度為160-128=32
case10
假設clkb=100mhz, 則clka=25mhz, 看起來是乙個寫慢讀快的情況,不需要fifo。
但是因為第三個條件en_b的duty cycle只有1/4個週期,也就是在這個burst期間只有1/4的時間能從fifo中讀出資料,這1/4週期的時間內是讀快寫慢,fifo不需要快取資料。其餘3/4個週期只有寫,沒有讀,所以fifo的深度要能快取下這3/4個週期中寫入的資料。
從第二個條件可以看出burst的資料為100,總burst的時間為
100/25m
hz=4000ns
100/25m
hz=4000ns
, 3/4個週期就是3000ns,所以fifo的深度為
3000ns
∗25mh
z=75 3000ns
∗25mh
z=75
SVM常見面試問題
答 幾何間隔與樣本的誤分次數間存在關係 其中的分母就是樣本到分類間隔距離,分子中的r是所有樣本中的最長向量值 答 會,超平面會靠近樣本少的類別。因為使用的是軟間隔分類,而如果對所有類別都是使用同樣的懲罰係數,則由於優化目標裡面有最小化懲罰量,所以靠近少數樣本時,其懲罰量會少一些。比如 假設理想的分隔...
C 常見面試問題
一 抽象與介面的區別 1,抽象 abstract 1 抽象類中可以有抽象方法,也可沒有 2 抽象方法包含實現,也可以由子類實現 3 抽象類不能被sealed修飾,只能使用abstract關鍵字 4 抽象方法不能在抽象類外部宣告 5 抽象類只能單繼承 6 可以有虛方法 virtual 在不同的繼承中,...
SpringMVC 常見面試問題
springmvc流程 原理 流程圖 亂碼問題 重定向和 在返回值前面加 redirect 或 forward return forward 跳轉的頁面或路由 重定向和 的區別 全域性異常 自定義實現spring的全域性異常解析器handlerexceptionresolver springboot...