Title: Nikes Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs
1Nikes Software Architecture and
InfrastructureEnabling Integrated Solutions for
Gigahertz Designs
- V. Nagbhushan, Nike Development, DT, Intel Corp.
- Yehuda Shiran, Nike Development, DT, Intel Corp.
- Satish Venkatesan, Nike Development, DT, Intel
Corp. - Tamar Yehoshua, Nike Development, DT, Intel Corp.
2Agenda
- Introduction
- External Internal Vectors
- Drawback of existing architectures
- Nikes software architecture
- LaMA, Principles, Data model
- Development environment
- Development cycle Validation
- Conclusion
3Introduction
- Nike was developed at the Design and Test
Technology (DT) of Intel - intended to provide the future generation CAD
tool suite - First release Q3, 1999
4External Vectors
- Industry technology increases exponentially
towards chips with over 100M transistors, and
beyond 10GHz frequencies - Feature sizes decrease, aggressive circuit styles
becoming norm - Second order effects like noise and inductance
become key factors - Need increased visibility into data for multiple
domains (circuit, layout, etc.)
5External Vectors cont.
- Marketing deadline demands, forces decrease in
design time - Computing environment changes with the emergence
of Windows NT on Intel architecture
6Internal Vectors
- Growth in coverage of tool suite overall
software size - Extensibility and maintainability
- Persistence of core architecture
- Add new feature without massive code changes
- customizable
7Internal Vectors cont.
- Tool quality and Development efficiency
- Reduce design iterations
- Well defined software development methodology
- Avoid numerous cycles to fix defects
8Drawbacks of existing archs.
- Non-modular
- Severely impacts development efficiency
- Local implementations of similar/identical
functionality causes inconsistent behavior - Difficult reuse
- Existence of several data models
9Drawbacks cont.
- Difficult data exchange across domains
- Inconsistent terminology, interfaces
implementations - Difficult implementation of unified data mapping
across domains (e.g. circuit ? layout data
translation) often results in data loss when
ad-hoc mapping fashion is used
10Drawbacks cont.
- Ad-hoc persistence mechanisms
- ASCII files used to store data persistently
- Inadequate use of industry standard formats
- Proliferation of files
- Multiple readers/writers
- Semantic mismatches
11Drawbacks cont.
- ASCII is not performance oriented
- Capacity limitations
- Intolerant of new software releases
- Difficult implementation of incremental I/O
- Inconsistent look feel
- Different interfaces for the same actions results
in loss of productivity
12Short summary - up to this point
- Several vectors (internal/external) and drawbacks
of existing technologies,requires a better
technology to be able to develop the next
generation of chips
13Nikes Software Architecture
14LaMA
- Layered Modular Architecture
- Hierarchical decomposition of a complex tool
suite - More than 100 tools
- More than 1,000,000 code lines
15LaMA cont.
16LaMA cont.
- The overall suite consists of several
subsystems - Sub-systems
- Each one is targeted at a particular user flow.
- Comprised of several capabilities
17LaMA cont.
- Capabilities
- Represents a user-visible functionality
- Implemented by one or more software modules
- The modules and atoms are designed with
well-defined interfaces to facilitate reuse by
several capabilities.
18LaMA cont.
19Software Architecture Principles
- Set to meet or beat high-level specifications set
forth - Integrated tool suites (cockpits)
- Enables users to execute flow or perform similar
operations - Improves user productivity
20Software Arch. Principles cont.
- Modular design
- Common, unified services
- Well documented interface per component
- Similar functional components should be
implemented as common services
21Software Arch. Principles cont.
- Common look feel
- Similar visual appearance for UI for objects
performing similar operations - Feel (behavior) of similar operations and data
objects should be similar - Improves predictability and productivity
22Software Arch. Principles cont.
- Support incremental processing
- Handle small delta changes to the input by
incremental processing and produce results
exhibiting small delta changes - Extensible allow user to easily extend
functionality (per capability or entire suite) - Support plugplay with external tools
23Nike Layout Software Arch.
24Nike Layout SW Arch. cont.
- Each module has a well defined procedural
interface (API) - Data Model (DM)
- In-memory repository for all primary,
non-derivable data of the system - All modules access CAD data through its API
25Nike Layout SW Arch. cont.
- Data Model (DM) cont.
- Example layout data (UDM Unified Data Model),
contains data such as cells, wires, nets,
transistors etc. - API guarantees consistency of data structures and
semantics - I/O module specialized engine, enablesfast I/O
26Nike Layout SW Arch. cont.
- Engines
- Well defined functionality
- e.g. Algorithmic engine, core editing
engine - Work off data from DM but may create temporary
derived data for efficiency
27Nike Layout SW Arch. cont.
- Capabilities
- Environments addressing the traditional
sub-domains such as full-chip layout, block
layout and leaf cell - Provides functionality and customization
appropriate to the capability - Can directly expose an engine functionality to
the user (through UI) or hide or modify it
28Nike Layout SW Arch. cont.
- User interface
- Visibility of functionality and data
- Common look
- Instantiation of GUI items by capabilities and
engines - Extension system enables customization for easy
access to data and functionality
29Nike Layout SW Arch. cont.
- User interface cont.
- Tcl interpreter and Windows automation
interfaces for DM, engine and capability modules - VBA for GUI customization on Windows NT
30Data Modeling
- Design cycle involves many iterations, both
within a phase and between phases
31Data Modeling Motivation
- Data models should facilitate smoother
automation/integration between different design
tools - Should provide users with better capabilities to
make tradeoffs/optimizations across design
domains and between tools within a domain
32Data Modeling Motivation
- Nike System architecture goals
- Enable a flexible configuration that facilitates
a plugplay system architecture - Achieve semantic consistency in data
representation across layout, circuit logic
domains - Promote reuse of common components
- Insulate individual CAD capabilities from
persistent storage issues
33Data Model Architecture
- On representation multiple CAD tools act as
producers and consumers - Layout editor is a design producer
- Simulators and verification tools are consumers
- Data flow between producers and consumers may
transcend domain boundaries
34Data Model Architecture cont.
- Diversity of elements and need for multi-way data
sharing complicates Data modeling for CAD - A modeling framework that can accommodate an
assortment of data types and be extensible to new
types is required
35Data Model Architecture cont.
- The solution
- Framework that allows multiple levels of data
models
36Data Model Architecture cont.
- Core (UCM) serves as common vector between
logic, circuit and layout domains - Each domain extend the UCM with the domains
specific data - CAD apps. can directly operate on UCM, a domain
model or an application view - Unified domain models allows reuse of engines and
minimizes I/O overhead
37Data Model Architecture cont.
38Data Model Architecture cont.
- UCM serves as basis for enabling data-driven
interactions between capabilities - Mapper modules translates design objects
between domains - incremental data exchange (by modules and
methodologies that can provide this service)
39Data Model Architecture cont.
- Summary two key architectural goals have been
addressed here - Facilitate interactive interactions across CAD
tool boundaries - Enable incremental iterations through the design
cycle
40Short summary - up to this point
- LaMA model for setting modularity
- SW development principles and how they were
implemented - The Data model and its unique significance
41Software Infrastructure
- Nike architecture requires strong focus on
software quality - Common data model, high-level of module reuse
magnify software defects - Complexity of multi-site development
42Standard Development Env. (SDE)
- Set Plan of Record (POR)
- SDE POR lists all development tools and their
versions that should be installed for each
developer - Critical to ensure all code libraries are
compatible and common methodologies can be
implemented
43Configuration Management
- Code management tool Rationals ClearCase
- Dynamic view
- Parallel development
- One virtual repository
- Methodology of usage was set
- Directory structure for the code and libraries
for tagging of versions - naming conventions for branches
- All Nike developers use identical setup, and can
share navigate the same source code (including
multi-sited Rationals Multisite)
44Software Development Cycle
- Iterative software development process includes
design, iterate and Test (DIT) - Each project breaks developments to DIT cycles
- Enables frequent points of synchronization for
validation - Once a quarter - full synchronization of the tool
to the same version on all sites
45SW Development Cycle cont.
- Goal as common modules mature and stabilize, to
get to weekly synchronization and eventually
daily - Bug-tracking system is used to track down defects
to achieve the required stability
46SW Development Cycle cont.
- Require all Nike tools to write a Market
Requirements Document, Product Proposal, External
Product Spec, Internal Product Spec and Test
Plan - Each document has to be approved by the key
customers, the system architects and the software
architects
47(No Transcript)
48Validation
- Nike was going for a breakthrough in both quality
and productivity - External vendors did not meet the specific
demands for a test management system that will
insure achieving these goals - Olympus an internal test management tool
developed by DT
49Conclusion
- Nike was introduced with the intension to be a
breakthrough in the CAD world by setting new
standards of robustness and modular software
architecture that are essential for developing
the next generations of modern chips
50Conclusion cont.
- We have seen how the need for this architecture
evolved - We have seen how the architecture was designed
and implemented - We have seen how the development process was set
and executed
51Acknowledgments
- Nike Development, DT, Intel Corp.
- V. Nagbhushan
- Yehuda Shiran
- Satish Venkatesan
- Tamar Yehoshua
- Avi Han, DT, Intel Corp.
52Q A