( ESNUG 470 Item 9 ) -------------------------------------------- [10/31/07]

From: Chris Tarnovsky <chris=user domain=flylogic.net>
Subject: User benchmark of Mentor Precision RTL Plus vs. its olde version

Hi John,
 
I have been using Mentor's Precision RTL since 2003 and recently upgraded to
their new "Precision RTL Plus" this month.  I measured a 44% improvement in
my Xilinx Spartan 3 FGPA using the RTL "Plus" tool compared to their old
Precision RTL tool.  My benchmark data is below.
 
"Plus" understands better how Xilinx have implemented their architecture vs.
the old Precision RTL.  It uses that info to do what they call "physically-
aware synthesis".  It makes a big difference when the tool understands the
architecture of the design you are dropping into. 
 
My benchmark method:

  - I took exactly same source code, with the same inputs and outputs, and
    made one project for 2007 RTL Plus and another for RTL 2006a3.24.

  - Everything was automated and executed as a script: Precision compiled
    and synthesized the design, then automatically passed it to Xilinx P&R.
    This was one time only for each version of Precision; no iterations or
    further tweaking.

  - I used the same version of Xilinx ISE Foundation 7.1. for P&R.  Xilinx
    actually has a later version (ISE Foundation 9.1), but it has bugs in
    it, so I am sticking with 7.1 for now.

Results:
                    Precision RTL 2006a3.24    Precision RTL Plus 2007
  Performance                 57 MHz                   82 MHz
  Execution time              32 min                   32 min 
 

The execution times were 2-3 min of Precision compilation and synthesis with
the rest being Xilinx P&R on an Intel Quad Xeon 5160.
 
  1. The design came in at 90% of a Spartan 3 1500
 
  2. There was no additional setup required for Plus vs. old Precision RTL.

  3. Performance numbers are based on Xilinx P&R, not Mentor's own reports.
     Because Mentor historically has not had this physical information,
     their timing has not been as accurate as Xilinx.  Precision RTL tended
     to exaggerate the delays over the actual results from Xilinx P&R.
     Mentor's timing is getting better, but still Xilinx is the final word.
 
  4. We made the PCB before we designed the logic for this FPGA.  The I/Os
     had been pin locked (pin constraints), so none of the I/O signals were
     allowed to be changed.  When I do my reverse engineering projects, I
     design and debug at once, so I write the code as tightly optimized as
     possible.  I didn't notice a difference is Xilinx P&R runtime, just
     that the device speed (throughput) was better.
 
Another interesting stat on the hardware:

                    Intel Quad Xeon 5160          Quad AMD FX-74   
  Execution time              32 min                   44 min
 
I initially ran the HW comparison 2 months ago on Precision 2006.  Between
the lower speed and the heat that AMD generates, I sold my Quad AMD and just
use Intel Quad Xeon now!
 
I first started using Mentor in 2001.  I used Leonardo at first, and waited
for them to polish Precision before using it.  Now I only use Precision.
Precision used to have some significant bugs, but these have been repaired
in the newer version.  If a user copied instantiated names, Mentor would
create a long file name that would continue to grow until it exceeded 256
characters and the tool would crash.  Mentor had workaround for this, but it
has been fully repaired in the latest version.  Xilinx place and route has a
bug that Mentor had a workaround for, where Xilinx had a file name that had
to be deleted if you were using CPLD Xilinx 9500 series.  Now Mentor has a
fix for Xilinx's bug directly in Precision.
 
I would like to see "Plus" become multi-threaded.  It automatically does 3-4
takes on a design to find the most optimal result for you.  If it could take
advantage of my dual or quad processors, they could spawn 2 or more threads,
one for each optimization, and then let the thread terminate.  The runtime
would be cut in half.
 
Precision has a TcL interface, so I write scripts to automate the process.
"Plus" also has an incremental synthesis approach, where they recompile and
synthesize only the portion of your design affected by a design change.
This can result in a 6x run time savings, but it is mostly relevant more
for very large designs.
 
    - Christopher Tarnovsky
      FlyLogic Engineering                       Vista, CA
Index    Next->Item









   
 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)