( ESNUG 248 Item 6 ) -------------------------------------------- [8/22/96]
Subject: ( ESNUG 244 #4 246 #1) Will Trade My Secret Switches For Yours!
> There is nothing very secret about the existance of synopsys switches.
> All an inveterate hacker needs to do is pass the dc_shell_exec executable
> through the UNIX "strings" command and "grep" for a suitable result. For
> example, the following command gives an interesting output listing all
> compiler directives hidden or otherwise:
>
> strings -a SYNOPSYS_PATH/dc_shell_exec | grep compile_
>
> ...also useful for hunting error messages, etc.
From: [ Synopsys Synthesis Marketing ]
Dear John,
There has been much discussion in E-SNUG lately about hidden variables in
Design Compiler. Hidden variables are used for three main purposes:
- To turn on software debugging (used by our R&D people) in dc_shell
- To work around specific customer problems
- To enable new but untested features for beta testing only
In the first case, the variables in question clearly have no usefulness to
the end user. Such variables are used by Synopsys R&D to aid in debugging
new versions of Design Compiler.
The second set of variables are meant to work around specific customer
issues such as bugs or preserving backwards compatibility. New features in
Design Compiler can often be disabled using such variables (in the event
that the new feature causes a problem with a specific customer's design
methodology.)
The third grouping of new variables is used during beta test of new
features in Design Compiler. This set is by far the minority among hidden
variables.
By and large, most hidden variables will not be useful for production design.
Some variables have promising sounding names, but do nothing. An example
is "compile_faster". Some variables can be useful for working around
problems, as directed by the Support Center. For example, in v3.1a the new
sequential mapping algorithm caused long runtimes. Fortunately, a hidden
variable existed which allowed users to revert to the old algorithm when this
was causing a problem.
Other variables turn on experimental features which are either not useful
for production design or could actually have negative effects. An example
is "compile_clean_inverters". This feature is being tested and if it works
as planned, it will be turned on in the next version of Design Compiler.
But if there are problems with the feature in the current release, Synopsys
will not be able to support customers that use it on production designs!
The best rule of thumb is not to use an undocumented variable unless
directed to do so by the Support Center. If you don't know what it does,
don't use it.
- [ Synopsys Synthesis Marketing ]
|
|