Nikes Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs - PowerPoint PPT Presentation

1 / 52
About This Presentation
Title:

Nikes Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs

Description:

Nike's Software Architecture and Infrastructure: ... Venkatesan, Nike Development, DT, ... Nike was developed at the Design and Test Technology (DT) of Intel ... – PowerPoint PPT presentation

Number of Views:283
Avg rating:3.0/5.0
Slides: 53
Provided by: Mic851
Category:

less

Transcript and Presenter's Notes

Title: Nikes Software Architecture and Infrastructure: Enabling Integrated Solutions for Gigahertz Designs


1
Nikes 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.

2
Agenda
  • Introduction
  • External Internal Vectors
  • Drawback of existing architectures
  • Nikes software architecture
  • LaMA, Principles, Data model
  • Development environment
  • Development cycle Validation
  • Conclusion

3
Introduction
  • 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

4
External 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.)

5
External Vectors cont.
  • Marketing deadline demands, forces decrease in
    design time
  • Computing environment changes with the emergence
    of Windows NT on Intel architecture

6
Internal 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

7
Internal Vectors cont.
  • Tool quality and Development efficiency
  • Reduce design iterations
  • Well defined software development methodology
  • Avoid numerous cycles to fix defects

8
Drawbacks 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

9
Drawbacks 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

10
Drawbacks 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

11
Drawbacks 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

12
Short 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

13
Nikes Software Architecture
14
LaMA
  • Layered Modular Architecture
  • Hierarchical decomposition of a complex tool
    suite
  • More than 100 tools
  • More than 1,000,000 code lines

15
LaMA cont.
16
LaMA cont.
  • The overall suite consists of several
    subsystems
  • Sub-systems
  • Each one is targeted at a particular user flow.
  • Comprised of several capabilities

17
LaMA 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.

18
LaMA cont.
19
Software 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

20
Software Arch. Principles cont.
  • Modular design
  • Common, unified services
  • Well documented interface per component
  • Similar functional components should be
    implemented as common services

21
Software 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

22
Software 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

23
Nike Layout Software Arch.
24
Nike 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

25
Nike 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

26
Nike 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

27
Nike 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

28
Nike 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

29
Nike 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

30
Data Modeling
  • Design cycle involves many iterations, both
    within a phase and between phases

31
Data 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

32
Data 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

33
Data 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

34
Data 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

35
Data Model Architecture cont.
  • The solution
  • Framework that allows multiple levels of data
    models

36
Data 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

37
Data Model Architecture cont.
38
Data 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)

39
Data 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

40
Short 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

41
Software 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

42
Standard 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

43
Configuration 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)

44
Software 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

45
SW 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

46
SW 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)
48
Validation
  • 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

49
Conclusion
  • 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

50
Conclusion 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

51
Acknowledgments
  • Nike Development, DT, Intel Corp.
  • V. Nagbhushan
  • Yehuda Shiran
  • Satish Venkatesan
  • Tamar Yehoshua
  • Avi Han, DT, Intel Corp.

52
Q A
Write a Comment
User Comments (0)
About PowerShow.com