sync#2
Open
nanocoh wants to merge 310 commits into
Open
Conversation
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
To avoid non-deterministic behavior caused by pointer comparisons, this change introduces a new header OdbPtrSetMap.h which defines ODBPtrLess (comparing by ID) and aliases OdbPtrSet and OdbPtrMap. It also modifies dbCompare.inc to explicitly delete specializations of std::less for all dbObject-derived types. This forces the use of the new aliases or custom comparators. Signed-off-by: Drew Lewis <cannada@google.com>
Refactored usage of std::set and std::map with ODB pointer keys to use custom OdbPtrSet and OdbPtrMap to avoid issues with deleted std::less. TAG=agy CONV=e06fe1f4-ec0b-4f12-8531-168335e1a959 Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: bnmfw <bernardoborgessandoval@gmail.com>
Added fallback to ifp.site_set if openroad.site_set is not available, resolving AttributeError in CMake builds where Python bindings are modular. TAG=agy CONV=7a636c20-220b-489a-b173-266014ed9ffd Signed-off-by: Drew Lewis <cannada@google.com>
…ormat violation Upstream clang-format (version 18.1.3) complained about the alignment of parameters in combineMapData. My local version (Google) did not make any changes, so I manually reformatted it to use broken lines with indentation to satisfy both. TAG=agy CONV=7a636c20-220b-489a-b173-266014ed9ffd Signed-off-by: Drew Lewis <cannada@google.com>
This matches the upstream formatter and resolves the violation by putting = 0; on a new line while keeping parameters aligned. TAG=agy CONV=7a636c20-220b-489a-b173-266014ed9ffd Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
… files Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
- Break line in via.h before `= 0` to fix clang-format violation. - Apply black formatting suggestions to init_floorplan_flip_sites.py and init_floorplan_gap.py. Signed-off-by: Drew Lewis <cannada@google.com>
Used Docker (Ubuntu 24.04) to run clang-format 18.1.3 on src/rsz/src/SwapArithModules.hh to fix violations, as local clang-format versions were not working correctly. TAG=agy CONV=c4c586ce-ce7f-4a27-abb1-99ad4b9ef37a Signed-off-by: Drew Lewis <cannada@google.com>
Formatted src/odb/include/odb/dbCompare.inc using clang-format-18 to resolve differences produced by the code generator. TAG=agy CONV=c4c586ce-ce7f-4a27-abb1-99ad4b9ef37a Signed-off-by: Drew Lewis <cannada@google.com>
Renamed OdbPtrSet and OdbPtrMap to PtrSet and PtrMap across the entire codebase. Also renamed the OdbPtrSetMap.h header file to PtrSetMap.h and updated all includes and build definitions. TAG=agy CONV=9aa3f328-c1ec-4454-a257-bc93f42fe188 Signed-off-by: Drew Lewis <cannada@google.com>
Following the upstream master changes that deleted std::less for dbObject pointers, using std::set<odb::dbNet*> fails to compile. This fix updates CUGR to use odb::PtrSet<odb::dbNet>, ensuring it compiles and sorts deterministically using the database ID comparison. TAG=agy CONV=9aa3f328-c1ec-4454-a257-bc93f42fe188 Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Drew Lewis <cannada@google.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
…le in the routing layers Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
Signed-off-by: Jorge Ferreira <jorge.ferreira@precisioninno.com>
Mirrors the Qt GUI's display-controls "selectable" column in the web viewer: a second checkbox per row alongside the visibility checkbox. Picks (selectAt) require both visible AND selectable; rendering is unchanged. - TileVisibility gains *_selectable peers for every Qt-parity flag, plus selectable_layers / site_selectable maps. Instance classification is factored into a shared classifyInstance() so isInstVisible and the new isInstSelectable cannot drift. - parseFromJson reads s_* keys, selectable_layers, and s_site_<name>. - selectAt() gates instance picks by isInstSelectable, net picks by isNetSelectable, layer iteration by isLayerSelectable, and BTerm picks by pins_selectable. - VisTree renders a second checkbox column when a leaf opts in with selectable:true or inherits addSelectable from an ancestor group. Visibility unchecked auto-disables the selectability checkbox. Node ids are path-qualified to avoid collisions between same-labeled subtrees (e.g. top-level Instances vs Misc / Instances). - display-controls layer subtree gets a parallel layerSelModel and a second checkbox per layer, persisted to or_nonselectable_layers. - main.js initializes a selectability object (Qt defaults true) and app.selectableLayers, persisted to or_selectability, and includes s_* + selectable_layers on every tile/select request. - New JS tests cover the second column, tri-state propagation, visibility-off-disables-selectability, and the same-label-collision regression. New C++ tests cover parseFromJson, the new helpers, and selectAt gating by instance and layer selectability. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
The layerSelModel callback was add/delete-ing names incrementally, so in multi-chiplet / multi-tech designs where the same layer name appears in multiple subtrees the final state of app.selectableLayers depended on traversal order — an unchecked M1 leaf could delete the name even when another M1 leaf was still checked, dropping it from the wire payload's selectable_layers. Mirror the visibility callback's pattern: clear() the Set in place (WebSocketTileLayer holds the reference) and re-add only checked nodes' names so Set semantics handle duplicates correctly. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
parseFromJson already bounded visible_layers and visible_chiplets so a malformed or oversized websocket payload can't force unbounded set inserts, but selectable_layers was iterating the whole input array. Apply the same std::min(arr.size(), kMaxVisibilityEntries) cap. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…ay-selectability web: add selectability column to display controls
The helper was checking app.wsManager.isStaticMode, but the app object only ever exposes app.websocketManager. As a result isStaticMode() always returned false, so the per-widget Update buttons (and auto-update calls) were not actually hidden in saved/static HTML reports. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
…tton-update-static-GUI web: Remove 'Update' button in static HTML GUI (#10220)
syn/synthesis.h was including syn/ir/Graph.h which was no accessible to clients. This was for a std::optional<Graph> which is replaced by a std::unique_ptr<Graph>. Misc other clang-tidy cleanups. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
sta: expose the dbMod* in tcl
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Integrated synthesis tool
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
Signed-off-by: Mike Inouye <mikeinouye@google.com>
…ssert syn: fix stale assert
Partially revert a recent tidying commit which introduced a bug by removing those casts. Signed-off-by: Martin Povišer <povik@cutebit.org>
ord: fix a crash when link_design is called twice.
Assisted-by: Claude (various models) Signed-off-by: Martin Povišer <povik@cutebit.org>
Assisted-by: Claude (various models) Signed-off-by: Martin Povišer <povik@cutebit.org>
Assisted-by: Claude (various models) Signed-off-by: Martin Povišer <povik@cutebit.org>
pdn: add basic handling of lef58 area rule
Signed-off-by: Martin Povišer <povik@cutebit.org>
syn: Fix combinational mapper; extend tests
Signed-off-by: Osama <osama@precisioninno.com>
DRT: add unit test for FlexTAWorker
…ment-markers ODB: Initial support for alignment markers
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.
Summary
[Describe your changes here]
Type of Change
Impact
[How does this change the tool's behavior?]
Verification
./etc/Build.sh).Related Issues
[Link issues here]