Accelerator Functional Unit Developer Guide: Intel FPGA Programmable Acceleration Card N3000 Variants

ID 683190
Date 7/15/2022
Public
Document Table of Contents

5.1. Adding Signal Tap to the Design

After you have compiled the hello_afu design, you can proceed as follows for adding Signal Tap to the design.
  1. Familiarize yourself with the project hierarchy. If your Project Navigator is not already in view in your main Intel® Quartus® Prime window, then in the Intel® Quartus® Prime window select View > Project Navigator. Detach the Project Navigator pane to expand its view. Expand the pac_top instance. Now expand the inst_green_bs instance. Next expand inst_ccip_std_afu. Your Project Navigator display should look as shown below:
  2. For this learning tutorial, the CCI-P interface and scratch register is instrumented. Select the afu instance in Project Navigator and right click, then select Locate Node and finally, Locate in Design File. See screen shot below:
  3. This brings up the hello_afu.sv SystemVerilog code. Having the code available for review while defining the signals to be instrumented is highly useful.
  4. Open the Signal Tap tool to create a *.stp file defining the signals to be instrumented. See example screen shot below on how to open the Signal Tap tool:
    1. The Signal Tap GUI appears as shown below:
    2. You can now set up a Signal Tap instance to instrument a portion of the design for observability.
      In this example, the Signal Tap instance is renamed to hello_afu to indicate its use to instrument the hello_afu module. To rename the auto_signaltap_0 instance, right click and select Rename Instance:
  5. For the hello_afu Signal Tap instance define the clock used to sample the signals to be instrumented. For accurate results, the instrumented signals must be in the domain of this clock. To select the clock, select the button under “Signal Configuration”:
    1. This brings up the Node Finder tool. Find the “Look in:” listing go to the right and click to bring up the “Select Hierarchy Level” viewer. See screen shot:
    2. In the Select Hierarchy Level viewer expand pac_top, inst_green_bs, inst_ccip_std_afu and select afu and click OK. See screen shot:
    3. From reviewing the hello_afu.sv code, notice all signals are synchronous to signal clk. In the Node Finder window, type in *clk* in the “Named” blank and click Search. Expand each instance selection in the “Matching Nodes” pane. Then select clk and the > to make this the signal used for clocking the Signal Tap instance. See screen shot:
      1. Press OK
      2. The Signal Configuration dock on the far right should look as shown below:
  6. You can increase the depth of the samples captured by increasing Sample depth. For this example, the depth is increased to 1 K. Please keep in mind, increased depth means more FPGA resources used for the Signal Tap instance.
  7. Select the signals to be added to the hello_afu Signal Tap instance by double clicking the Double-click to add nodes area of the “Setup” dock. This brings up the Node Finder tool. Repeat the steps above to set the “Look in:” box to narrow the search to just the hello_afu instance. You want to see the CCI-P interface signals and scratch pad register. Enter cp2af_sRxPort* in the "Named" entry field and click Search. Click the >> to select all signals to give you total visibility of the ccip RX bus input to the hello_afu. See screen shot below:
  8. Now change “Named:” to scratch* and click Search. Expand Matching Nodes until the scratch_reg is displayed. Select scratch_reg and then >> to add the scratch register signals to the “Nodes Found” list. See screen shot:
  9. Now enter af2cp_sTxPort* in the "Named" entry field and click Search to instrument the output CCI-P bus signals. Expand the instance names in “Matching Nodes". Do not select names ending in ~reg0. Your display should be as shown below:
  10. Click Insert and Close. Your display should be as shown below:
  11. Select File > Save As and save the newly created Signal Tap Logic Analyzer file as hello_afu.stp in the current directory.
  12. When asked: “Do you want to enable Signal Tap File hello_afu.stp for the current project?” Click Yes.
  13. Close the Signal Tap GUI.
  14. Re-Run a full compilation to create a new FPGA implementation with hello_afu Signal Tap instrumentation included.
  15. Once the build completes, the newly created pac-n3000-secure-update-unsigned.bin with Signal Tap instrumentation can be loaded into FPGA Flash for storage and use as the user image loaded into the Intel® Arria® 10 GT FPGA.