Shared RTL quality and implementation methodology for MOSAIC repositories. It provides one versioned interface for open-source CI checks and licensed local implementation flows.
Modular repositories consume mosaic-flow at a pinned Git revision, normally as
an in-tree mosaic-flow/ submodule. Updating that pointer upgrades the
methodology without copying flow scripts or changing module RTL.
mosaic-flow owns reusable methodology:
- Make targets and flow dependency orchestration
- Open-source and Synopsys tool adapters
- Flow selection, statuses, reports, and quality gates
- Pinned open-source tool installers and versions
- Methodology CI and its independent fixture module
The consuming module owns RTL, verification, file lists, constraints, waivers, formal properties, power intent, and design-specific flow configuration.
The documentation index is the detailed entry point for new users and contributors. It provides a recommended reading order, a command reference, and links to:
- Repository architecture and ownership boundaries
- Consumer setup and configuration overrides
- Every open-source and commercial flow
- Results, quality gates, waivers, and release evidence
- Methodology development, qualification, and release procedures
From a module repository with the submodule already configured:
git submodule update --init --recursive
make flow-config-check
make open-sourceThe module's thin Makefile imports the shared API:
export MODULE_ROOT := $(CURDIR)
export FLOW_ROOT ?= $(abspath $(MODULE_ROOT)/mosaic-flow)
include config/design.mk
include $(FLOW_ROOT)/config/tools.mk
include $(FLOW_ROOT)/mk/module.mkSee Getting started for the complete module contract and Configuration for flow selection, dependencies, tool overrides, and technology setup.
Before releasing a change to this repository, run its static checks and the complete portable fixture flow:
ci/install_ci_tools.sh "$HOME/.local"
PATH="$HOME/.local/bin:$PATH" ci/check_flow_quality.sh
make -C tests/fixture-module FLOW_ROOT="$PWD" clean open-sourceGitHub Actions runs the same validation on pushes and pull requests. Commercial Synopsys tools are not run on GitHub-hosted runners. Release-specific commercial adapters must be configured and qualified in the licensed local environment.
See Methodology development for the full contribution and release checklist.