WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2006-Dec-15 13:31:52

Frederic
Member
Registered: 2006-Dec-12
Posts: 2

802 wireless MAC in SW or HW

Dear Members,

Using WARP, we have choices to implement MAC with embedded MCU or with hardwired FPGA. It might be a topic for discussion about advantages/disadvantages choosing these two alternatives.  Using WARP, is it possible to modify wireless MAC behavior with user designed C programs or RTL modules?

Another question would be: Is any SoC bus protocol used in WARP when using the MAC? How's the accuracy? Cycle or instruction?

Frederic Chen

Offline

 

#2 2006-Dec-18 20:01:30

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: 802 wireless MAC in SW or HW

Hi Frederic,

The MAC-level capabilities of WARP are described in some detail in a paper accepted to the 2006 Asilomar Conference. That paper can be found here: http://warp.rice.edu/trac/wiki/Asilomar2006_WARPMAC

In short, we use the embedded PowerPCs within the FPGA to to run our MAC algorithms that are written in C. We treat the hardware designs (OFDM transceiver, Radio Controller, Automatic Gain Control, Ethernet, etc) as peripherals that hang off of standard processor busses. Currently, the Ethernet MAC IP provided by Xilinx exists on the Processor Local Bus (PLB), and every other core exists on the On-Chip Peripheral Bus (OPB). Additionally, an interrupt controller allows hardware cores to trigger software routines. For example, when our OFDM receiver has a packet that the MAC needs to process, a user-written function is automatically called to perform that processing.

To make this system configuration easier for users, we have created a framework called WARPMAC. The details of that framework are provided in the paper linked to earlier.

We have been happy with the performance with this system. With a PHY configured to 12Mbps, we have achieved realistic application-level rates around 6Mpbs through our custom MAC. Other performance metrics are provided in the paper linked to earlier.

You can find source code of an ALOHA implementation here: http://warp.rice.edu/trac/wiki/ACKMAC
You can find the API for the WARPMAC framework here: http://warp.rice.edu/trac/wiki/WARPMAC

Thank you for taking interest in the WARP project.

-Chris

Offline

 

#3 2008-Sep-23 22:05:48

pangcm
Member
Registered: 2008-Sep-23
Posts: 4

Re: 802 wireless MAC in SW or HW

Dear All,

the video streaming demo uses a MAC running on a PowerPC; has anyone targeted the HW MAC using a softcore MicroBlaze processor ?  Is the C-code for the MAC on PowerPC portable to the MicroBlaze core ?  Appreciate any advice on this.  Thanks.

Best Rgds

Offline

 

#4 2008-Sep-23 23:13:46

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802 wireless MAC in SW or HW

Our current MAC implementations are built primarily in C, with some support functions implemented in hardware (timers, medium sensing, etc.). The C code runs in the PowerPC but does not use any PPC specific features. The supporting hardware peripherals are all 32-bit PLB46 cores. I believe both components (C code and peripherals) would work seamlessly in MicroBlaze (as of EDK v10.1, where MicroBlaze got PLB46 support).

Offline

 

#5 2008-Sep-25 22:18:58

pangcm
Member
Registered: 2008-Sep-23
Posts: 4

Re: 802 wireless MAC in SW or HW

Dear murphpo,
thanks for the reply.  Have you come across anyone using the Xilinx 10/100/1000 TEMAC coupled with the wireless OFDM PHY, to demonstrate the video streaming  applications?   Are you using the Xilinx TEMAC with the wired ethernet PHY interface ?  Thanks.

Best Rgds

Offline

 

#6 2008-Sep-26 15:50:03

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802 wireless MAC in SW or HW

We have tested the design using the soft TEMAC. It works fine. The TEMAC's MII support works as-is with our FPGA board's 10/100 Ethernet PHY. We chose to use the ethernetlite EMAC for the reference design to simplify DMA access to the Ethernet packet buffers. Using the TEMAC also requires the PLB LocalLink FIFO core (in order to connect the TEMAC's packet interface to the PLB). The FIFO's software interface is much more complicated than the ethernetlite's, and didn't provide anything extra we needed for the reference design.

Offline

 

#7 2008-Sep-29 01:20:23

pangcm
Member
Registered: 2008-Sep-23
Posts: 4

Re: 802 wireless MAC in SW or HW

Dear murphpo,
thanks for the explanation.  Is it correct to say that you are using the ethernetlite EMAC for both the 10/100 wired ethernet, and the wireless MIMO PHY?  Or you are using the PowerPC ( possible alternative a MicroBlaze ) to operate as the MAC for the wireless MIMO PHY ?  Thanks very much for the advice.

Best Regards

Offline

 

#8 2008-Sep-29 10:10:56

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802 wireless MAC in SW or HW

We use the ethernetlite EMAC only for the Ethernet interface (and the Ethernet PHY is off-chip).

We use custom MAC and PHY implementations for the wireless interface. The PHY is implemented entirely in hardware (the source model is in the repository); the MAC is mostly in software. You can see the MAC source code in the repository.

Offline

 

#9 2008-Sep-29 20:44:40

pangcm
Member
Registered: 2008-Sep-23
Posts: 4

Re: 802 wireless MAC in SW or HW

Dear Murphpo,
now I have a clearer overall picture; thanks very much.  By the way, for the video streaming demo using VLC, which MAC version was used for the Wireless PHY ( i.e. CSMA, RTSCTS, etc ) ? 

Thanks & Best Regards

Offline

 

#10 2008-Sep-29 22:15:09

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: 802 wireless MAC in SW or HW

The demo videos used CSMA.

Offline

 

Board footer