Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-05 Thread Jack Hickish
Hi Everyone, Thanks all for the advice. Based on a few experiments so far (skip to 4 for what I think is a disappointinly simple solution, that I was too stupid to see in the XST manual) -- 1. My fabric utilisation isn't that high, although digging around planAhead there are some areas with high

[casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread Jack Hickish
Hi all, This is something I've been fighting with for a while now, and I wonder if anyone on this maillist has any insight (because I'm pretty sure I may just be doing something wrong with the tools). The problem: I'm playing with a ROACH2 design that (sometimes) compiles at 312 MHz. However,

Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread Mark Wagner
Hi Jack, Not sure if this will help, but in Planahead I would try to click and drag that LUT as close as possible to each of the outputs. And if that doesn't help or makes it worse, you could also try to duplicate the logic going to each of those outputs, forcing separate LUTs to be used.

Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread David MacMahon
Hi, Jack, Are the tools are optimizing for area instead of speed? Are you using Pblocks? I don't know if this is relevant to your situation, but I've run into annoyances when the tools use equivalent register removal to save a few flip-flops but end up causing fan-out/routing issues. That

Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread Jack Hickish
Hey Mark, Yeah, I guess I could manually force the locations of the two offending shift-regs to stop the combination, but the problem SRLs seem to be a fairly arbitrary selection of those in the design. I don't really want to have to start constraining at the LUT level if I can help it. But maybe

Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread Henno Kriel
Hi Jack, In Simulink if have seen similar issues when trying to add more register pipelining, to decrease routing delay's and thus increase Fmax. However, ISE just collapses all the pipelining into a single SRL, which yields the frustrations you mentioned. You can prevent this from happening, by

Re: [casper] Compiler merging SRLs -- Timing performance

2014-12-04 Thread Jason Manley
I often re-run XST with: register_balancing yes optimize_primitives yes read_cores yes shreg_extract no shreg_extract prevents adjacent registers from being combined into SRL16s. Jason Manley CBF Manager SKA-SA Cell: +27 82 662 7726 Work: +27 21 506 7300 On 05 Dec 2014, at 6:27, Henno Kriel