( ESNUG 435 Item 13 ) ------------------------------------------- [12/08/04]

Subject: ( ESNUG 426 #6 ) Mentor On The Precision Scripting Problem

> Main trouble we have with Leonardo today is that Mentor will not support
> it anymore in the next years, replacing it by Precision Synthesis.  Thus,
> they do not implement any real new features in it, for example Leonardo
> does not support Verilog 2001, while other Mentor Graphics tools in the
> flow support it (HDL Designer, ModelSim).
>
> Another drawback of this transition is that Precision is not compatible
> with Leonardo Spectrum scripts: we have like 35 scripts that will become
> unusable!
>
> This means the day Mentor stops supporting Leonardo to force their
> customer transition to Precision (and buying new licenses), I will have
> a look at all existing synthesis tools (like Synplicity) and make a real
> comparison to choose the most appropriate for our needs.
>
>     - Florian Jutisz
>       Motorola                                   Toulouse, France


From: Dan Gardner <dan_gardner=user domain=mentor spot calm>

Hi, John,

We considered the script users when we re-designed the user interface
for Precision RTL, especially since many of our Leonardo Spectrum users
heavily used scripts and the batch mode of the product.  Precision RTL
allows you run scripts in batch or from a command interface in the GUI.
There is a shell version of the tool where you can run without the GUI
at all.  Most lengthy Leonardo Spectrum scripts can be greatly simplified
to run with Precision RTL.  While the scripts are not compatible, we
have some things in place to help you convert over.

You can invoke Precision in non-GUI mode by using the command precision
-shell. In this mode you can source Tcl scripts or you can interactively
enter commands from the shell prompt. A typical command line entry might
be the following where a Tcl command file is specified to set
constraints and guide the tool through the synthesis process:

  % precision -shell -file dofile.tcl

Chapter 4 of the Precision RTL Synthesis Users Manual covers the project
flow.  The Precision Synthesis Reference Manual covers the commands and
attributes.  All GUI commands are written to the transcript window, so
it is easy to see how to write a script to replay your actions if you
use the GUI the first time.  

There is an option to export all the project settings in your project
log and save them to a .tcl file.  First open the Precision Transcript
window, then choose the File > Export Settings Script ... pulldown menu.
In the dialog box, specify the name of the script to be created, and
click OK. You can then edit the script file to modify existing
implementation settings or add information for a new implementation.  You
can run this file by opening the Precision Transcript window and
selecting the Run Script... option.

Precision RTL's Project Manager is well suited for interactive sessions
in which you are exploring and trying multiple versions (implementations)
of the same design. In other situations, you might prefer to run Precision
without using the Project Manager.  Bypassing the Project Manager is
desirable when you are using scripted flows in which a known set of inputs
and the outputs of a single pass are all that is required.  For example,
if you are using Precision to automatically setup a known design and
generate output files for downstream tools.

As you noticed, the scripts are not compatible between Leonardo Spectrum
and Precision RTL.  If you are having problems, customer support can
help you convert over your first Leonardo Spectrum script to get you
started.  In addition, they have put together the Leonardo Spectrum to
Precision RTL quick script converter (ls2p.pl). The ls2p.pl utility is a
Perl script that can be used to assist in converting Leonardo Spectrum
TCL scripts to Precision Synthesis TCL scripts.

Leonardo Spectrum synthesis script example:

  # Setup Technology Environment
  set part 2V80cs144
  set process 6
  set wire_table xcv2-40-6_wc
  load_library xcv2

  #Read the Design
  read {traffic.v}

  # Setup Timing Constraints
  set register2register 16.66667
  set input2register 16.66667
  set register2output 16.66667
  set input2output 16.66667

  # Optimize the Design
  optimize
  optimize_timing

  # Generate Reports
  report_area
  report_delay

  # Save Results
  auto_write traffic.edf


Precision  synthesis script example:

  # Setup the project
  new_project -name traffic -folder C:/temp
  new_impl -name setup

  # Setup Technology Environment
  setup_design -manufacturer "Xilinx" 
        -family "VIRTEX-II" \
        s-part "2V40cs144" \
        -speed "6"

  # Add input files
  add_input_file {traffic.v}

  # Setup timing constraints
  setup_design -frequency 62.5

  # Complete the optimization process
  compile
  synthesize

  # Save and close project
  save_impl
  close_project


There are many Leonardo Spectrum commands that can not be converted to
Precision Synthesis commands as the functionality doesn't exist or user
intervention is required for other reasons (such as the change to the
way hierarchy is controlled), these commands are output as comments in
the Precision script with short explanations.  Ls2p.pl will not become a
TCL parser, looping structures and job queuing types of scripts are not
and will not be converted correctly.

Outside of the project management part of the script, the base number of
commands required to run synthesis in Precision RTL is reduced
significantly from Leonardo Spectrum.  The Leonardo Spectrum to Precision
Transition Guide can step you through the differences.

    - Dan Gardner
      Mentor Graphics                            Wilsonville, OR


 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)