Repository navigation
dft: preserve fixed scan outputs and optimized chain metadata - #2
Open
wellitsabhinav wants to merge 5 commits into
Open
wellitsabhinav wants to merge 5 commits into
wellitsabhinav wants to merge 5 commits into
Conversation
Signed-off-by: abhinav <abhinav24167@iiitd.ac.in>
Signed-off-by: abhinav <abhinav24167@iiitd.ac.in>
Signed-off-by: abhinav <abhinav24167@iiitd.ac.in>
Signed-off-by: abhinav <abhinav24167@iiitd.ac.in>
Signed-off-by: abhinav <abhinav24167@iiitd.ac.in>
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.
Scan-chain optimization can leave a configured fixed scan-output port connected to the old tail while metadata points to the new tail ITerm. The resulting scan path does not reach the fixed output. Per-chain optimization also leaves
dbScanListin its original order.RestitchChainreconnects the existing fixed output load to the final tail's Q/SO net, preserves functional Q fanout and endpoint identity, and rebuilds the scan list from the final ordered vector using OpenDB's prepend convention. An implicitly reused functional output is rejected unless an explicit scan output is configured, since moving a functional output would change the circuit.The updated
src/dft/test/scan_opt_sky130.tclsupplies a dedicatedscan_out_0, runsexecute_dft_plan; scan_opt, traces all ten cells from the fixed SI to the fixed SO, checks that SO is the tail, verifies every original functional output remains on its Q net, and compares normalized metadata order with the physical path. The test remains registered in CMake and Bazel.Validation: the OpenROAD build and the native
scan_opt_sky130,place_sort_sky130, andone_cell_sky130golden regressions pass. The fix changes reconstruction and metadata consistency; the scan optimizer's clustering, ordering, capacity and cost functions are unchanged.This targets the branch behind OpenROAD's scan-chain optimizer PR. It includes the separate compile-only receiver prerequisite while that prerequisite is absent from the target branch. An independent input-port alias serialization defect is handled by OpenSTA PR 420; this PR contains no OpenSTA submodule update.