2016年1月31日 星期日

【FPGA茫茫大海2】register slicing in AXI

在看data sheet常常會看到register slicing這個名詞

這個詞的意思到底是甚麼呢?

簡單的來說AXI interconnect會有所謂的master和slave端,由master傳給slave。

而master和slave的意義可以去看上一篇【FPGA茫茫大海1】

這張圖可以解釋register slicing是甚麼



簡單來說就是master和slave之間的橋樑,一邊要傳送給另一邊訊息的時候,會先將資料傳給register,再傳給另一邊,這樣的好處就是可以做timing的分割(timing isolation),避免兩邊不同timing會有問題。

而register slicing會有三種mode可以選擇,如下所示:
第一種就是需要timing isolation,都有register在中間,第二種則是ready signal和兩邊溝通timing沒有問題,可以直接傳過去,第三種則是都沒差,沒有timing isolation的需要,所以就直接bypass過去。


reference:About the AXI register slice




2016年1月28日 星期四

【FPGA茫茫大海1】在axi bus 上master和slave差別

就像圖上所示,究竟master和slave的差別是甚麼?
後來查資料看到一句話,覺得很有感覺,在Jay Kraut的Hardware Edge Detection Using an Altera Stratix Nios II Development Kit的論文中,談到一句話,一語道破master與slave。
The masters initiate communication and the slave responds to them.

就現在的感覺很像是master就是負責發送命令的,slave則是負責接收master命令的單位。

另外想要了解AXI的細節,可以參考這篇Xilinx文件:AXI Reference Guide