MACsec Intel® FPGA System Design User Guide

ID 767516
Date 10/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

7.3. Reference Design Directory Structure

After obtaining the reference design, you must first uncompress it. The uncompressed directory structure of the UVM without verification is shown below.

<Reference Design Name>
      <HW_Release>
          env/
          sim/
          src/
          syn/
      <SW_Release>
          include/
          src/
          mcdma/
          linux_macsec/
          iptool/
          wpa_supplicant/
          utest/
          patches/
Each directory in <HW_Release> is described below:
  • env Directory — Contains the environment setting file which needs to be sourced to get the latest Quartus build and the appropriate Arc Shell.
  • sim Directory — Contains the subdirectories and files for simulation. The testcase directory includes all the testcases for simulation.

    runDir subdirectory — Where you run the simulation and the log files, dump files etc, which are created inside separate subdirectories.

    The tbTop and common subdirectories contain defines and other function call files.

  • src Directory — Contains all the RTL files for the design, the IP source files, and the qsys generated files.
  • syn Directory — Contains the required files for Synthesis. The major files are the Quartus project files, a Quartus settings file, a pin constraints file, clock constraints, and other synthesis settings files.

Each directory in <SW_Release> is described below:

  • include Directory — Contains header files associated with various MACsec IP API/driver modules.
  • src Directory — Contains MACsec APIs/driver source files. They are categorized into the functionalities below:
    • MACsec IP initialization.
    • MACsec IP get/set port attributes.
    • MACsec IP get/set port, sc and sa attributes.
    • MACsec PPBB IP component write/read CSR registers.
  • mcdma Directory — Contains the MCDMA driver as network/ethernet driver.
  • linux_macsec Directory — Contains the open source MACsec driver used between the user applications (i.e. wpa_supplicant and iptool) and drivers (i.e. mcdma driver that supports the MACsec APIs).
  • iptool Directory — Contains the open source which is ip-macsec reference implementation of application to exercise the drivers. The patch provides the new features supported in the MACsec IP HW.
  • wpa_supplicant Directory — Contains the open source which is wpa-macsec reference implementation of application to exercise the drivers. The patch provides the new features supported in the MACsec IP HW.
  • utest Directory — Contains the src code of the unit test.
  • patches Directory — Contains scripts and patches used for the HPS based design and yocto build.