配置 LabVIEW FPGA 浮點 VI 以用作自然對數運算符

更新 Feb 26, 2024

環境

軟體

  • LabVIEW FPGA Module

本知識庫文章的目的是解釋在 LabVIEW FPGA 中使用 Xilinx 的 LogiCORE IP 浮點運算符創建執行自然對數函數的 VI 的過程

步驟如下:
  1. 將浮點 VI 放置在 FPGA 方塊圖中:
Step1.JPG
  1. 保存 VI 並雙擊它,然後選擇 Configure Xilinx IP:
step2.png
  1. 在選擇對數 Operation Selection 選項卡中選擇對數:
step3.JPG
  1. 然後轉到 Interface Options 選項卡並選擇 NonBlocking 作為 Flow Control 選項:
step4.JPG
根據 LogiCORE IP 產品指南,Non-Blocking 選項表示如果在一個輸入通道上缺少數據,則該操作的執行不會被阻塞,如果在另一個輸入通道上收到數據,則會執行該操作。有關這些設置的更多信息,請參閱該產品指南。
  1. 然後單擊 OK 並等待 IP 生成過程完成。
step5.png
  1. 該過程完成後,單擊 Next 繼續配置 Xilinx 浮點功能。
  2. 在 Clock and Enable Signals 視窗中,將 Clock signal Name 設置為 aclk 並從 IP Enable Signals 中選擇 s_axis_a_tvalid:
step7.JPG
這是因為,當所有當前輸入通道接收到活動的 TVALID 時,操作會被驗證,並且輸出 TVALID 被斷言以合格結果(在核心延遲的延遲配置後)。有關此的更多信息,請參閱產品指南。
  1. 單擊 Next 並在 Reset Signals and Behavior 視窗中,出於本範例的目的,將Asynchronous reset signal 設置為 No Asynchronous Reset 並單擊 Next:
step8.JPG
  1. 在 IP Terminals 視窗中,為了本範例的目的並獲得更易讀的結果,將數據類型從 Fixed-point (default) 更改為 Single-Precision:
step9.JPG
  1. 單擊 Finish 關閉 Xilinx Floating-Point Node Properties window 視窗。
 

現在,浮點運算符有 22 個週期的延遲,因此它必須在 timed loop 中運行,並且您必須將 boolean 值連接到 s_axis_a_tvalid 輸入端以驗證操作,因此圍繞浮點創建一個 timed loop 操作並連接函數的輸入和輸出,如以下程式碼所示:
結果片段.png
如上所述,一旦操作被驗證,m_axis_result_tvalid 將被設置為有效,在本範例中,我們將使用這個信號作為 timed loop 的停止信號。
現在這個範例可以在 FPGA 目標或模擬模式下運行。

以下是在模擬模式下運行此功能的範例,用於操作 ln(5),可以使用 Windows 內建計算機驗證其結果:
結果.JPG
 

下一步

要在 FPGA 或您的目標上使用此範例,請查看每個版本的 LogiCORE IP 浮點運算符的產品指南,其中列出了支持的設備系列。
可以按照相同的流程來實現由該功能支持的不同操作,例如指數。