FIFO的應用非常多 高低速clock轉換
或是同速 non in phase clock
FIFO考量應該是clock domain不同時 必須有synchroizer
而FIFO深度則取決於你的design的spec
在同樣頻率的clock能承受多少clock variation(offset/drift)
或是高低速clock應用 能buffer多少data
這些東西 網路的資訊非常多 自己找就一堆東西可以看了
clcok domain後來越來越受重視 所以cadence後來也有CDC的tool
※ 引述《Trai (Trai)》之銘言:
: 謝謝回答
: 我大概找出一些問題,因為在計算前需要將10幾筆資料送到FPGA
: 當然是透過版子的bus,nWE拉起後,FPGA根據io_addr決定要將io_data送到哪個
: register。計算完後也用同樣的方式讀出資料。
: 我這樣寫意味著有個很大的mux在選擇register。
: 寫入資料比較沒問題,推測是因為bus的寫入週期剛好能配合這樣的設計,
: 寫入的時序正確。
: 但讀取的時候問題就來了,送出io_addr與拉起nOE之後需要一段時間讓MUX去選擇
: register,從timing simulation waveform 可以看到bus上data line的變化。
: 問題就出在讀取週期,版子上的master(arm)在信號穩定前就把資料抓回來,
: 所以會抓到錯誤的資料。
: 我想這就是您說的同步問題。不知道有沒有其他buffering的機制可以避免這種情形??
: 謝謝回答^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.69.97.52