SlideShare a Scribd company logo
Methodologies and flows for chip design
Chip Specification Language (CSL)
Derek Pappas
Overview
Shared infrastructure
• Infrastructure elements are shared between teams
• Infrastructure elements include hierarchies,
connections, vectors, vector readers/writers, state
elements (e.g. registers, register files, …), ISA’s,
pipelines, address maps, …
• Infrastructure elements do not include
• Control and data path elements which are typically
implemented differently in RTL and simulation
The cost of not automating vs automating
• Failing to automate the generation of infrastructure
code costs companies $$$’s and increases time to
market
• Conversely a significant reduction in engineering and
verification time can be achieved by automating the
infrastructure generation process
Infrastructure changes
• Changes in the architecture and RTL cause changes in
simulation, verification, documentation, and software
• Manually generated infrastructure is time consuming to
maintain
• Manually generated infrastructure limits the number of
verification points/test benches on projects
• Teams should not spend time creating and maintaining
infrastructure when the infrastructure can be generated
Infrastructure changes (continued)
• Changes in infrastructure are communicated through
emails, meetings, build breaks, and tickets
• Often documentation is not updated to reflect the
infrastructure changes
Throwing problems over the wall
• Throwing problems over the wall gives the illusion that
the generation of infrastructure in one domain can be
done quickly
• The next domain has to reimplement the same
infrastructure elements
• The changes have to be made in all domains
Problem: Parallel bookkeeping
• Eliminate the parallel bookkeeping required to
synchronize shared infrastructure elements between
teams
Automatically generate shared infrastructure
• 100x reduction in code
• Rapidly bring up the project
• Rapidly make changes
• Propagate changes to all affected parties
HW/SW/Simulation/Verification interface
methodology
HW SW
Verif Sim
Equivalent infrastructure across all file views/teams
with documentation
DOCS
Shared infrastructure
• Examples:
• Interfaces
• Registers
• Vectors
CSL infrastructure generation flow
CSL specification
HW SWVerif Sim DOCS
CSL compiler
Reduce integration time
• Tighter software/hardware integration
• Tighter simulation/hardware integration
• Tighter test/simulation/hardware integration
Benefits
• Rapidly bring up test benches, simulation and design
• Test RTL from day 1
• Spend time on the architecture and design
• No time wasted bringing up and maintaining
infrastructure
• 10-100x reduction in work required to create the project
infrastructure
Benefits (continued)
• Generate infrastructure code and documentation which
is in sync
• Create a specification for infrastructure which can be
compiled
• Cloud based team solution (to be built) for instant
collaboration using a GUI and table driven entry
• To be constructed using the existing C++ class
hierarchy and compiler, with web based tools and an
underlying database
Benefits (continued)
• Extensive CSL documentation (manuals)
• Need to be converted from Framemaker which is no
longer supported by Adobe
• CSL is throughly tested
• Automatic and manual test suites
• Regression/reports
• Needs to be turned into a web based report and run on
a continuous integration server like Jenkins
Dramatically increase the number of verification
points
• A verification point in an RTL design is either set of
interfaces or state that is driven by stimulus vectors and
compared expected vectors and/or state from an
alternate implementation’s
• Teams are bandwidth limited when creating verification
points in designs
• Creation and maintenance of test infrastructure is time
consuming
Typical objections to infrastructure meta
languages and compilers
Typical objections by HW engineers to using
meta specification languages
• “I can write the infrastructure code as fast as writing
meta language spec”
• No one can write code as accurately as a working
compiler can.
• “I only write the infrastructure code once”
• Infrastructure code changes and needs to be synced
across domains
Typical objections by HW engineers to using
meta specification languages (continued)
• “Integration does not take long so I do not need a meta specification
language/GUI/compiler”
• Integration lasts for an entire project cycle and if the entire design has
complete coverage with respect to test points it will take an army of
verification engineers to generate the test benches.
• “Integration does not take long so I do not need a meta specification
language/GUI/compiler”
• Integration accounts for a huge amount of delays on projects. We
Brought up 64 processor application specific chips at Sun in 2 weeks,
including a basic compiler and RTL model in under 3 weeks using a
meta language to generate the complex interconnect for the entire
chip in 2 days.
Typical objections by HW engineers to using
meta specification languages (continued)
• “Generated code is not flexible and I can’t add custom
code to it”
• Wrong. Generated code has points where custom
code can be inserted to modify the behavior of the
design
• “No one uses tools to do that…”
• Hardware engineers who do not not embrace well
understood software engineering principles reject
meta language compilers
Typical objections by HW engineers to using
meta specification languages (continued)
• “We already have point tools for memory map
generation, interconnect generation”
• The individual tools typically do not communicate with
one another and parts of the infrastructure
specification needs to be replicated in each of the
overlapping tool’s input format.
• “We have SystemC/System Verilog“
• These are not meta description languages
The Objections are not factual…
• In reality no programmer can create or maintain large
pieces of infrastructure code on a project
• Infrastructure code needs to be consistent across
different views which is not possible with “parallel book
keeping”
• It takes a lot longer to manually create and maintain
infrastructure code than it does to write a compressed
representation in a meta language and/or to use a GUI
to describe the specification and to compile the
specification
Meta specification language
Guaranteeing consistency between different
views
• A single source is used to describe the shared
infrastructure
• A single source eliminates parallel bookkeeping
problems
Automating the chip specification process
• A meta level specification is constructed using a GUI
and the Chip Specification Language (CSL)
• The CSL specification is checked for correctness by
software
• Generation of shared infrastructure code for RTL,
simulation, software, and verification
CSL Grammar/ENF
• CSL is well defined
• The language is parsed using ANTLR
Meta specification language benefits
• Single source
• Rapid changes
• Synchronization of changes across all domains
• Minimal time to infrastructure
• Minimal code set
Requirements for a meta specification language
• Different domains share infrastructure
• Need an unambiguous shared specification
• The specification should compile
CSL Language
CSL Attributes
• CSL is object oriented
• CSL is similar to C++/Java
• No pointers/memory management
• Scopes
• CSL is easy to learn
CSL Documentation
• CSL grammar is specified for each major component
(e.g. interconnect, test benches, …)
• Examples for each language construct are shown
• CSL code + diagrams + generated Verilog/C++
Interconnect, hierarchy and test
benches
Connections
Connection types
• Scalar
• Vector
• Concatenations
• Structures
• Hierarchies
Signal types
• [SLIDES UNDER CONSTRUCTION]
Aggregated structures
• [SLIDES UNDER CONSTRUCTION]
Connections and functional units
Connections and functional units
Hierarchies and pipelines
a0_0[9:0]
b0_0[9:0]
c0_0[9:0]
d0_0[9:0]
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a0_1[9:0]
b0_1[9:0]
c0_1[9:0]
d0_1[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]
x{x0}
x{x1}
y
x{x0}
x{x1}
y
x{x0}
x{x1}
y
z{z2}z{z0} z{z1}
top
Auto routing connections between end points
• End points, name(s), and the type to route are specified
• Intermediate connections do not need to be specified
• Benefits
• Consistency between different file views
• Rapid floor planning changes to meet full chip timing
Connections and functional units
a[9:0]
b[9:0]
c9:0]
d[9:0]
Signal Group
abcd
Connections
z{z0}.y.x{x0} ->
abcd
-> z{z1}.y.x{x0}
Hierarchy
x{x0} x{x1} x{x1} x{x1} x{x1} x{x1}
y y
top
y
z{z0} z{z1} z{z2}
Connections are autoroutes across hierarchies
Tech bench generation
C/C++/SystemC Simulator
infrastructure generation
Generation of simulator infrastructure code
• Simulator code is generated from the meta specification
• Equivalent verification points are chosen between the
RTL design and simulator
• Vector writers/readers are generated automatically
• Vector readers/writers are generated in the
corresponding test benches
Automatic simulator infrastructure generation
benefits
• The simulator infrastructure code is updated
automatically
• The generated infrastructure infrastructure in the
simulator is in sync with the corresponding
infrastructure elements in different domains (i.e. RTL,
software, verification)
Automatic test bench generation
• Maintain consistency between the RTL design unit
under test (DUT), the algorithmic or cycle based
simulator, tests, and test benches
• Generate test benches at every level
• The generation of infrastructure for test bench
generation/design coverage is not limited by the
bandwidth of the design, simulation, and verification
teams
Level of verification detail
• Creating test benches
• Integration of multiple units
• Leaf level testing
• Lots to maintain
Connections (signals) become vectors
• Consistency between the design, the simulator and the
test bench is maintained
Different levels of abstraction in models
C++ simulator
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
RTL test bench
Infrastructure equivalency requirement
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
Input vector Expected vector
Module under test instantiation
Vector checkerVector reader
Inter unit
Connections
Outputs
Design hierarchy
Inputs
OutputsInputs
Inter unit Connections
C++ simulator
RTL test bench
Infrastructure maintenance/parallel book keeping
• Single test bench
• At least 7 infrastructure elements to maintain
• Different teams needs to keep in sync
• Changes break regressions/tests
Deign hierarchy equivalency-verification point
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
C++ simulator
RTL test bench
Design hierarchy
Unit interface equivalency
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
OutputsInputs
OutputsInputs
C++ simulator
RTL test bench
Vector equivalency
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
Input vector Expected vector
C++ simulator
RTL test bench
Test bench generation
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
Module under test instantiation
Vector checkerVector reader
Inter unit Connections
C++ simulator
RTL test bench
State infrastructure/registers
C++ simulator
uint abcd1
uint abcd0
uint abcd1
uint abcd0
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
RTL test bench
RF
RF
==
Input vector
Expected vector
Comparator
Standalone algorithmic simulators can be built to
generate vectors
uint abcd1uint abcd1
a1_0[9:0]
b1_0[9:0]
c1_0[9:0]
d1_0[9:0]
a1_1[9:0]
b1_1[9:0]
c1_1[9:0]
d1_1[9:0]v
==
Input vector Expected vector
Stand
alone
software
simulator
RTL test bench
test(s)
Signal Inheritance
Objects share features
• The same bits are reused in different types of objects
• Connections
• Inputs/outputs
• Registers
• Pipelines
• Vectors
Reuse of features
• Objects inherit features from a meta description
• All derived objects share the same features
Reuse benefits
• Reuse reduces time to code
• Reuse reduces errors
• Reuse eliminates parallel book keeping
• Reuse reduces time to make changes
Example: pipeline connected to a signal
opcode_0[3:0]
srca_0[5:0]
srcb_0[5:0]
dest_0[5:0]
opcode_0[3:0]
srca_0[5:0]
srcb_0[5:0]
dest_0[5:0]
opcode_0[3:0]
srca_0[5:0]
srcb_0[5:0]
dest_0[5:0]
v
valid
stall
reset
enable
instruction_0[21:0] instruction[21:0]
v
valid
stall
reset
enable
instruction_0[21:0]
opcode[3:0]
srca[5:0]
srcb[5:0]
dest[5:0]
instruction[21:0]
Access elements in aggregated structures
instruction[21:0]
instruction.srca
instruction.srcb
instruction.dest
Memory maps
Memory maps (CSL under construction)
• The CSL memory map specification integrates tightly
with the other CSL components
Pipeline Generation
Generating pipelines (under construction)
• Generation of pipeline code can eliminate register over
and under run errors
• Valid, stall, and enable logic is generated
• Cookie cutter/cut and paste pipeline logic is generated
• Pipeline naming conventions are followed and names
are updated automatically
Control, Status, Query,
configure, Measure
Control, Status, Query, Configure, Measure
• Control
• Status
Out of band communication
• [UNDER CONSTRUCTION]
Non-shared infrastructure elements
• Non-shared infrastructure elements which need to integrate with RTL
for tape out models which can be generated from a specification
• Clock trees
• Testability logic
• IO pads
• Note: it can be argued that most of this logic should be int he RTL
design
• Some design teams “hack” the clock trees and testability logic into
the netlist which further delays takeout instead of putting the clock
trees and testability logic under test/regression control
More CSL components
• The CSL language is very comprehensive
• Many more CSL components are supported by the CSL
compiler and documented.
• Some components need to be built out

More Related Content

What's hot

.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
Karel Zikmund
 
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
Karel Zikmund
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
Karel Zikmund
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
Karel Zikmund
 
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
Karel Zikmund
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Kiko Monteverde
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
Sandeep Adwankar
 
Reverse_Engineering_Thick-clients
Reverse_Engineering_Thick-clientsReverse_Engineering_Thick-clients
Reverse_Engineering_Thick-clients
Steve Markey
 
Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into Streams
Perforce
 
2 networking
2 networking2 networking
2 networking
Len Bass
 
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
CodeOps Technologies LLP
 
Implementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise MiddlewareImplementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise Middleware
XebiaLabs
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
.NET Conf UY
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
yalini97
 
Vikash_Kr_Singh_CV
Vikash_Kr_Singh_CVVikash_Kr_Singh_CV
Vikash_Kr_Singh_CV
Vikash Kumar Singh
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
Ching-Hwa Yu
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
Perforce
 
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for JenkinsPerfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perforce
 
Net framework
Net frameworkNet framework
Net framework
Mahfuz1061
 
Heroku
HerokuHeroku

What's hot (20)

.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
 
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Reverse_Engineering_Thick-clients
Reverse_Engineering_Thick-clientsReverse_Engineering_Thick-clients
Reverse_Engineering_Thick-clients
 
Moving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into StreamsMoving 1,000 Users & 100 Branches into Streams
Moving 1,000 Users & 100 Branches into Streams
 
2 networking
2 networking2 networking
2 networking
 
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
Developing and Deploying Deep Learning Based Computer Vision Systems - Alka N...
 
Implementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise MiddlewareImplementing Continuous Delivery with Enterprise Middleware
Implementing Continuous Delivery with Enterprise Middleware
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Vikash_Kr_Singh_CV
Vikash_Kr_Singh_CVVikash_Kr_Singh_CV
Vikash_Kr_Singh_CV
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
 
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for JenkinsPerfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
 
Net framework
Net frameworkNet framework
Net framework
 
Heroku
HerokuHeroku
Heroku
 

Similar to Methodologies and flows for chip design

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
Comsysto Reply GmbH
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
Atv Reddy
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
Atv Reddy
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
Lior Kamrat
 
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - VerkadeDSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
Deltares
 
Embedded
EmbeddedEmbedded
IncQuery-Integrate22-20220607.pdf
IncQuery-Integrate22-20220607.pdfIncQuery-Integrate22-20220607.pdf
IncQuery-Integrate22-20220607.pdf
IncQuery Labs
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
Code Mastery
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Vadym Kazulkin
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!
David Hoerster
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
Comsysto Reply GmbH
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
FoundationDB
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest Hwang
Red Gate Software
 
Convince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week BrazilConvince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week Brazil
Vadym Kazulkin
 
KeithJohnston06212015
KeithJohnston06212015KeithJohnston06212015
KeithJohnston06212015
Keith Johnston
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
 
System design techniques and networks
System design techniques and networksSystem design techniques and networks
System design techniques and networks
RAMPRAKASHT1
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
SPS Monaco
 

Similar to Methodologies and flows for chip design (20)

Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02Embedded 100912065920-phpapp02
Embedded 100912065920-phpapp02
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Infrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & ToolsInfrastructure as Code - Getting Started, Concepts & Tools
Infrastructure as Code - Getting Started, Concepts & Tools
 
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - VerkadeDSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
DSD-INT 2020 Scripting a Delft-FEWS configuration - Verkade
 
Embedded
EmbeddedEmbedded
Embedded
 
IncQuery-Integrate22-20220607.pdf
IncQuery-Integrate22-20220607.pdfIncQuery-Integrate22-20220607.pdf
IncQuery-Integrate22-20220607.pdf
 
Build automation best practices
Build automation best practicesBuild automation best practices
Build automation best practices
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
Reactive Development: Commands, Actors and Events. Oh My!!
Reactive Development: Commands, Actors and Events.  Oh My!!Reactive Development: Commands, Actors and Events.  Oh My!!
Reactive Development: Commands, Actors and Events. Oh My!!
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest Hwang
 
Convince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week BrazilConvince your boss to go Serverless at serverless week Brazil
Convince your boss to go Serverless at serverless week Brazil
 
KeithJohnston06212015
KeithJohnston06212015KeithJohnston06212015
KeithJohnston06212015
 
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
 
System design techniques and networks
System design techniques and networksSystem design techniques and networks
System design techniques and networks
 
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
T5 - Mise en place de votre processus DevOps Ofice, Office 365, SharePoint - ...
 

More from Derek Pappas

Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Derek Pappas
 
Field Hockey Passing
Field Hockey PassingField Hockey Passing
Field Hockey Passing
Derek Pappas
 
FIH Field Hockey men's vs women's ranking diff sorted alphabetically
FIH Field Hockey men's vs women's ranking diff sorted alphabeticallyFIH Field Hockey men's vs women's ranking diff sorted alphabetically
FIH Field Hockey men's vs women's ranking diff sorted alphabetically
Derek Pappas
 
FIH men's vs women's ranking diff sorted by men's ranking
FIH men's vs women's ranking diff sorted by men's rankingFIH men's vs women's ranking diff sorted by men's ranking
FIH men's vs women's ranking diff sorted by men's ranking
Derek Pappas
 
FIH men's vs women's ranking diff sorted by women's ranking
FIH men's vs women's ranking diff sorted by women's rankingFIH men's vs women's ranking diff sorted by women's ranking
FIH men's vs women's ranking diff sorted by women's ranking
Derek Pappas
 
Drag flick right hip
Drag flick right hipDrag flick right hip
Drag flick right hip
Derek Pappas
 
Field Hockey Grips
Field Hockey GripsField Hockey Grips
Field Hockey Grips
Derek Pappas
 
Field Hockey Passing
Field Hockey PassingField Hockey Passing
Field Hockey Passing
Derek Pappas
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
Derek Pappas
 
Drag flicking stages shown in videos
Drag flicking stages shown in videosDrag flicking stages shown in videos
Drag flicking stages shown in videos
Derek Pappas
 
Blake Govers drag flicking
Blake Govers drag flickingBlake Govers drag flicking
Blake Govers drag flicking
Derek Pappas
 
Drag flicking with footwork and stick diagrams and biomechanics
Drag flicking with footwork and stick diagrams and biomechanicsDrag flicking with footwork and stick diagrams and biomechanics
Drag flicking with footwork and stick diagrams and biomechanics
Derek Pappas
 
Drag flicking points
Drag flicking pointsDrag flicking points
Drag flicking points
Derek Pappas
 
Passing in Field Hockey
Passing in Field HockeyPassing in Field Hockey
Passing in Field Hockey
Derek Pappas
 
Furste hold window open rotate and shoot
Furste hold window open rotate and shootFurste hold window open rotate and shoot
Furste hold window open rotate and shoot
Derek Pappas
 
Argentina short corner drag flick formation
Argentina short corner drag flick formationArgentina short corner drag flick formation
Argentina short corner drag flick formation
Derek Pappas
 
Defensive running lines to stop the right side baseline attack in field hockey
Defensive running lines to stop the right side baseline attack in field hockeyDefensive running lines to stop the right side baseline attack in field hockey
Defensive running lines to stop the right side baseline attack in field hockey
Derek Pappas
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
Derek Pappas
 
Field Hockey World Cup 2014 Professional Foul Study
Field Hockey World Cup 2014 Professional Foul Study Field Hockey World Cup 2014 Professional Foul Study
Field Hockey World Cup 2014 Professional Foul Study
Derek Pappas
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
Derek Pappas
 

More from Derek Pappas (20)

Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
 
Field Hockey Passing
Field Hockey PassingField Hockey Passing
Field Hockey Passing
 
FIH Field Hockey men's vs women's ranking diff sorted alphabetically
FIH Field Hockey men's vs women's ranking diff sorted alphabeticallyFIH Field Hockey men's vs women's ranking diff sorted alphabetically
FIH Field Hockey men's vs women's ranking diff sorted alphabetically
 
FIH men's vs women's ranking diff sorted by men's ranking
FIH men's vs women's ranking diff sorted by men's rankingFIH men's vs women's ranking diff sorted by men's ranking
FIH men's vs women's ranking diff sorted by men's ranking
 
FIH men's vs women's ranking diff sorted by women's ranking
FIH men's vs women's ranking diff sorted by women's rankingFIH men's vs women's ranking diff sorted by women's ranking
FIH men's vs women's ranking diff sorted by women's ranking
 
Drag flick right hip
Drag flick right hipDrag flick right hip
Drag flick right hip
 
Field Hockey Grips
Field Hockey GripsField Hockey Grips
Field Hockey Grips
 
Field Hockey Passing
Field Hockey PassingField Hockey Passing
Field Hockey Passing
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
 
Drag flicking stages shown in videos
Drag flicking stages shown in videosDrag flicking stages shown in videos
Drag flicking stages shown in videos
 
Blake Govers drag flicking
Blake Govers drag flickingBlake Govers drag flicking
Blake Govers drag flicking
 
Drag flicking with footwork and stick diagrams and biomechanics
Drag flicking with footwork and stick diagrams and biomechanicsDrag flicking with footwork and stick diagrams and biomechanics
Drag flicking with footwork and stick diagrams and biomechanics
 
Drag flicking points
Drag flicking pointsDrag flicking points
Drag flicking points
 
Passing in Field Hockey
Passing in Field HockeyPassing in Field Hockey
Passing in Field Hockey
 
Furste hold window open rotate and shoot
Furste hold window open rotate and shootFurste hold window open rotate and shoot
Furste hold window open rotate and shoot
 
Argentina short corner drag flick formation
Argentina short corner drag flick formationArgentina short corner drag flick formation
Argentina short corner drag flick formation
 
Defensive running lines to stop the right side baseline attack in field hockey
Defensive running lines to stop the right side baseline attack in field hockeyDefensive running lines to stop the right side baseline attack in field hockey
Defensive running lines to stop the right side baseline attack in field hockey
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
 
Field Hockey World Cup 2014 Professional Foul Study
Field Hockey World Cup 2014 Professional Foul Study Field Hockey World Cup 2014 Professional Foul Study
Field Hockey World Cup 2014 Professional Foul Study
 
Field hockey pressing
Field hockey pressingField hockey pressing
Field hockey pressing
 

Recently uploaded

The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
shahdabdulbaset
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 

Recently uploaded (20)

The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Hematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood CountHematology Analyzer Machine - Complete Blood Count
Hematology Analyzer Machine - Complete Blood Count
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 

Methodologies and flows for chip design

  • 1. Methodologies and flows for chip design Chip Specification Language (CSL) Derek Pappas
  • 3. Shared infrastructure • Infrastructure elements are shared between teams • Infrastructure elements include hierarchies, connections, vectors, vector readers/writers, state elements (e.g. registers, register files, …), ISA’s, pipelines, address maps, … • Infrastructure elements do not include • Control and data path elements which are typically implemented differently in RTL and simulation
  • 4. The cost of not automating vs automating • Failing to automate the generation of infrastructure code costs companies $$$’s and increases time to market • Conversely a significant reduction in engineering and verification time can be achieved by automating the infrastructure generation process
  • 5. Infrastructure changes • Changes in the architecture and RTL cause changes in simulation, verification, documentation, and software • Manually generated infrastructure is time consuming to maintain • Manually generated infrastructure limits the number of verification points/test benches on projects • Teams should not spend time creating and maintaining infrastructure when the infrastructure can be generated
  • 6. Infrastructure changes (continued) • Changes in infrastructure are communicated through emails, meetings, build breaks, and tickets • Often documentation is not updated to reflect the infrastructure changes
  • 7. Throwing problems over the wall • Throwing problems over the wall gives the illusion that the generation of infrastructure in one domain can be done quickly • The next domain has to reimplement the same infrastructure elements • The changes have to be made in all domains
  • 8. Problem: Parallel bookkeeping • Eliminate the parallel bookkeeping required to synchronize shared infrastructure elements between teams
  • 9. Automatically generate shared infrastructure • 100x reduction in code • Rapidly bring up the project • Rapidly make changes • Propagate changes to all affected parties
  • 10. HW/SW/Simulation/Verification interface methodology HW SW Verif Sim Equivalent infrastructure across all file views/teams with documentation DOCS
  • 11. Shared infrastructure • Examples: • Interfaces • Registers • Vectors
  • 12. CSL infrastructure generation flow CSL specification HW SWVerif Sim DOCS CSL compiler
  • 13. Reduce integration time • Tighter software/hardware integration • Tighter simulation/hardware integration • Tighter test/simulation/hardware integration
  • 14. Benefits • Rapidly bring up test benches, simulation and design • Test RTL from day 1 • Spend time on the architecture and design • No time wasted bringing up and maintaining infrastructure • 10-100x reduction in work required to create the project infrastructure
  • 15. Benefits (continued) • Generate infrastructure code and documentation which is in sync • Create a specification for infrastructure which can be compiled • Cloud based team solution (to be built) for instant collaboration using a GUI and table driven entry • To be constructed using the existing C++ class hierarchy and compiler, with web based tools and an underlying database
  • 16. Benefits (continued) • Extensive CSL documentation (manuals) • Need to be converted from Framemaker which is no longer supported by Adobe • CSL is throughly tested • Automatic and manual test suites • Regression/reports • Needs to be turned into a web based report and run on a continuous integration server like Jenkins
  • 17. Dramatically increase the number of verification points • A verification point in an RTL design is either set of interfaces or state that is driven by stimulus vectors and compared expected vectors and/or state from an alternate implementation’s • Teams are bandwidth limited when creating verification points in designs • Creation and maintenance of test infrastructure is time consuming
  • 18. Typical objections to infrastructure meta languages and compilers
  • 19. Typical objections by HW engineers to using meta specification languages • “I can write the infrastructure code as fast as writing meta language spec” • No one can write code as accurately as a working compiler can. • “I only write the infrastructure code once” • Infrastructure code changes and needs to be synced across domains
  • 20. Typical objections by HW engineers to using meta specification languages (continued) • “Integration does not take long so I do not need a meta specification language/GUI/compiler” • Integration lasts for an entire project cycle and if the entire design has complete coverage with respect to test points it will take an army of verification engineers to generate the test benches. • “Integration does not take long so I do not need a meta specification language/GUI/compiler” • Integration accounts for a huge amount of delays on projects. We Brought up 64 processor application specific chips at Sun in 2 weeks, including a basic compiler and RTL model in under 3 weeks using a meta language to generate the complex interconnect for the entire chip in 2 days.
  • 21. Typical objections by HW engineers to using meta specification languages (continued) • “Generated code is not flexible and I can’t add custom code to it” • Wrong. Generated code has points where custom code can be inserted to modify the behavior of the design • “No one uses tools to do that…” • Hardware engineers who do not not embrace well understood software engineering principles reject meta language compilers
  • 22. Typical objections by HW engineers to using meta specification languages (continued) • “We already have point tools for memory map generation, interconnect generation” • The individual tools typically do not communicate with one another and parts of the infrastructure specification needs to be replicated in each of the overlapping tool’s input format. • “We have SystemC/System Verilog“ • These are not meta description languages
  • 23. The Objections are not factual… • In reality no programmer can create or maintain large pieces of infrastructure code on a project • Infrastructure code needs to be consistent across different views which is not possible with “parallel book keeping” • It takes a lot longer to manually create and maintain infrastructure code than it does to write a compressed representation in a meta language and/or to use a GUI to describe the specification and to compile the specification
  • 25. Guaranteeing consistency between different views • A single source is used to describe the shared infrastructure • A single source eliminates parallel bookkeeping problems
  • 26. Automating the chip specification process • A meta level specification is constructed using a GUI and the Chip Specification Language (CSL) • The CSL specification is checked for correctness by software • Generation of shared infrastructure code for RTL, simulation, software, and verification
  • 27. CSL Grammar/ENF • CSL is well defined • The language is parsed using ANTLR
  • 28. Meta specification language benefits • Single source • Rapid changes • Synchronization of changes across all domains • Minimal time to infrastructure • Minimal code set
  • 29. Requirements for a meta specification language • Different domains share infrastructure • Need an unambiguous shared specification • The specification should compile
  • 31. CSL Attributes • CSL is object oriented • CSL is similar to C++/Java • No pointers/memory management • Scopes • CSL is easy to learn
  • 32. CSL Documentation • CSL grammar is specified for each major component (e.g. interconnect, test benches, …) • Examples for each language construct are shown • CSL code + diagrams + generated Verilog/C++
  • 35. Connection types • Scalar • Vector • Concatenations • Structures • Hierarchies
  • 36. Signal types • [SLIDES UNDER CONSTRUCTION]
  • 37. Aggregated structures • [SLIDES UNDER CONSTRUCTION]
  • 39. Connections and functional units Hierarchies and pipelines a0_0[9:0] b0_0[9:0] c0_0[9:0] d0_0[9:0] a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a0_1[9:0] b0_1[9:0] c0_1[9:0] d0_1[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0] x{x0} x{x1} y x{x0} x{x1} y x{x0} x{x1} y z{z2}z{z0} z{z1} top
  • 40. Auto routing connections between end points • End points, name(s), and the type to route are specified • Intermediate connections do not need to be specified • Benefits • Consistency between different file views • Rapid floor planning changes to meet full chip timing
  • 41. Connections and functional units a[9:0] b[9:0] c9:0] d[9:0] Signal Group abcd Connections z{z0}.y.x{x0} -> abcd -> z{z1}.y.x{x0} Hierarchy x{x0} x{x1} x{x1} x{x1} x{x1} x{x1} y y top y z{z0} z{z1} z{z2} Connections are autoroutes across hierarchies
  • 44. Generation of simulator infrastructure code • Simulator code is generated from the meta specification • Equivalent verification points are chosen between the RTL design and simulator • Vector writers/readers are generated automatically • Vector readers/writers are generated in the corresponding test benches
  • 45. Automatic simulator infrastructure generation benefits • The simulator infrastructure code is updated automatically • The generated infrastructure infrastructure in the simulator is in sync with the corresponding infrastructure elements in different domains (i.e. RTL, software, verification)
  • 46. Automatic test bench generation • Maintain consistency between the RTL design unit under test (DUT), the algorithmic or cycle based simulator, tests, and test benches • Generate test benches at every level • The generation of infrastructure for test bench generation/design coverage is not limited by the bandwidth of the design, simulation, and verification teams
  • 47. Level of verification detail • Creating test benches • Integration of multiple units • Leaf level testing • Lots to maintain
  • 48. Connections (signals) become vectors • Consistency between the design, the simulator and the test bench is maintained
  • 49. Different levels of abstraction in models C++ simulator uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == RTL test bench
  • 50. Infrastructure equivalency requirement uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == Input vector Expected vector Module under test instantiation Vector checkerVector reader Inter unit Connections Outputs Design hierarchy Inputs OutputsInputs Inter unit Connections C++ simulator RTL test bench
  • 51. Infrastructure maintenance/parallel book keeping • Single test bench • At least 7 infrastructure elements to maintain • Different teams needs to keep in sync • Changes break regressions/tests
  • 52. Deign hierarchy equivalency-verification point uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == C++ simulator RTL test bench Design hierarchy
  • 53. Unit interface equivalency uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == OutputsInputs OutputsInputs C++ simulator RTL test bench
  • 54. Vector equivalency uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == Input vector Expected vector C++ simulator RTL test bench
  • 55. Test bench generation uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == Module under test instantiation Vector checkerVector reader Inter unit Connections C++ simulator RTL test bench
  • 56. State infrastructure/registers C++ simulator uint abcd1 uint abcd0 uint abcd1 uint abcd0 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == RTL test bench RF RF == Input vector Expected vector Comparator
  • 57. Standalone algorithmic simulators can be built to generate vectors uint abcd1uint abcd1 a1_0[9:0] b1_0[9:0] c1_0[9:0] d1_0[9:0] a1_1[9:0] b1_1[9:0] c1_1[9:0] d1_1[9:0]v == Input vector Expected vector Stand alone software simulator RTL test bench test(s)
  • 59. Objects share features • The same bits are reused in different types of objects • Connections • Inputs/outputs • Registers • Pipelines • Vectors
  • 60. Reuse of features • Objects inherit features from a meta description • All derived objects share the same features
  • 61. Reuse benefits • Reuse reduces time to code • Reuse reduces errors • Reuse eliminates parallel book keeping • Reuse reduces time to make changes
  • 62. Example: pipeline connected to a signal opcode_0[3:0] srca_0[5:0] srcb_0[5:0] dest_0[5:0] opcode_0[3:0] srca_0[5:0] srcb_0[5:0] dest_0[5:0] opcode_0[3:0] srca_0[5:0] srcb_0[5:0] dest_0[5:0] v valid stall reset enable instruction_0[21:0] instruction[21:0] v valid stall reset enable instruction_0[21:0] opcode[3:0] srca[5:0] srcb[5:0] dest[5:0] instruction[21:0]
  • 63. Access elements in aggregated structures instruction[21:0] instruction.srca instruction.srcb instruction.dest
  • 65. Memory maps (CSL under construction) • The CSL memory map specification integrates tightly with the other CSL components
  • 67. Generating pipelines (under construction) • Generation of pipeline code can eliminate register over and under run errors • Valid, stall, and enable logic is generated • Cookie cutter/cut and paste pipeline logic is generated • Pipeline naming conventions are followed and names are updated automatically
  • 69. Control, Status, Query, Configure, Measure • Control • Status
  • 70. Out of band communication • [UNDER CONSTRUCTION]
  • 71. Non-shared infrastructure elements • Non-shared infrastructure elements which need to integrate with RTL for tape out models which can be generated from a specification • Clock trees • Testability logic • IO pads • Note: it can be argued that most of this logic should be int he RTL design • Some design teams “hack” the clock trees and testability logic into the netlist which further delays takeout instead of putting the clock trees and testability logic under test/regression control
  • 72. More CSL components • The CSL language is very comprehensive • Many more CSL components are supported by the CSL compiler and documented. • Some components need to be built out