Repository navigation
Conversation
oharboe
force-pushed
the
docs-directories
branch
from
October 27, 2026 19:52
fb5b192 to
a2acaac
Compare
Contributor
There was a problem hiding this comment.
Code Review
This pull request adds a new "Directories" section to docs/contrib/MakefileContract.md to document the structure and purpose of the four main directories: RESULTS_DIR, OBJECTS_DIR, REPORTS_DIR, and LOG_DIR. The review feedback suggests formatting the LOG_DIR description to be fully bolded to maintain consistency with the other directory definitions.
…S_DIR and LOG_DIR The four directories exist for the reader: one directory would work for the flow, but when the directory says what a file is, a user finds the design, a measurement of it, a log or the scaffolding without reading the Makefile. The rule was unwritten. This writes down the one master already follows: the design in any format in RESULTS_DIR, measurements in REPORTS_DIR, logs and the metrics .json next to them in LOG_DIR, and what is not the design (derived platform files, a step's own intermediates, caches, stopgaps) in OBJECTS_DIR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
oharboe
force-pushed
the
docs-directories
branch
from
October 27, 2026 20:04
a2acaac to
2c4fa58
Compare
oharboe
marked this pull request as ready for review
October 27, 2026 20:05
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ORFS writes each design into four directories. A single directory would work just as well for the flow; the four exist for the reader. When the directory says what a file is, a user finds the design, a measurement of it, the log of a failed step, or the scaffolding, without reading the Makefile.
That only holds while every file follows the same rule, and today the rule is unwritten. This PR writes down the one master already follows, so that the directory a file lands in is the least surprising one. It changes no files of the flow.
The rules
What a file is decides its directory, not who reads it:
RESULTS_DIR: the design, in any format. Netlists,.odb,.def,.gds,.sdc, routing guides, placement scripts, the checkpoint a failed step leaves, memory inventories.REPORTS_DIR: measurements of the design, for tools or people to read. No step's result depends on it.LOG_DIR: logs, and each step's metrics.jsonnext to its log.OBJECTS_DIR: what is not the design. Files a step derives from the platform (klayout.lyt), a step's own intermediate files (abc.constr,rtlmp/,surgery/), caches, and stopgaps that wait for a cleaner implementation.Files that don't follow the rules today
Moving a file surprises everyone who knows where it is, so each one is a case of its own: a separate PR, opened only after the rules are agreed, and only when the move is worth the surprise.
RESULTS_DIRtodaymaze.logLOG_DIR6_lvs.lvsdb6_drc.lyrdbis already inREPORTS_DIRREPORTS_DIR6_nets_rc.csv,6_segments_rc.csvwrite_rc,correlate_rc)REPORTS_DIRCandidates for removal
Found while sorting files under the rules. Each one is a separate PR, or no PR if a reason to keep it turns up.
mem_hierarchical.jsonbranch ofmake memorysynth_stats.tcloutput_guide.modinclean_routeWRAP_LEFS/WRAP_LIBS(util/cell-veneer)🤖 Generated with Claude Code