- 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. Compiler Intrinsics
- 13.1. Backend
- 13.2. Extra Signals Type Verification
- 13.3. MLIR Op Instantiation C Level
- 13.4. MLIR Primer
- 13.5. Signal Manager
- 13.6. Timing Information
- 13.7. Tutorial: Adding New MLIR Operations
14. Design Decision Proposals
- 14.1. Add/Remove/Promote Extra Signals
- 14.2. Circuit Interface
- 14.3. Type System
- 14.4. Wait Synchronization
- 15. Development Tools
- 16. Documentation
17. Dynamatic Features And Optimizations
- 17.1. Buffering
- 17.1.1. MapBuf
- 17.1.1.1. Blif Generator
- 17.1.1.2. Blif Reader
- 17.1.1.3. Technology Mapping
- 17.1.1.4. Subject Graph
- 17.2. Formal Properties
- 17.3. LSQ
- 17.3.1. Group Allocator
- 17.3.2. Port To Queue Dispatcher
- 17.3.3. Queue To Port Dispatcher
17.4. Speculation
- 17.4.1. Adding Spec Tags to Spec Region
- 17.4.2. Commit Unit Placement Algorithm
- 17.4.3. Integration Tests
- 17.4.4. Save Commit Behavior
18. Specs
- 18.1. Floating Point Units
- 18.2. Timing Characterization
- 19. XLS
- 19.1. Lower Handshake To XLS Pass