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 Reference
DpGen Reference
Patterns Reference
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