時序分析與CDC

在深度16字組的非同步FIFO中,讓寫入指標與讀取指標比位址多1位元、成為5位元的理由,何者正確?

  1. A表示16字組的位址需要5位元
  2. B指標一致時,可區分同一圈為空、相差1圈為滿
  3. C將多出的位元作為同位元,用來偵測指標的錯誤
查看答案與解析

正確答案:B. 指標一致時,可區分同一圈為空、相差1圈為滿

16字組的位址用4位元即可表示,但只用4位元的指標,在讀取與寫入的位址一致時,無法區分是全部讀完的空狀態,還是寫了1圈後追上的滿狀態。加入第5位元作為表示圈數的位元後,以二進位比較時,5位元全部一致即為空,只有最高位元不同即為滿。使用格雷碼指標時,滿的判定比較方式會稍有不同。並非作為同位元使用。

練習這個領域 前往領域頁面

時序分析與CDC的其他題目

  1. 在使用5位元格雷碼指標、深度16字組的非同步FIFO中,寫入端判定滿(full)的條件何者正確?
  2. 非同步FIFO是將對方的指標同步化後使用,因此看到的指標值會舊2~3個週期。這個延遲對full/empty判定的影響,何者正確?
  3. 在寫入端 100 MHz、讀取端 80 MHz 的非同步FIFO中,寫入端以每個週期1字組的方式寫入100字組的突發,讀取端每個週期讀出1字組。突發之間有足夠的間隔。為了不溢位,所需的最小深度是多少(忽略同步化造成的延遲)?
  4. 寫入端以 200 MHz、每個週期1字組寫入120字組的突發。讀取端以 150 MHz 的時脈,每3個週期中只有2個週期各讀出1字組。為了不溢位,所需的最小深度是多少(忽略同步化造成的延遲)?
  5. 寫入端 250 MHz、讀取端 200 MHz,兩者都每個週期傳輸1字組。接收64字組突發的FIFO,在計算上所需的最小深度是多少(忽略同步化造成的延遲,小數無條件進位)?