時序分析與CDC

在寫入端 100 MHz、讀取端 80 MHz 的非同步FIFO中,寫入端以每個週期1字組的方式寫入100字組的突發,讀取端每個週期讀出1字組。突發之間有足夠的間隔。為了不溢位,所需的最小深度是多少(忽略同步化造成的延遲)?

  1. A80字組
  2. B25字組
  3. C20字組
查看答案與解析

正確答案:C. 20字組

寫入100字組所需的時間為 100 × 10 ns = 1000 ns。在此期間讀取端可讀出 1000 ns ÷ 12.5 ns = 80字組,因此FIFO中最多剩下 100 − 80 = 20字組。以算式表示為:突發長度 × (1 − 讀取速度 ÷ 寫入速度) = 100 × (1 − 80 ÷ 100) = 20。80字組是在此期間可讀出的量,25字組是將速度差 20 MHz 除以讀取端 80 MHz 的值。實際設計時,還要加上同步化延遲所需的餘裕。

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

時序分析與CDC的其他題目

  1. 寫入端以 200 MHz、每個週期1字組寫入120字組的突發。讀取端以 150 MHz 的時脈,每3個週期中只有2個週期各讀出1字組。為了不溢位,所需的最小深度是多少(忽略同步化造成的延遲)?
  2. 寫入端 250 MHz、讀取端 200 MHz,兩者都每個週期傳輸1字組。接收64字組突發的FIFO,在計算上所需的最小深度是多少(忽略同步化造成的延遲,小數無條件進位)?
  3. 從低態有效的外部重設,產生「非同步確立、同步解除」之內部重設的重設同步器,其構成何者正確?
  4. 將來自同一發送端時脈域的2條控制訊號,分別以不同的2級同步器接收,並在接收端做AND後使用。此設計的問題點何者正確?
  5. 即使已進行STA與RTL模擬,仍需要以CDC驗證工具確認的理由,何者正確?