時序分析與CDC
在寫入端 100 MHz、讀取端 80 MHz 的非同步FIFO中,寫入端以每個週期1字組的方式寫入100字組的突發,讀取端每個週期讀出1字組。突發之間有足夠的間隔。為了不溢位,所需的最小深度是多少(忽略同步化造成的延遲)?
- A80字組
- B25字組
- 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 的值。實際設計時,還要加上同步化延遲所需的餘裕。