Our MAC design implements all protocol behaviors in C code. A completely custom MAC protocol can be realized with only software changes. FPGA logic is only used for real-time primitives like slot timers, SIFS/DIFS timers, backoff counters, etc. These primitives are configured, monitored, and controlled from software.

For example our reference DCF implementation makes use of all these primitives to build the standard 802.11 CSMA/CA protocol. The DCF code is fully parameterized. For example, key timing values like SIFS or Timeout are specified as variables in the C code, and can be modified without any changes to the underlying FPGA design.

A custom MAC can reconfigure or disable these primitives to realize any desired MAC behavior. The MAC Software project includes a NoMAC application which demonstrates the minimum code to use the Tx/Rx PHY with no MAC-level handshakes or medium monitoring. This project is an ideal template for building fully-custom MAC protocols.

The MAC C code is developed in the Xilinx SDK. The SDK supports software development without rebuilding the underlying FPGA logic design, enabling rapid iteration on code while testing in real-time on the FPGA hardware.

What software tools are required?

Our current 802.11 MAC/PHY design is built in Xilinx Vivado 2017.4.

The MAC Software workspace requires only the Xilinx SDK. Xilinx distributes the SDK at no cost.

The FPGA Design project requires the Vivado IDE. A paid Vivado license is required to target devices not supported by the free WebPack license.

The PHY IP Cores are implemented in Xilinx System Generator. System Generator requires a Vivado System Edition license and Mathworks licenses for MATLAB/Simulink.

Yes. The reference FPGA design is an ideal starting point for creating an 802.11 design on custom hardware. The porting effort depends on how similar the target platform is to our reference hardware. The Mango engineering team is ready to work with customers on building an 802.11 design for custom hardware.

Can the 802.11 MAC/PHY target an ASIC?

No. Our MAC/PHY are designed especially for Xilinx programmable devices. We use Xilinx tools which do not support ASIC implementations.

Can the 802.11 MAC/PHY be embedded in products?

Yes. The right to embed our MAC/PHY designs in custom products can be part of a license agreement.

How does this compare to the 802.11 Reference Design for WARP v3?

Our 802.11 Reference Design for WARP v3 set the standard for high-performance, fully programmable, real-time wireless networking on FPGAs. However the WARP v3 hardware is built around a Virtex-6 FPGA, a device only supported by the discontinued Xilinx ISE tools.

Our new 802.11 MAC/PHY stack is the successor to the Mango 802.11 Reference Design for WARP v3. Our new 802.11 MAC/PHY stack is built in Xilinx Vivado and can target any modern (or future) Xilinx device. Vivado also provides significant improvements in usability and efficiency over ISE. Better tools and bigger devices provide the foundation for our continued development of the 802.11 MAC and PHY designs.