Re: [問題] quartus II 的問題
謝謝回答
我大概找出一些問題,因為在計算前需要將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的機制可以避免這種情形??
謝謝回答^^
※ 引述《acelp (未來,一直來一直來)》之銘言:
: 假使您用很慢的頻率來跑 看timing report的timing都很鬆的話
: 那review一下你的design 是否有跨clock domain的設計
: 因為你會用buffer來接收就表示雙方clock的速度不同或是頻率non in phase
: 如果有 在控制訊號或是data上有沒有額外的sync?
: 如果沒有 那你有可能發生meta stable...
: meta stable在你的simulation往往是檢查不出來的...
: 因為一般人不會造這樣的test pattern來檢查
: ※ 引述《Trai (Trai)》之銘言:
: : 做完timing simulation 結果都正確,丟1200筆進去答案出來都對。
: : 但是丟到算FPGA就出現問題了。
: : 請問是否有遇過類似問題的版友能分享一下經驗的???? 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.89.1
※ 編輯: Trai 來自: 140.113.89.1 (03/05 13:08)
討論串 (同標題文章)