|
小弟目前遇到兩個問題。煩請大家幫忙。
1.一顆ASIC中有一塊RAM區。兩個端口A,B都可以訪問。
目前避免沖突的機制為,在ASIC的RAM中定義了兩個參數,
一個PORT_A_Access,此參數為1時,表明PORT A正在讀寫RAM,為0時表明PORT A
空閑。
一個PORT_B_Access.此參數為1時,表明PORT B正在讀寫RAM,為0時表明PORT B空
閑。
當PORT A想要訪問ASIC 中的RAM時,先判斷PORT_B_Access狀態。
如果PORT_B_Access為 0 ,將PORT_A_Access設置為1.PORT A開始訪問,訪問結束將PORT_A_Access設置為0.
如果PORT_B_Access為1,等待其為0,將PORT_A_Access設置為1.PORT A開始訪問,訪問結束將PORT_A_Access設置為0.
PORT B的訪問原理與PORT A完全相同。
如上面描述的訪問原理,PORT A和PORT B頻繁的對ASIC中的RAM進行訪問,以達到數據的高速交換。
這樣的交換方式是否有先天的缺陷或者不足之處,現在測試的結果是偶爾會有數據傳輸錯誤的現象。所以特來請教。
謝謝 |
|