- Introduction
- Getting Started
- 1. Install Dynamatic
- 2. Tutorials
- 2.1. Introduction
- 2.1.1. Examples
- 2.1.2. Modifying Dynamatic
- 2.1.3. Using Dynamatic
- 3. VM Setup
- User Guide
- 4. Advanced Build
- 5. Analyzing Output Files
- 6. Command Reference
- 7. Dependencies
- 8. Kernel Code Guidelines
- 9. Optimizations And Directives
- 10. Sub Modules Guide
- 11. Verification
- Developer Guide
12. Introductory Material
- 12.1. Contributing
- 12.2. Software Architecture
- 12.3. Dynamatic HLS Flow
- 12.4. File Check Testing
- 12.5. Tutorial: Creating Passes
- 12.5.1. 1. Simplifying Merge Like Ops
- 12.5.2. 2. Writing A Simple Pass
- 12.5.3. 3. Greedy Pattern Rewriting
13. Testing & CI
- 13.1. Introduction
- 13.2. Integration Tests
- 13.3. Formatting Checks
- 13.4. GitHub Actions
14. Compiler Intrinsics
- 14.1. Backend
- 14.2. BetaBackend
- 14.3. Extra Signals Type Verification
- 14.4. MLIR Op Instantiation C Level
- 14.5. MLIR Primer
- 14.6. Signal Manager
- 14.7. Timing Information
- 14.8. Tutorial: Adding New MLIR Operations
15. Design Decision Proposals
- 15.1. Add/Remove/Promote Extra Signals
- 15.2. Circuit Interface
- 15.3. Type System
- 15.4. Wait Synchronization
- 16. Development Tools
- 17. Documentation
18. Dynamatic Features And Optimizations
- 18.1. Buffering
- 18.1.1. MapBuf
- 18.1.1.1. Blif Generator
- 18.1.1.2. Blif Reader
- 18.1.1.3. Technology Mapping
- 18.1.1.4. Subject Graph
- 18.2. Formal Properties
- 18.3. LSQ
- 18.3.1. Group Allocator
- 18.3.2. Port To Queue Dispatcher
- 18.3.3. Queue To Port Dispatcher
18.4. Speculation
- 18.4.1. Adding Spec Tags to Spec Region
- 18.4.2. Commit Unit Placement Algorithm
- 18.4.3. Integration Tests
- 18.4.4. Save Commit Behavior
19. Specs
- 19.1. Floating Point Units
- 19.2. Timing Characterization
- 20. XLS
- 20.1. Lower Handshake To XLS Pass