Coriolis
Coriolis User’s Guide
Credits & License
Release Notes
Release 1.0.1475
Release 1.0.1963
Release 1.0.2049
Release v2.0.1
Release v2.1
Release v2.2
Installation
Fixed Directory Tree
Building Coriolis
Building the Devel Branch
Additionnal Requirement under
MacOS
Packaging Coriolis
Hooking up into
Alliance
Setting up the Environment (coriolisEnv.py)
Coriolis Configuration & Initialisation
General Software Architecture
First Stage: Technology Selection
Second Stage: Technology Configuration Loading
Configuration Helpers
Alliance
Helper
Tools Configuration Helpers
Hacking the Configuration Files
CGT - The Graphical Interface
Viewer & Tools
Stratus
Netlist Capture
The
Hurricane
Data-Base
Synthetizing and loading a design
Etesian – Placer
Knik – Global Router
Kite – Detailed Router
Executing Python Scripts in Cgt
Printing & Snapshots
Memento of Shortcuts in Graphic Mode
Cgt Command Line Options
Miscellaneous Settings
The Controller
The Look Tab
The Filter Tab
The Layers&Go Tab
The Netlist Tab
The Selection Tab
The Inspector Tab
The Settings Tab
Python Interface for
Hurricane
/
Coriolis
Plugins
Chip Placement
Clock Tree
Recursive-Save (RSave)
A Simple Example: AM2901
Hurricane+Python Tutorial
1. Introduction
1.1 Terminology
1.2 Generalities
1.3 Various Kinds of Constructors
2. Setting up the Environment
2.1 Setting up the Pathes
2.2 User’s Configurations File
2.2.1 The
techno.py
File
2.2.2 The
settings.py
File
3. Making a Standard Cell – Layout
3.1 The AllianceFramework (CRL Core)
3.2 Session Mechanism (Hurricane)
3.3 Creating a new Cell (CRL Core)
3.4 The DbU Measurement Unit
3.5 Setting up the Abutment Box
3.6 Adding Nets and Components
3.6.1 Getting a Layer
3.6.2 Creating a Net
3.6.3 Creating a Component
3.7 Saving to Disk (CRL Core)
3.8 The Complete Example File
4. Manipulating Cells, Nets and Components
4.1 Hurricane Collections
4.1.1 Restrictions about using Collections
4.2 Loading a Cell with AllianceFramework
5. Make a script runnable through
cgt
5.1 Using Breakpoints
6. Making a hierarchical Cell – Netlist
6.1 Creating an Instance
6.2 Creating Nets and connecting to Instances
6.3 Power supplies special case
6.4 Creating the physical view of a Cell netlist
6.4.1 Transformation
6.4.2 Placing an Instance
6.4.3 Nets – From Plugs to RoutingPads
6.4.4 Nets – Regular wiring
6.5 The Complete Example File
7. Working in real mode
7.1 Loading a
lef
file
7.2 Loading a
blif
file –
Yosys
8. Tool Engines (CRL Core)
8.1 Placer – Etesian
8.1 Router – Katana
8.2 A Complete Example
9. Advanced Topics
9.1 Occurrence
9.2 RoutingPads
9.3 HyperNets
9.4 Miscellaeous trans-hierarchical functions
Stratus : Netlist Capture Language
Stratus User’s Guide
Introduction
Stratus
Example
Description of a netlist
Nets
Instances
Generators
Description of a layout
Place
PlaceTop
PlaceBottom
PlaceRight
PlaceLeft
SetRefIns
DefAb
ResizeAb
Patterns generation extension
Description of the stimuli
Place and Route
PlaceSegment
PlaceContact
PlacePin
PlaceRef
GetRefXY
CopyUpSegment
PlaceCentric
PlaceGlu
FillCell
Pads
Alimentation rails
Alimentation connectors
PowerRing
RouteCk
Instanciation facilities
Buffer
Multiplexor
Shifter
Register
Constants
Boolean operations
Arithmetical operations
Comparison operations
Virtual library
Useful links
DpGen generators
Arithmetic package of stratus
Arithmetic generators and some stratus packages
Patterns module
Stratus Developper’s Guide
Class Model
Synopsys
Description
Parameters
Attributes
Methods
Nets
Synopsys
Description
Parameters
Attributes
Methods
Instances
Synopsys
Description
Parameters
Attributes
Methods
Patterns module User’s Guide
Description
Syntax
Declaration part
Description part
Methods
PatWrite
declar
declar_interface
declar
affect_int
affect_fix
affect_any
addpat
pattern_begin
pattern_end
Example
DpGen generators manual
DpgenInv
DpgenBuff
DpgenNand2
DpgenNand3
Dpgennand4
DpgenAnd2
DpgenAnd3
DpgenAnd4
DpgenNor2
DpgenNor3
DpgenNor4
DpgenOr2
DpgenOr3
DpgenOr4
DpgenXor2
DpgenXnor2
DpgenNmux2
DpgenMux2
DpgenNbuse
DpgenBuse
DpgenNand2mask
DpgenNor2mask
DpgenXnor2mask
DpgenAdsb2f
DpgenShift
DpgenShrot
DpgenNul
DpgenConst
DpgenRom2
DpgenRom4
DpgenRam
DpgenRf1
DpgenRf1d
DpgenFifo
DpgenDff
DpgenDfft
DpgenSff
DpgenSfft
Hurricane Reference
Viewer Reference
CRL Core Reference
Katabatic Reference
Kite Reference
Unicorn Reference
Hurricane Python/C++ API Tutorial
1. Introduction
1.1 First, A Disclaimer
1.2 About Technical Choices
1.3 Botched Design
2. Basic File Structure and CMake configuration
3. Case 1 - DBo Derived, Standalone
3.1 Class Associated Header File
3.2 Class Associated File
3.2.1 Head of the file
3.2.2 The Python Module Part
3.2.3 Python Type Linking
3.2.4 The Shared Library Part
3.3 Python Module (C++ namespace)
4. Case 2 - Hierarchy of DBo Derived Classes
4.1 Base Class Header
4.2 Base Class File
4.3 Intermediate Class Header
4.4 Intermediate Class File
4.5 Terminal Class Header
4.6 Terminal Class File
4.8 Python Module
5. Case 3 - Non-DBo Standalone Classe
5.1 Class Header
5.2 Class File
5.2 Class File
6. Encapsulating DbU
7. No C++ Hurricane::Name encapsulation
RDS – Symbolic to Real Conversion in Alliance
Symbolic Layout
Symbolic Components
Symbolic Segments
The RDS File
Physical Grid & Lambda Value
The
MBK_TO_RDS_SEGMENT
table
The
MBK_TO_RDS_VIA
table
The
MBK_TO_RDS_BIGVIA_HOLE
table
The
MBK_TO_RDS_BIGVIA_METAL
table
The
MBK_WIRESETTING
table
LEF API Reference
Implementation Notes
Understanding Units
Callback Calling Order
DEF API Reference
LEF/DEF Language Reference
Coriolis
Docs
»
Index