WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Jan-28 23:20:04

jasonb
Member
Registered: 2016-Jan-28
Posts: 3

801.11 Reference EDK/XPS Build Procedure

Hi,

I tried to build the EDK project and it does not meet timing.  It has a final timing score of 4631 (Setup: 4631).

This is the procedure I followed:

A.  Download latest release (1.4.0) from: http://warpproject.org/trac/wiki/802.11/Download

B.  Follow Step 1-3 from the website: http://warpproject.org/trac/wiki/802.11/Usage/SDK

C.  Open EDK project using Version 14.4 Xilinx tools

D.  Project -> Clean All Generated Files

E.  Generate BitStream

Did I miss something?

Last edited by jasonb (2016-Jan-28 23:23:59)

Offline

 

#2 2016-Jan-29 00:01:20

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

Re: 801.11 Reference EDK/XPS Build Procedure

That's the right procedure; you have repositories setup correctly if the XPS flow ran to the point of a timing failure.

How many failing paths were there? And which constraints failed? This info is printed in the timing report towards the end of implementation/xflow.log.

One parameter you can tweak is the placer cost table. This acts like a seed for the place/route process. It's set by the "-t X" (for integer X) in the map section of etc/fast_runtime.opt.

It's also worth noting you can use the SDK to modify the MAC C code without re-building the hardware project in XPS. The SDK_Workspace folder in the reference design archive includes the output of a pre-built hardware project. The software compilation flow will use this hardware project data to write a bitstream with updated software.

Offline

 

#3 2016-Jan-29 09:25:44

jasonb
Member
Registered: 2016-Jan-28
Posts: 3

Re: 801.11 Reference EDK/XPS Build Procedure

Thanks.  I will try tweaking the placer cost table.

I plan to modify the PHY as well as the MAC so I will need to get this to work.  How often do you run into timing issues on this design?  Either I'm very unlucky or this must happen quite often.

This is the failing constraint:

----------------------------------------------------------------------------------------------------------
  Constraint                                |    Check    | Worst Case |  Best Case | Timing |   Timing   
                                            |             |    Slack   | Achievable | Errors |    Score   
----------------------------------------------------------------------------------------------------------
* TS_clk_gen_proc_bus_clks_clk_gen_proc_bus | SETUP       |    -0.935ns|     7.185ns|      49|        4631
  _clks_SIG_MMCM0_CLKOUT1 = PERIOD          | HOLD        |     0.005ns|            |       0|           0
  TIMEGRP         "clk_gen_proc_bus_clks_cl |             |            |            |        |           
  k_gen_proc_bus_clks_SIG_MMCM0_CLKOUT1"    |             |            |            |        |           
        TS_samp_clk * 2 HIGH 50%            |             |            |            |        |

Offline

 

#4 2016-Jan-29 10:23:40

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

Re: 801.11 Reference EDK/XPS Build Procedure

Sorry, I know that's frustrating. I've iterated on the XPS design 10's of times in the last few weeks without failing timing. We used to have more timing failures. I've added pipeline registers to critical paths in the PHY cores as they failed, which helped a lot.

The failing constraint here is the 160MHz clock used by most of the FPGA logic. 49 paths missing by up to 1nsec is a surprisingly big failure. The Timing Analyzer can pinpoint the failing paths. You can run the Timing Analyzer from ISE Design Tools -> 64-bit Tools, choose Open Design, then direct it to <xps project>/implementation/system.ncd & system.pcf.  The "Timing -> Run Analysis" default report options will show the worst timing paths.

Offline

 

#5 2016-Jan-29 10:44:15

jasonb
Member
Registered: 2016-Jan-28
Posts: 3

Re: 801.11 Reference EDK/XPS Build Procedure

Thanks.  Tweaking worked and the 2nd run met timing with 1ps worst case slack on hold time.

Offline

 

Board footer