Home The Dirt Page Demos ESNUGs
Subscribe Feedback Photos Trip Reports
ESNUG
( ESNUG 368 Item 2 ) --------------------------------------------- [04/12/01]
 
Subject: ( ESNUG 367 #1 )  Fixes To The PhysOpt/Avanti PDEF 3.0/2.0 Scripts
 
> Here are some Scheme scripts that enable data to move between Avanti and
> PhysOpt.  I think they will work for Chip Architect and Flexroute as well.
> These scripts seem to work for my company, but I would guess that other
> folks may have to modify them to make them work at their site.
>
>     - ASIC Designer #8
 
 
From: "Andy Pagones" <Andy_Pagones-ACIC22@email.mot.com>
 
John,
 
I'd like to make some corrections to the script help file you posted on
the Downloads section of DeepChip.  It is missing some double quotes and
carriage returns.
 
Instead of:
 
   load dumpPLIB.scm define plibSiteName "tsm3site" dumpPLIB
         /home/tsmc18/avanti/tsmc18 tsmc18.plib
 
it should be:
 
   load "dumpPLIB.scm" ; {to load the Scheme code}
   ; {now define runtime options}
   dumpPLIB "/home/tsmc18/avanti/tsmc18 tsmc18.plib"  ; {to execute the
   function}
 
and rather than specify any number of "define" commands, direct the users to
the subsequent text that shows the runtime options embedded within the
Scheme code.  This script header contains 6 options:
 
   (define plibDumpMode 2) ; 0 - technology; 1 - cell; 2 - technology + cell
   (define plibBusNameRule "[%d]")
   (define plibSiteName "core")
   (define nameCaseSensitivity "ON")
   (define maxFatWireWidth 2500)
   (define debugFlag #f)
 
Any of these may (and some MUST) be modified by the user AFTER loading the
Scheme code.  But the syntax should be corrected on your web page:
 
   define plibDumpMode 1
   define plibDumpBusNameRule "[%d]"
   ; ... etc....
   ; {and only THEN run the function:}
   dumpPLIB "physLibName" "plibOutputFile"
 
Likewise replace:
 
   load dumpPDEF3.scm dumpPDEF3 "tsm3site" output_pdef_file.pdef
 
with:
 
   load "dumpPDEF3.scm"  ; {load the Scheme code}
   (define vendor "SYNOPSYS") ; {define up to 7 runtime options below}
   (define program "PHYSICAL SYNTHESIS")
   (define version "")
   (define preRouteFormat 2) ; 0 - place obs, 1 - routing obs, 2 - pnet
   ; AJP set designLevel=0 for initial fp (PC deletes cell placement anyway)
   (define designLevel 0) ; 0 - floorplan, 1 - floorplan + placement
                          ; 2 - floorplan + placement + complete routing
   (define debugFlag #f)
   (define pdefBusNameRule "[%d]")
 
   dumpPDEF3 "siteName" "output_pdef_file.pdef" ; {execute the function
 
The first Known Issue for this script is a non-issue; simply don't output
routing: define designLevel 0 or define designLevel 1 will do the trick.
 
Instead of:
 
   load readPDEF3.scm.scm readPDEF3.scm  input_pdef_file.pdef
 
use:
 
   load "readPDEF3.scm"
   readPDEF3 "input_pdef_file.pdef"
 
there are no runtime options for readPDEF3.scm .
 
Once we did all this, we found the scripts worked slicker than slick in
getting PhysOpt PDEF 3.0 in and out of Avanti PDEF 2.0.  Slick!
 
    - Andy Pagones
      Motorola Labs
 
 




Top Home  

"This here ain't no one's opinion 'cept my own."
This Web Site Is Modified Every 2 to 3 Days
Copyright 1999-2007 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |