Title: Flowtracer at BWRC: FlowtracerNC FlowtracerEDA
1Flowtracer at BWRC Flowtracer/NCFlowtracer/EDA
2Outline
- Flowtracer/NC
- Network computing
- Flowtracer/EDA
- Flow implementation, management, optimization
- Demo
- Flowtracer/NC
- Flowtracer/EDA
- BEE Flow
3Lineage of Flowtracer
VOV at UCB Octtools 5.1 1989-1991
VOV at Siemens RD Munich Germany 1991-1995
RTDA Founded Alameda, CA March 1995
Renamed to Flowtracer/NC Flowtracer/EDA 1999
First OCT-less release Flowtracer 7.0 June 2002
4Introducing Runtime Design Automation
- Network computing and flow management solutions
for EDA environments - Founded in 1995
- Headquarters in Fremont, CA
- RD in Padova, Italy
- Self-funded
- Patented technology for intelligent change
propagation
5Customers
6Network Computing
- Problem
- Designs get bigger schedules get tighter EDA
tools get more expensive budgets are limited - Goals
- Make optimum use of all computing resources and
software licenses - Dedicate the right resource to the right job, at
the right time, automatically - Allow designers to focus on design
- Obtain measurements to improve process, plan
purchases
7Flowtracer/NC
- Network computing optimized for EDA
- Automatic dispatching, queuing, load balancing
- Each job to fastest machine that offers necessary
resources - Fair share follow programmed management policy
to deal with competition for resources - Near zero latency critical for small jobs
- Capacity to manage thousands of resources CPUs,
RAM, software licenses, etc. - Easy to install/use
- Web interface check on jobs from anywhere
8Resource Management
- At project or corporate level -- or across
geographies - Move licenses where they are needed
- Fair share of processing power
- By group or user (user can be in multiple groups)
- Allocate CPUs to achieve desired ratios between
groups/users - Kicks in automatically when competition for
resources - Heterogeneous platforms, network file systems,
license types - Steal cycles on workstations
- Send only small jobs, or time-based availability
- Detect keyboard, mouse activity
9Visualization
- At a glance
- Whats run
- Successful
- Failed
- Click to view relevant log files without searching
10Measurements
- Decision to purchase additional EDA licenses
based on - Engineers complain
- License manager metrics usage stats for each
license, no knowledge of queuing system - Flowtracer/NC measurements include
- Unmet demand
- Why license unused no demand, waiting for
machine,
Flowtracer/NC measurements enable better
purchasing decisions
11Optimized for EDA
- Works with EDA industry standard license managers
- FLEXlm, SILVACO,
- Wide range of jobs extremely short to extremely
long - Near-Zero latency
- Tendency for EDA jobs to fail
- Visualization
- Failure analysis
- Large number of compute resources and licenses
- Largest capacity for resource management
12Network Computing EDA Applications
- Increase throughput via parallel computing on
server farms for - Simulation and verification
- Synthesis
- System-level design
- Analog design
- Cell characterization
- Extraction and analysis
- Regression testing
- And more...
13Hidden Inefficiencies in Flows
- Designers constantly look for more efficient
tools and methodologies - Design flow itself is often the source of hidden
inefficiencies - Re-running sub-flow when inputs have not changed
- Not taking advantage of opportunities for
parallelism - Inefficient use of hardware and software
resources - Spending too much time writing and maintaining
scripts
How can you increase the efficiency of the
overall design flow?
14Flowtracer/EDADesign Flow Management
- Eliminate flow redundancies through dependency
management - Exploit opportunities for parallelism
automatically - Speed up failure analysis with failure tracking
- Automate the capture and execution of best
practices in design - Use hardware and software resources efficiently
15Automate the Automation
- Dependency relationship defined by tool
inputs/outputs - Flowtracer/EDA automatically extracts
dependencies from tools at run-time - Automatically creates correct, complete,
up-to-date dependency graph to drive flow
No more manual tracking of dependencies or
time-sink of writing/maintaining scripts
16Dependencies Drive Execution
- Execution based on dependency graph
- Subflow does not execute until all inputs ready
- Automatically exploits opportunities for
parallelism - Uses built-in Flowtracer/NC network computing
technology
Eliminate redundancies, better use of resources
17Only Execute When Needed
- Patented runtime change propagation control
determines if an input has relevant changes
before re-execution of a sub-flow - Looks beyond timestamps
- Will not allow comment change to prompt
re-execution
Eliminate redundancies and human error in
re-executing flows
18Visualize Design Flow
- Capture, clarify, and edit your design flow
- Ability to focus at flow level leads to
improvements
picture
19Design Status At-a-Glance
- At a glance
- Whats run
- Successful
- Failed
- Click to walk through dependencies to view
relevant log files without searching
20Capture Best Practices
- Capture and document highly complex design flows
- Without spending inordinate time on scripts
- Focus on design of design flows
- Capture expertise of experienced designers in
flows executed by more junior engineers
Customer used Flowtracer/EDA and a team that
averaged less than 6 months experience to design
130 million transistor chip
21Flowtracer/EDA Features
- Automatic generation of dependency graph
- Saves time and eliminates errors vs. scripts,
make - Visualization of design flows
- Clarify flows and easily edit at design flow
level - Visualization of design status and failure
tracking - See status at-a-glance, and quickly analyze
failures - Built-in network computing
- Exploit opportunities for parallelism maximize
resource use - Runtime change propagation control
- Eliminate iterations for insignificant changes
- Multiple user interfaces, including GUI, command
line, web/browser, and Tcl extension/API - Work from anywhere, create custom UI
22Flowtracer/EDA Summary
- Eliminate inefficiencies hidden in the design
flow - Dont execute what doesnt need to be executed
- Exploit parallelism and use resources efficiently
- Eliminate human error and tedious job of
writing/maintaining make scripts - Use dependencies to quickly find the cause of
errors
Automate design flow automation
23Flowtracer/NC demo
- Setup
- source /tools/commercial/rtda/7.0/common/etc/vov
rc.csh - One command vnc
- vnc run options sleep 30
- vnc wait 12212
- vnc info 12212
- vnc stop 12212
- vnc monitor
- vnc summary
24Flowtracer/EDAThe BEE flow
- Problem decomposition
- Environment Management
- Environments BWRC, ENC, PLATO, SYNOPSYS.
- Tools, tool integration
- Flow Description
- BeeFlow.tcl
- Reporting built-in, custom CGI.
- Job Control, Flow Control, stdout/stderr capture,
dependencies, parallelism, incremental execution,
resource management, queueing, - Provided automatically by Flowtracer/EDA
25The environment ENC
- This file can be shared across the entire BWRC
site. - No need for users/scripts to know about these
variables - To load the environment use ves ENC
- Environment variables needed to run
FirstEncounter. - setenv LM_LICENSE_FILE 5280_at_sunu2-1.eecs.berkeley.
edu - setenv ENCOUNTER /tools/cds99/FE21/spc
- set path ( ENCOUNTER/bin path )
26The tool synth.script
- As generated by insecta2
- ! /usr/bin/sh -f
- /tools/synopsys/2002.05/sparcOS5/syn/bin/dc_shell
-f /vol/hitz/home/rtda/bwrc_demo/tut1/default_dc_s
cript tee -i /vol/hitz/home/rtda/bwrc_demo/tut1/
synt.script.synthesis.log -
After the Flowtracer cure !/bin/sh dc_shell -f
default_dc_script tee -i synt.script.synthesis.l
og exit status
27The Flow Definition File BeeFlow.tcl
Parameter chip -default demo -doc "Name of
the chip" Parameter effort -choice normal low
high Parameter optimze -choice speed area
none if GetAllParameters set dir
file tail pwd Used to differentiate
commands S "BEEdir" E
"BWRCSYNOPSYS" R "dc_shell_license" T vrt
synt.script effort dir I SYSGEN/chip_bugs_fi
xed.vhd O SYN/chip.v indir ENC E
"BWRCENC" R "fe_license" T vov
vov_fe_run.sh dir I ../SYN/chip.v O
chip_place.v .
28Custom Report