802.11 MAC/PHY - MAC Software

MAC Software SDK Screenshot

Our 802.11 stack provides a fully programmable MAC. All MAC behaviors are implemented in bare-metal C running in MicroBlaze CPUs in the FPGA fabric. This architecture provides full flexibility throughout the MAC with rapid, software-only iteration on MAC protocol changes.

Our 802.11 MAC implementation is split between high and low level MAC functions.

The high-level MAC is responsible for managing association state, queueing packets for transmission, and interfacing to external traffic sources.

The low-level MAC is responsible for PHY configuration, real-time medium access, and coordinating Tx and Rx events according to a particular MAC protocol.

Our 802.11 MAC software stack is implemented in the Xilinx SDK, part of the Vivado tool suite. The MAC software design is delivered as an SDK workspace with MAC software applications, BSPs for each CPU, and the FPGA hardware project exported from Vivado.

High-Level MAC Applications Low-Level MAC Applications
  • Access Point (AP)
  • Infrastructure Client (STA)
  • Ad-hoc Client (IBSS)
  • 802.11 DCF
    • Standard CSMA/CA protocol
    • Fully parameterized implementation
  • NoMAC
    • Passthrough Tx/Rx
    • Template for custom MAC protocols
High-Level MAC Framework Low-Level MAC Framework
  • Ethernet/wireless bridging
  • Control and measurement plane
  • Configurable Tx queueing
  • A-MSDU aggregation
  • Programmable traffic generators
  • Network scan/join processing
  • Per-destination configuration
    • Tx queue per destination address
    • Tracking client MAC/PHY capabilities
    • Rate and waveform selection
  • Real-time Tx/Rx event logging
  • PHY configuration and control
  • Control and measurement plane
  • Primitives for MAC protocols
    • Tx state machine configuration
    • IFS timers
    • Tx/Rx coordination with upper MAC