Skip to content

Commit 476aad1

Browse files
robtaylorclaude
andcommitted
Clean up unfinished and orphaned documentation
Removed: - docs/unfinished/ directory containing 3 aspirational docs: - advanced-configuration.rst (mostly unimplemented features) - workflows.rst (references BoardStep which doesn't exist) - create-project.rst (scaffolding not implemented) - docs/package_pins.md (orphaned, not in toctree): - Referenced internal packaging API (__all__ = []) - Users should use chipflow.toml config, not direct API access - Will be properly documented when packaging API is finalized Added: - docs/UNFINISHED_IDEAS.md documenting useful ideas extracted from removed docs: - Environment variables (needs documenting) - Custom step implementation examples (needs guide) - Git integration notes (needs mentioning) - CI/CD integration (needs section) - Aspirational features listed for future reference The unfinished docs contained too much aspirational content that didn't match the actual codebase, which could confuse users. Better to have accurate documentation of what exists than outdated aspirational docs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 6071f0e commit 476aad1

File tree

5 files changed

+105
-726
lines changed

5 files changed

+105
-726
lines changed

docs/UNFINISHED_IDEAS.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Ideas Extracted from Unfinished Documentation
2+
3+
This file contains useful ideas extracted from the unfinished documentation before it was removed.
4+
These may be implemented in the future or serve as inspiration for documentation improvements.
5+
6+
## Good Ideas from advanced-configuration.rst
7+
8+
### Environment Variables (REAL - should be documented)
9+
- `CHIPFLOW_ROOT`: Root directory of your project (must contain chipflow.toml)
10+
- `CHIPFLOW_API_KEY`: API key for ChipFlow cloud services
11+
- `CHIPFLOW_API_ENDPOINT`: Custom API endpoint (defaults to https://build.chipflow.org)
12+
- `CHIPFLOW_DEBUG`: Enable debug logging (set to "1")
13+
14+
**Action**: Add environment variable reference to chipflow-commands.rst or chipflow-toml-guide.rst
15+
16+
### Custom Step Implementation Example (REAL - should be documented)
17+
The doc had a good basic example:
18+
```python
19+
from chipflow_lib.steps.silicon import SiliconStep
20+
21+
class CustomSiliconStep(SiliconStep):
22+
def prepare(self):
23+
# Custom preparation logic
24+
result = super().prepare()
25+
# Additional processing
26+
return result
27+
28+
def submit(self, rtlil_path, *, dry_run=False):
29+
# Custom submission logic
30+
if dry_run:
31+
# Custom dry run behavior
32+
return
33+
# Custom submission implementation
34+
```
35+
36+
**Action**: Create dedicated "Customizing Steps" guide with real examples
37+
38+
### Git Integration Notes (REAL - worth mentioning)
39+
- Design submissions include Git commit hash for tracking
40+
- ChipFlow warns if submitting from a dirty Git tree
41+
- Version information is embedded in manufacturing metadata
42+
43+
**Action**: Add to silicon workflow documentation
44+
45+
### CI/CD Integration (REAL)
46+
- Use `CHIPFLOW_API_KEY` environment variable
47+
- Standard CI secret handling practices apply
48+
49+
**Action**: Add brief CI/CD section to getting-started or create CI/CD guide
50+
51+
### Multiple Top-Level Components (REAL but needs clarification)
52+
```toml
53+
[chipflow.top]
54+
soc = "my_design.components:MySoC"
55+
uart = "my_design.peripherals:UART"
56+
```
57+
58+
**Note**: This creates multiple top-level instances, NOT a hierarchy. Need to document what this actually does.
59+
60+
**Action**: Clarify [chipflow.top] behavior in chipflow-toml-guide.rst
61+
62+
## Aspirational Features (Not Implemented)
63+
64+
These were in the docs but don't exist in the codebase. Listed here in case they're planned for future:
65+
66+
### From advanced-configuration.rst:
67+
- `[chipflow.clocks]` - Named clock domain configuration
68+
- `[chipflow.silicon.debug]` - heartbeat, logic_analyzer, jtag options
69+
- `[chipflow.silicon.constraints]` - max_area, max_power, target_frequency
70+
- `[chipflow.deps]` - External IP core integration
71+
- `[chipflow.docs]` - Automatic documentation generation
72+
- `[chipflow.sim.options]` - trace_all, seed, custom cycles
73+
- `[chipflow.sim.test_vectors]` - Test vector file support
74+
- Advanced pad configurations - differential pairs, drive strength (8mA), slew rate, pull-up/down, schmitt trigger
75+
76+
### From workflows.rst:
77+
- Board workflow / FPGA deployment (BoardStep doesn't exist)
78+
- `chipflow silicon validate` command
79+
- `chipflow silicon status` command
80+
- Amaranth.sim-style testbenches (ChipFlow uses CXXRTL)
81+
- VCD waveform dumping
82+
- `[chipflow.board]` configuration section
83+
84+
### From create-project.rst:
85+
- Project scaffolding / `pdm init` workflow
86+
- `platform.request()` API pattern
87+
- `[chipflow.resets]` configuration
88+
89+
## Why These Docs Were Removed
90+
91+
The unfinished docs contained too much aspirational content that:
92+
1. Doesn't match the actual API/config schema
93+
2. References unimplemented features
94+
3. Could confuse users about what's real vs planned
95+
4. Wasn't maintained as the codebase evolved
96+
97+
Better to have accurate documentation of what exists than aspirational docs of what might exist someday.
98+
99+
## What Was Kept
100+
101+
Good ideas from these docs have been incorporated into:
102+
- `architecture.rst` - Overall system architecture
103+
- `simulation-guide.rst` - Complete simulation workflow
104+
- `using-pin-signatures.rst` - Pin configuration (the real way)
105+
- Existing `chipflow-toml-guide.rst` and `chipflow-commands.rst`

docs/package_pins.md

Lines changed: 0 additions & 105 deletions
This file was deleted.

0 commit comments

Comments
 (0)