時序分析與CDC

在使用5位元格雷碼指標、深度16字組的非同步FIFO中,寫入端判定滿(full)的條件何者正確?

  1. A寫入指標與同步化後的讀取指標,高位2位元各自相反,低位3位元一致
  2. B寫入指標與同步化後的讀取指標,5個位元全部一致
  3. C寫入指標與同步化後的讀取指標,只有最高位元相反,低位4位元全部一致
查看答案與解析

正確答案:A. 寫入指標與同步化後的讀取指標,高位2位元各自相反,低位3位元一致

以二進位而言,滿是寫入指標恰好領先讀取指標16的狀態,只有最高位元不同。將其轉換為格雷碼後,最高位元直接反相,第2個位元由與最高位元的XOR產生,因此也一起反相,低位3位元則相同。例如讀取為 00000 時,滿的時候寫入為 11000。只有最高位元相反是二進位時的條件,5位元全部一致則是空(empty)的條件。

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

時序分析與CDC的其他題目

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