Hammer
0.1.0

Contents:

  • 1. Hammer Basics
    • 1.1. Hammer Overview
      • 1.1.1. Main Hammer
      • 1.1.2. Tech Plugins
      • 1.1.3. Tool Plugins
      • 1.1.4. Calling Hammer
    • 1.2. Hammer Setup
      • 1.2.1. System Requirements
  • 2. Technology Setup and Use
    • 2.1. Hammer Tech JSON
      • 2.1.1. Technology Install
      • 2.1.2. DRC/LVS Deck Setup
      • 2.1.3. Library Setup
      • 2.1.4. Stackup
      • 2.1.5. Sites
      • 2.1.6. Special Cells
      • 2.1.7. Don’t Use, Physical-Only Cells
    • 2.2. Hammer Tech defaults.yml
  • 3. Hammer CAD Tool Plugins
    • 3.1. Hammer CAD Tools
    • 3.2. Setting up a Hammer CAD Tool Plugin
      • 3.2.1. Tool Class
      • 3.2.2. Steps
      • 3.2.3. Getting Settings
      • 3.2.4. Writing TCL
      • 3.2.5. Executing the Tool
      • 3.2.6. Tool Outputs
  • 4. Hammer Flow Steps
    • 4.1. Hammer Actions
    • 4.2. Synthesis
      • 4.2.1. Synthesis Setup Keys
      • 4.2.2. Synthesis Input Keys
      • 4.2.3. Synthesis Inputs
      • 4.2.4. Synthesis Outputs
      • 4.2.5. Synthesis Commands
    • 4.3. Place-and-Route
      • 4.3.1. P&R Setup Keys
      • 4.3.2. P&R Input Keys
      • 4.3.3. P&R Inputs
      • 4.3.4. P&R Outputs
      • 4.3.5. P&R Commands
    • 4.4. DRC
      • 4.4.1. DRC Setup Keys
      • 4.4.2. DRC Input Keys
      • 4.4.3. DRC Inputs
      • 4.4.4. DRC Outputs
      • 4.4.5. DRC Commands
    • 4.5. LVS
      • 4.5.1. LVS Setup Keys
      • 4.5.2. LVS Input Keys
      • 4.5.3. LVS Inputs
      • 4.5.4. LVS Outputs
      • 4.5.5. LVS Commands
    • 4.6. Simulation
      • 4.6.1. Simulation Setup Keys
      • 4.6.2. Simulation Input Keys
      • 4.6.3. Simulation Inputs
      • 4.6.4. Simulation Outputs
      • 4.6.5. Simulation Commands
    • 4.7. Power
      • 4.7.1. Power Setup Keys
      • 4.7.2. Simulation Input Keys
      • 4.7.3. Power Inputs
      • 4.7.4. Power Outputs
      • 4.7.5. Power Commands
    • 4.8. Formal Verification
      • 4.8.1. Formal Verification Setup Keys
      • 4.8.2. Formal Verification Input Keys
      • 4.8.3. Formal Verification Inputs
      • 4.8.4. Formal Verification Outputs
      • 4.8.5. Formal Verification Commands
    • 4.9. Static Timing Analysis
      • 4.9.1. STA Setup Keys
      • 4.9.2. STA Input Keys
      • 4.9.3. STA Inputs
      • 4.9.4. STA Outputs
      • 4.9.5. STA Commands
  • 5. Hammer Use
    • 5.1. Hammer IR and Meta Variables
      • 5.1.1. Hammer IR
      • 5.1.2. The hammer-config library
      • 5.1.3. Basics
      • 5.1.4. Overriding
      • 5.1.5. Meta actions
      • 5.1.6. Applying multiple meta actions
      • 5.1.7. Common meta actions
      • 5.1.8. Type Checking
      • 5.1.9. Key History
      • 5.1.10. Key Description Lookup
      • 5.1.11. Reference
    • 5.2. Hammer APIs
      • 5.2.1. Power Specification
      • 5.2.2. Timing Constraints
      • 5.2.3. Floorplan & Placement
      • 5.2.4. Bumps
      • 5.2.5. Pins
      • 5.2.6. Power Straps
      • 5.2.7. Special Cells
      • 5.2.8. Submission
    • 5.3. Flow Control
      • 5.3.1. Command-line Interface
    • 5.4. Extending Hammer with Hooks
      • 5.4.1. Hook Methods
      • 5.4.2. Including Hooks
      • 5.4.3. Technology, Tool, and User-Provided Hooks
    • 5.5. Hammer Buildfile
    • 5.6. Hierarchical Hammer Flow
      • 5.6.1. Hierarchical Hammer Config
      • 5.6.2. Flow Management and Actions
      • 5.6.3. Cadence Implementation
      • 5.6.4. Tips for Constraining Hierarchical Modules
      • 5.6.5. Special Notes & Limitations
  • 6. Hammer Examples
    • 6.1. OpenROAD and Sky130
      • 6.1.1. Instructions
Hammer
  • Docs »
  • 5. Hammer Use
  • Edit on GitHub

5. Hammer Use¶

This documentation will walk through more advanced features of the Hammer infrastructure. You will learn about Hammer’s APIs, flow control, how to write hooks, the supported build infrastructure, and how to set up hierarchical flows.

Hammer Use:

  • 5.1. Hammer IR and Meta Variables
    • 5.1.1. Hammer IR
    • 5.1.2. The hammer-config library
    • 5.1.3. Basics
    • 5.1.4. Overriding
    • 5.1.5. Meta actions
    • 5.1.6. Applying multiple meta actions
    • 5.1.7. Common meta actions
    • 5.1.8. Type Checking
    • 5.1.9. Key History
    • 5.1.10. Key Description Lookup
    • 5.1.11. Reference
  • 5.2. Hammer APIs
    • 5.2.1. Power Specification
    • 5.2.2. Timing Constraints
    • 5.2.3. Floorplan & Placement
    • 5.2.4. Bumps
    • 5.2.5. Pins
    • 5.2.6. Power Straps
    • 5.2.7. Special Cells
    • 5.2.8. Submission
  • 5.3. Flow Control
    • 5.3.1. Command-line Interface
  • 5.4. Extending Hammer with Hooks
    • 5.4.1. Hook Methods
    • 5.4.2. Including Hooks
    • 5.4.3. Technology, Tool, and User-Provided Hooks
  • 5.5. Hammer Buildfile
  • 5.6. Hierarchical Hammer Flow
    • 5.6.1. Hierarchical Hammer Config
    • 5.6.2. Flow Management and Actions
    • 5.6.3. Cadence Implementation
    • 5.6.4. Tips for Constraining Hierarchical Modules
    • 5.6.5. Special Notes & Limitations
Next Previous

© Copyright 2019, Berkeley Architecture Research. Revision 8d2dc909.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: 0.1.0
Versions
latest
stable
readthedocs
docs_update
0.1.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.