NOC Design Methodology Guide
NOC Design Methodology Guide
net/publication/239590103
CITATIONS READS
0 691
1 author:
Juha-Pekka Soininen
VTT Technical Research Centre of Finland
108 PUBLICATIONS 3,167 CITATIONS
SEE PROFILE
All content following this page was uploaded by Juha-Pekka Soininen on 15 January 2014.
Outline
• Part 1: Introduction
Part 1: Introduction
• Business strategies
• Quality issues
• Codesign flow
Network on Chip
SOC
SOC SOC
NOC - a chip with several
SOC integrated computer systems
SOC that communicate with each
SOC SOC other via network.
SOC
SOC
SOC
SOC
• …so we can predict and make educated guesses what will happen
• …and we can set up requirements for researchers and developers
Outline
Information
access to More reality-
like user
everything interfaces
Complexity scenarios
Complexity
User needs
Verification capability
Time
Manufacturing
design
System
design Production
design
Business Project Mechanical
analyses design design
Design
Conceptual
design
Requirement System Computation
IDEA Structure
analyses Functional resource
design design
design
Architecture
Algorithm design
Feasibility design Functional
analyses Software HW
architecture design
Physical requirements
Architectural requirements
Software
Functional requirements
design
Special Topics in System-on-Chip 14
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Minimisation of alternatives
Product
Possible
design
Product space
Concepts
Product Each design decision removes
Idea possible (good) implementations
from design space.
Special Topics in System-on-Chip 15
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
bit/s/Hz/m3
System level number of users, mobility, etc.
Operation time,
Product level physical characteristics,
set of services, usability
Criteria of Quality
• For product
• market success (customer satisfaction)
• For algorithm
• performance (functional)
• implementation complexity (cost, energy)
• mappability (components, communication)
• For architecture
• performance (computational, efficiency)
• modularity (components, communication)
• For implementation
• performance (environmental, manufacturability)
Coupling effects
Product Safety
Product type issues
complexity
Product
Technologies purpose Security
Design
issues
Methodology
Methods Cultural
Available issues
tools Business
issues
Strategic
decisions
Special Topics in System-on-Chip 20
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Define
Analyse Validate Estimate
functionality
requirements performance complexity
(algorithms)
Define
Analyse Validate Estimate
structure
workload capacity costs
(architecture)
Analyse Estimate
Design Validate
physical production
product quality
requirements costs
Analyse Measure
production Implement Test&Sell market
flows success
Special Topics in System-on-Chip 21
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
Sequential model
Function on
micro-architecture
Implementation
Specification
Specification
oriented model Partitioning Mapping oriented
Design
model
Integration
Special Topics in System-on-Chip 22
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Previous
phase Analyse Define/
Design/
Refine/ Next
Implement phase
Algorithm
developer
Architecture developer
Functional
design
Concept
creation Architecture
Business design
developer
Hardware
System design
Architect
Software Hardware designer
design
Production
designer Implementation
Software designer
Complexity of Chip
We need
STRUCTURING
ENCAPSULATION
REUSE
= Network on Chip
Complexity of System
We need
FLEXIBILITY
PROGRAMMABILITY
RECONFIGURABILITY
• We need to combine
• ASIC design (physical aspects) with
• SOC design (computer system aspects) with
• Embedded system design (software aspects) with
• Networked system design (communication aspects) and
Summary
Outline
Model of a company
Knowledge
Legal maters
Research
Management
Design
Money
EDA tools Accounting
Purchase
Materials
and components Products
Marketing
Value chain
Infrastructure
Supporting
Personnel
Pr
functions
of
it
Technology development
Purchase
Maintenance
Operations
Sales and
marketing
Basic
logistics
logistics
it
Output
of
functions
Input
Pr
Money flow
Incomes
TTP
Money flow
TTM Profit
Time
Complexity Competition
Market window
Investments
Special Topics in System-on-Chip 37
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
• Strategy for
• business (competitive advantages) +
• product (e.g. product range, product families) +
• processes (e.g. design methodologies)
• Strategic plan
• should consider strengths, weaknesses, opportunities and threads
(SWOT analysis)
• should position yourself with respect to others
• should say where to proceed and how to start
Purpose of product
Functions included
into a product
Target customers
Chosen Customer
implementation segments
technologies
Technology
Dominant product
concept, focus in
production optimization
Specialized
New cycle with
Product changes, new Transitional new innovations
ideas, new concepts Emerging
Time
Maturity of industry
New products are replacing
the products
Mature Declining
Lot of small companies,
new technologies, Growing
easy to set up a company
Fragmented
Time
Competitive advantages
CUSTOMER BASIC
Custom-
Narrow Focusing ization
COMPETITIVE
ADVANTAGES
Customization alternatives
Products based
Amplifier A100
on same technology
Different products
XLPD-4002 Amplifier A200 for different user
for same purpose
Amplifier A300
XLPD-4025
XLPD-4001
• Product platform
• generic product or core product from which new versions are
instantiated
• also a product by itself
• typical in software (for example embedded RT-OS)
• Platform product
• kernel (or core) of a product family
• not a product by itself
• products are developed by adding components and features to the
kernel
Funsaver II
Funsaver I Portrait
Flash
Platform
change Weekender Eagle
Stretch Weekender II
Stretch II
1988 1993
Platform Chips
Application area
specific engine
Product
generations
Product
variants
Implements
processing
requirements
Development processes
• Waterfall process
Organization • Spiral process
of work • Successive refinement
• SW/HW codesign
• Function/Architecture codesign
• Platform based design
Organization of work
Design steps
Requirement analysis
Support Quality assurance
Manufacturing
Structure of activities
Define Validate Estimate
Analyse
product user market
user needs
concept satisfaction success
In real company:
Define
Analyse Validate Estimate
functionality
requirements performance complexity
(algorithms) Number of activities is large.
Define Difficult to plan beforehand.
Analyse Validate Estimate
structure
workload capacity costs Must be adjustable (be ready to
(architecture)
respond to changes).
Analyse Design/Reuse Validate Estimate
Must be stable (do not create
characteristics objects functionality feasibility
new problems with unnecessary
changes).
Analyse Estimate
Design Validate
physical production
product quality
requirements costs
Analyse Measure
production Implement Test&Sell market
flows success
Ordering of activities
Requirements
Specification Parallel model
Design
Implementation
Testing
Sequential
model
Design
Function on
micro-architecture
Integration
Implementation
Special Topics in System-on-Chip 51
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
Concurrent engineering
• Basic elements:
• cross-functional teams
• concurrent product realization
• incremental information sharing
• integrated project management
• early supplier involvement
• customer focus
Quality
• Definitions
• Conformance to specification
• Loss caused by defects
• Properties with respect to competitors
• performance
• features
• cost
• Customer satisfaction
• basic quality - if not met, product fails
• expected quality - better implementation increases satisfaction
• exciting quality - surprises the customers positively (sales
point)
Quality assurance
• Final check
• fix defects
ACT PLAN
• Quality control
• monitor process
• collect statistics
• Quality assurance
• create quality during the design
• Total quality control CHECK DO
• improve company’s operation
• customer focus
Continuous improvement
• Total quality management process
• measure and develop processes
ISO 9000
Individual efforts
Summary
• BUSINESS ISSUES
• competitive strategy
• business situation
• PRODUCT TYPES
• mass productions Design
Effects on
• customization methodology
• sales points
• PROCESSES
• how work is organized
• design flows (in next part)
• quality issues
SW design
SoC T1 50km
System
SoC T1 50km Testing
User SoC T1 50km
Integration SoC
Control Architecture Computer
Needs Design
Manufacturing Product
system PCB design
Data flow Process Hardware
system Application FPGA design
Algorithm specific SoC T1 50km
design hardware
ASIC
Hardware Design
Development Process
Analysis & Process
Estimation
Intellectual
Property
suppliers
Special Topics in System-on-Chip 62
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
monitoring
workload design
Function development
analysis cosimulation
prototyping
mappability
complexity estimation
analysis
estimation
capacity
mathematical estimation
analyses
performance performance
modelling analysis simulation
benchmarking
System
does
Resource development
not exist
Special Topics in System-on-Chip 63
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
modelling
System
does
Resource development
not exist
Special Topics in System-on-Chip 64
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Algorithm Matlab
model
Analytical
validation
Block Floating point Cossap
library model System Studio
Stream
driven
Fixed point simulation Cossap
Block library
model System Studio
VHDL/C-
model
Specification
Development Synthesis
scripts
generation
ASIC Design Flow RTL-code
development
Synthesis
Functional
verification
Scan insertion
Synthesis
ATPG
Pre-layout
timing
verification Functional
timing
verification
Place and
route
Manufacturing
test timing
Post-layout verification
timing
verification
Chip testing
Algorithms HW design
exists
Control functions
Mapping to
Function development
FPGA
Algorithm
resources
design
complexity
analysis
mathematical
analyses
modelling
System
does
Resource development
not exist
Special Topics in System-on-Chip 67
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
Computer design
System
exists
Function development
performance
analysis
performance
simulation
model architecture
Computer
exists
Initial SW IS design
performance estimation
analysis
performance
simulation
modelling benchmarking
System
does
Resource development
not exist
Special Topics in System-on-Chip 69
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
Software Design
System
exists
monitoring
Function development
prototyping
SW design
estimation
System RTOS
model services +
Mapping to computer computer
modelling benchmarking
System
does
Resource development
not exist
Special Topics in System-on-Chip 70
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
SOFTWARE ARCHITECTURE
Logical view Development
- What is the functional decomposition Algorithms
view
- Components: control objects, algorithms etc.
- How the system is
realised with todays's
Functional entities,
complexities
software platforms
and technologies
- Components:
application module,
driver, operating
system etc.
Physical view
- How the system is mapped to hardware platform Hardware drivers
- What is the hardware/software partition
- Components: processors, ASICs etc.
Objects mapped to
resource usage
HW platforms,
Execution view
HW Architecture
Algorithms
SW Architecture
Development
Process view
view
ANALYSE
REQUIREMENTS
SELECTION
Refine
OK
EVALUATION
Use cases
Class models Transceiver::Controller
uses Owns
uses uses
Network
1 *
Control
resources Transceiver::Configurator
1 * Transceiver::Connection
uses uses 1
Specifies
Execute Control Control 1
applications uses connections uses transmission
Transceiver::Configuration data 1
Scenarios
User
Pulse Channel
Modulation Spreading
shaping encoding
Physical view
<<HW Component>>
DeSpreade r
Physical model
HARDWARE
ARCHITECTURE <<Exte rnal SW>>
<<Proce s sor>>
Code c
<<Processor>>
S ync
<<HW Component>>
FrontEnd
Protoc ols
- definition of HW
components
- logical components <<HW Component>> <<Sh a red memory>>
components
Process view
Mapping tables
Process Logical components
How data processing Pipes and filters style Strategy: Allow dynamic Blackboard style, if system
WcdmaTxBit CRC attachment, convolutional coding, turbo coding, interleaving
Transceive r tasks are arranged addition and deletion of has to be able to select
algorithms connections. between different
Metamodel 1
WlanTxBit 1 1
1
Scrambling, convolutional encoding, interleaving, sub-carrier
modulation algorithms
alternative
implementations to a
service during run-time.
0.. *
IP C
Scenarios arranged manager for resource
management
because it would have
been too complex to
maintain.
Collaboration
DataP roce ss HWComponent Driver
/ protoc ols R1
: P ro toc o ls
1 .1 Resources controlled
1.2
by Resource manager
Strategy: Allow shutdown
of unused resources. 1.3
/ d e S pre a de rR 1
: De Sp re a de r
<<Proc e ss >>
<<Drive r>> 3.1
Gs mTxS ymbol
FrontEndDrive r 3.2
3.3
+ IPC 3.4
FrontEnd 3.5
3.6
Cod e c
<<P roc e s s>> 3.7
W la nTxSymb ol
Development view
Design rationale
Module structure Problem Selected solution Explanation Alternative
solutions
How the complexity of A separate layer hides Strategy: Use Addition: Two
Applic a tion hardware is hidden from the HW. separate layer for sublayers: one for
the application hiding HW driver-processes
programmer accelerators and one for low-
level driver-
functions.
De vic e s
Mapping tables
Module Logical component
Algorithm Algorithm
Mission
fulfills 1..*
influences has an
Environment System Architecture
inhabits
System
Specification
Architecture
Design
HW/SW
Partitioning
Hardware
flow
Simulation
Software
flow
CoDesign Flow
profiling simulation synthesis emulation System exists
monitoring
workload
Function development
analysis cosimulation
SW/HW prototyping
partitioning mappability
estimation
capacity
mathematical estimation
analyses
modelling
System
does
Resource development
not exist
Special Topics in System-on-Chip 80
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Modeling engine
Refinement engine
Exploration engine
Synthesis engine
IP Based Design
emulation System exists
monitoring
workload
Function development
analysis cosimulation
prototyping
mappability
estimation
capacity estimation
mathematical estimation
analyses Architecture
template
IP block
modelling integration
System
does
Resource development
not exist
Special Topics in System-on-Chip 82
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
SW/HW
System C cosimulation
performance evaluation
TLM simulation
Physical
System C synthesis
design
and compilation to C/C++
•Algorithm
•Algorithmrefinement
refinement
•Atomicity
•Atomicityrefinement
refinement
•Data
•Datarefinement
refinement
•Communication
•Communication
refinement
refinement
Pros: Cons:
BCA
Implementation
Special Topics in System-on-Chip 90
Networks-on-a-Chip & High Performance Analog Design in SoC
17.5.2002 Juha-Pekka Soininen
VTT TECHNICAL RESEARCH CENTRE OF FINLAND
Programmable IP Programmable IP
IC Integration IC Integration
Platform 1 Platform 2
Application space
Architectural space
Metropolis methodology
Design of Design of Design of
function communication architecture
processes media components
Metropolis infrastructure
Model of computation
Design methodology
- abstraction levels
- refinement
Base tools
- design imports
Point - user interface Point
tools - simulation
tools
Synthesis/Refinement Analysis/Verification
• Main phases
• functional modeling and validation
• architecture design and verification
• implementation design and verification
• integration and testing
• Choices
• Functional modeling vs Resource design
• Synthesis vs. Mapping
Background
• Mission:
• How to develop a system that uses 1 billion transistor capacity
effectively in 2007-2010
• Related methodologies:
• distributed systems
• parallel processing systems
• systems on chip and ASIC design
10 computers
1 GHz clock with RISC computer ⇒
1000 MIPS performance
10 computers
Application characteristics
Basic concepts
Region:
area that has been isolated from other
network by wrappers
area that can be dedicated to parallel
computer, memory, eFPGA, etc.
Resource:
Network:
NOC parameters:
Number of resources
Types of resources
GPU
SoC
DSP
Memory
RNI CPU Configurable HW
Coprocessors
COP Any combination
Communication capability
RAM DSP
Memory
management
DATABASE
NOC
Memory area
Applications
Parallel
processing
engine
IO
Performance
Materials
Structural
Licensing
Functional
Control System Production
Quality Implementation
Complexity
Variability
Cost
Development
Effort
Time
Flexibility Modifiability
Volume Risk
Applicability Coupling
Lifetime
Configurability Cohesion Manufacturability
Programmability Modularity Usability
• Communication infrastructure
• delay, bandwidth, power consumption, data transfer reliability
• Goal: reliable application with predictable performance
• Flexibility
• support for variety of products and applications
• support for different traffic types
• safety critical, power efficiency, etc.
• System integration:
• sophisticated means for system analysis
• support for integration of heterogeneous subsystems
• Reuse
• of intellectual property blocks
• best performance/energy ratio
• best mapping to application characteristics
• Reuse
• of hardware (and architecture)
• best complexity/cost and performance/cost ratio
• only way to even dream of achieving time-to-profit
requirements
• Reuse
• of design methods and tools
• only way to deal with heterogenuous application set
Processors
and hardware
Algorithms
Applications
Product area specific platform Instantiation Features
of NoC
platform “Product specific IPR”
Code and Optimised Intellectual Property
configuration
NoC system
Personal
assistant
Database platform
Data
BACKBONE collection
systems
NOC Layers
• System Product
• Functionality of computation(code, configuration)
Configuration
• Control (OS, NetOS)
• Validation and verification support Applications
Functions
• Platform
• Computation and storage resources Executables
• System services Hardware units
• Application design methods and tools Resources
• Backbone Regions
• Communication resources Communication
• Platform services
• Architecture design methods and tools
Platform Services
System Services
• Purpose to hide implementation details from Applications
application developer
• Execution services
System Services
• Communication, resource
allocation and conversion services
NOC Platform Chip
• Control services
• Power management,
reconfiguration, load migration,
fault detection and recovery, data ASIC
Performance
Architecture
design Platform
Backbone System Services
Operation principles
NOC domains
VC reuse
Parallel Computer
Computer System
Design Design
Hardware
Design
Embedded
NoC
System
Design
Design
Software
Reuse
Software
Platform
System
Reuse
Design
Software
Design
Embedded
system Parallel computer
design flow design flow
General purpose
SW flow
Configurable
HW design Memory
flow subsystem
design flow
Embedded computer
design flow ASIC flow
NOC phases
• Scaling problem
• How big NOC is needed? What are the application area
requirements?
• Region definition problem
• What kind of regions are needed? What kind of interfaces between
regions? What are the capacity requirements for the regions?
• Resource design problem
• What is needed inside resources? Internal computation type and
internal communication?
• Application mapping flow problem
• What kind of languages, models and tools must be supported? How
to validate and test the final products?
• Mapping problem
• How to partition applications for NOC resources? How to allocate
functionality effectively? Is the performance adequate? Is the
resource usage in balance?
• Optimisation problem
• How to perform global optimisation of heterogenuous applications?
How to define right optimisation targets? How to utilise
application/resource type specific tools?
• Validation problem
• Are the contraints met? Are the communication bottlenecks or
power consumption hot spots? How to simulate 10000 GIPS
system? How to test all applications?
Workload
modeling Architecture
modeling Decision
support
Simulation
SoC-level
Workload
modeling and
mapping Architecture
modeling
Simulation
Processor-level
Requirements
and
restrictions Software
Architecture
development
modeling
Simulation
Summary
Further reading
Books
• Design methods:
• Chang, H. et al, Surviving the SOC revolution - A Guide to Platform Based
Design, Kluwer, Boston, MA, 1999, 235 p.
• Wolf, W. Computers as Components: Principles of Embedded Computing
System Design, Morgan Kaufmann Publishers, San Francisco, CA, 2001,
662 p.
• Business strategies:
• Porter, M. E. Competitive Strategy, Free Press, NY, 1980, 396 p.
• Wheelwright, S.C. et al, Revolutionizing Product Development, Free Press,
NY, 1992, 364 p.
• Pine II, B.J., Mass Customization - The New Frontier in Business
Competition, Harvard, Business School Press, Boston, MA, 1993, 333 p.