2017-07-07 89 views
1

我只是在尋找建議。我目前有一個集成在VHDL中的定製IP,它具有AXI4從輸入和AXI4主輸出,目前信號直接連接在一起。AXI4延遲交易

我想給AXI信號添加一個可定製的延遲,這樣它們可以通過IP延遲一段特定的時間,而不是相互連接。

我的問題是;我是否可以通過使用AxVALIDAxREADY(也可能是RVALID/RREADYWVALID/WREADY)信號來延遲通過IP進行讀寫操作?

如果我想要一個20個時鐘週期的延遲,我可以等待一個外部主設備來聲明VALID,然後等待20個時鐘,然後讓IP從設備聲明READY?這是正確的邏輯?

在此先感謝您的任何建議。

+2

通過延遲AxREADY信號,您會影響吞吐量,即每秒最大事務數。如果您確實想要控制延遲(請求和響應之間的延遲),則應該在響應路徑(RVALID-RDATA-RRESP和BVALID-BRESP)上添加一個FIFO。 –

+0

@RenaudPacalet這兩者之間有很大的區別嗎?在我看來,使用FIFO會產生同樣的影響;除非我錯了? – MateoConLechuga

+2

是的,有很大的區別。如果延遲請求確認(AxREADY),則阻止主控制器發出更多請求。如果您確認請求但延遲了響應(RVALID和BVALID),相反,您會增加請求和響應之間的延遲時間,但是您不會阻止主服務器發出更多請求(如果可以)。如果主設備支持它,您甚至可以保持原始吞吐量,同時增加延遲。 –

回答

3

是的,這是可以做到的。根據您的基礎設施,它可能會導致巴士擁堵。或者,您還應該插入一個FIFO來緩衝這些延遲的總線事務。