Specification (Spec)

Features
Performance
Latencies
Bandwidths
Power
Clock Frequencies

Testability

Scan
JTAG
BIST
IDDQ


Fab Process
IO Interfaces
Package
Schedule
Levels of Abstraction

Gate
Basic transistor to Boolean logic abstraction
Simple gates, sequential cells, IO cells

RTL

Procedural Language
Parallelism
Clock-driven

Behavioral

Function without clocks

Static Timing

Fast Best/Worst Path analysis
Clock frequency plus top-level IO constraints
Combinational Path Calculation
Setup/Hold calculation
False Paths
Histogram Example
Performance

Libraries

Functional
Timing/Power
Physical
Memories
Library Development

Typical Cell List
Physical Design
Area
Power
Timing

Characterization

Delay and Power Abstraction d = f(pvtsl)
Accuracy goals
PWL, Tables, Polynomials
Characterization Boundaries
Input and Output Capacitance
Timing arcs
Pin State Dependencies
Setup, Hold, Min Pulse

View/Tool Support

Logical
Timing with backannotation support
Power
Physical  

Architectural Building Blocks

Combinational Logic
State Machines
Counters
Binary
LSF
Grey
Fifos
Synchronous
Asynchronous
On-Chip Memories
Single/Multi Port
Clock Domain Crossing
Arbiters

Block Development

Partitioning
Clock Domain Isolation
Prototyping Issues
Timing Constraint Issues
Tool Capacity Issues

SOC Development

IP Views
Block Interfacing
Loading
Timing
Drive
Clock Planning
Reset Strategy
Top-Level Timing       
PLLs


Performance Modeling

Performance Constraints
Information Bandwidth
Interface Modeling
Computation Rate Modeling
Queues
Performance Metrics

Design for Test

Scan
BIST
JTAG
Yields

Design for Power

Power Estimation
Package Power Calculations
Sources of Power
Transistor/Gate Sizing
Low Power Clocking Techniques
Low Voltage IO Technique

Design Capture

Text Tools
Graphical Tools
Coding Guidelines

Synthesis

Mapping function to gates
Optimizations
Area
Mapping search
Boolean reductions
Resource sharing
Timing
Mapping search
Restructuring inputs
Resource Sharing
Wire Estimation
Wireload models
Manhattan route estimate
Constraints
Synthesis Processes
Constraint Analysis

Design Checking

Syntax Checking
Rule Checking
Synthesis Rules
Testability Rules
Linking
Constraint Completeness

Physical Design

Floor planning

Hard Block
Group/Region
Hierarchical

Power Planning


Electromigration
VDD/VSS Rule

Place and Route

Placement Algorithms
Timing Driven Features
Global/Detail Route

Antenna Fixing
Extraction

2D, 2D+, or 3D Solver
RC tree reduction

Delay Calculation
Backannotation/Static Analysis
LVS
DRC
Timing Closure

Front-End-Back-End Handoffs
Reoptimization
Manual Override Techniques

Verification Processes

Simulator Technologies


Event Driven
Cycle-based

Verification Techniques
Stimulus Development
Random
Directed
Response Checking

Assertion Checking

OVL Assertion Library

Result Prediction Techniques

Parallel Model
Golden Response Comparison

Result Monitoring

Watchers
Code Coverage
Test Plan Matrix
Debugging Methods
Waveform Tools

Regression Environments

Model Bring Up Strategy

Interface Development
Behavior Development

Test Plan Development
Test Bench Development

Block Level
System Level

Bringing Up System Level Simulations

Formal Verification

Equivalence Checking
Rule Checking

Validation With Prototypes

Hardware Accelerators
Emulators
FPGA Systems
Stimulus Generation
Debug Issues