Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Analyzing On-Chip Interconnect 
with Modern C++ 
Je Trull 
October 12, 2014 

c 2014 Jerey E. Trull 
Creative Commons 3.0 ...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
On-Chip 
Modern C++ 
Je Trull 
Modern C++ 
Interconnect 
Graphs 
Acquiring 
Data 
Parsing 
Estimating 
Sanitizing 
Analysi...
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Analyzing On-Chip Interconnect with Modern C++
Upcoming SlideShare
Loading in …5
×

Analyzing On-Chip Interconnect with Modern C++

1,255 views

Published on

Slides for Silicon Valley Code Camp 2014 presentation. Covers using Modern C++ style libraries and code to analyze interconnect parasitics on ASICs. Matrix and Graph algorithms are described in detail.

Published in: Software
  • Be the first to comment

Analyzing On-Chip Interconnect with Modern C++

  1. 1. Analyzing On-Chip Interconnect with Modern C++ Je Trull October 12, 2014 c 2014 Jerey E. Trull Creative Commons 3.0 Attribution License
  2. 2. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Modern C++ In uences Functional Programming Generic Programming Design Patterns The Standard Library
  3. 3. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Modern C++ Is Concepts Iterators and Ranges Separation of Data and Algorithm Functions as First Class Objects More Declarative than Imperative Composition over Inheritance and reusable components that leverage those techniques . . .
  4. 4. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Modern C++ Probably Is Not C with Classes void * macros Idiosyncratic reimplementations of standard library features
  5. 5. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Connecting Logic Together You Need Wires Communication takes time and power proportional to the length of the wire.
  6. 6. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Connecting Logic Together You Need Wires Communication takes time and power proportional to the length of the wire. In addition, nearby wires may in uence the delay of the wire, or even produce an erroneous value.
  7. 7. On-Chip Modern C++ Je Trull Modern C++ Interconnect Graphs Acquiring Data Parsing Estimating Sanitizing Analysis Matrices Simulation Summary Circuit Analysis For Coders You can think of a circuit as a kind of graph. Edges are called branches and consist of a single component with a current that depends on its type, value, and the voltages of the nodes it connects Vertices usually called nodes, are simply connection points where currents ow between components R Node 1 Node 2 IR C IC Here IR = (VNode1

×