作者:OpenSLee
1、Floating-Point IP支持的運算操作
1)Multiply—乘法
3)Accumulator—累加
4) Fused multiply-add--融合乘加
5) Divide—除法
6)Square-root—平方根
7) Comparison—比較
8) Reciprocal—倒數
9)Reciprocal square root—倒數平方根
10)Absolute value—絕對值
11) Natural logarithm—自然對數
12)Exponential—指數
13)Conversion from floating-point to fixed-point—浮點轉定點
14)Conversion from fixed-point to floating-point—定點轉浮點
15) Conversion between floating-point types—浮點類型之間的轉換
2、Floating-Point IP接口
如下圖所示,Xilinx Floating-Point IP主要分為操作數s_axis_a,s_axis_b,s_axis_c,可編程操作s_axis_operation和輸出結果m_axis_result。
2.1 s_axis_operation_tdata
當我們同時選擇加法和減法運算或選擇可編程比較器時,將存在s_axis_operation通道。s_axis_operation_tdata的具體含義如下表所示。
2.2 m_axis_result_tdata
如果是比較操作,則結果中的有效位取決于所選的比較操作。
3、AXI4-Stream Protocol
使用AXI4-Stream接口帶來了標準化,并增強了Xilinx IP LogiCORE?解決方案的互操作性。除了諸如aclk,acclken和aseten之類的常規控制信號外,所有往返于浮點運算符核心的輸入和輸出均使用AXI4-Stream通道進行傳輸。通道始終由TVALID和TDATA以及幾個可選的端口和字段組成。在浮點運算符中,支持的可選端口為TREADY,TLAST和TUSER。 TVALID和TREADY一起執行握手以傳輸消息,其中有效負載為TDATA,TUSER和TLAST。浮點運算符對TDATA字段中包含的操作數進行運算,并將結果輸出到輸出通道的TDATA字段中。浮點運算符本身并不使用TUSER和TLAST輸入,但是內核提供了以與TDATA相同的延遲來傳送這些字段的功能。預期該功能可簡化系統中浮點運算符的使用。例如,浮點運算符可能正在處理流式打包數據。在此示例中,核心可以配置為通過分組數據通道的TLAST,從而節省了系統設計人員為該信息構建旁路路徑的工作。
Basic Handshake:
如下圖所示,在AXI4-Stream通道中的數據傳輸。 TVALID由通道的源(主)側驅動,而TREADY由接收器(從屬)驅動。 TVALID指示有效負載字段(TDATA,TUSER和TLAST)中的值有效。 TREADY表示從機已準備好接收數據。當TVALID和TREADY在一個周期中都為TRUE時,將發生傳輸。主機和從機分別為下一次傳輸分別設置TVALID和TREADY。
編輯:hfy
-
接口
+關注
關注
33文章
8650瀏覽量
151415 -
Xilinx
+關注
關注
71文章
2168瀏覽量
121702
發布評論請先 登錄
相關推薦
評論