# edautils-expert-systems

> EDAUtils Expert Systems: a rule-based (CLIPS) judge for the violations that CDC, RDC and Lint tools report. For each violation it answers FIX_RTL, WAIVE (a proposal that needs a written reference), FIX_CONSTRAINT or NEEDS_REVIEW, with the rule that fired and a numbered derivation. Beside the EDAUtils AI SDK Advisor it returns one GREEN, YELLOW or RED unified result per violation. Runs on your own machine, with or without the FECAD flow and with or without the SDK.

- Catalog id: `EdautilsExpertSystems`; bundle: `edautils-expert-systems`; the SDK ships it as `expert-systems/`
- Keywords: CDC analysis, RDC analysis, RTL lint, clock domain crossing waiver, reset domain crossing, CDC sign-off automation, rule-based EDA, CLIPS rule engine, Synopsys VC CDC reports, Questa CDC reports, AI for EDA, SoC sign-off
- Requires: Linux; Python environment and Yosys (installed by the installer); a valid `expert-systems` licence
- Terms: a licensed feature named `expert-systems`. The EDAUtils AI SDK licence covers it. The independent bundle ships its own `EDAUTILS-EXPERT-SYSTEMS` licence. Without a valid licence the tools exit with code 3 and name each refused file.
- This file: https://edautils.ai/capabilities/edautils-expert-systems.md
- Product page: https://edautils.ai/expert-systems.html

## Download

- Request the Expert Systems (download form): https://edautilsonline.com/download?tool=EdautilsExpertSystems
- The AI SDK, which carries the same Expert Systems: https://edautilsonline.com/download?tool=EdautilsAiSdk

## What it does

- Three domains on one engine: CDC (unsynchronised crossings, multi-bit buses, reset crossings, reconvergence, clock gating and muxes, pulse loss, generated and DFT clocks), RDC (adds destination-without-reset and reset-driven outputs) and Lint (latches, combinational loops, multi-driven and undriven nets, unconnected ports, constant flops).
- Reads the RTL once, elaborated by Yosys into a design model; the SDC; the designer's intent file; and your company methodology (waiver policy per class, approval levels, approved synchroniser cells as regular expressions).
- Reads native reports, Synopsys VC (CDC, RDC, Lint) reports and Siemens Questa (CDC, RDC) reports. The vendor layouts follow documented shapes and are not verified against licensed tool output. A built-in finder works from the RTL alone.
- Verdicts: FIX_RTL, WAIVE (a proposal, with the named approver and a waiver key), FIX_CONSTRAINT, NEEDS_REVIEW. A waiver needs technical evidence, the designer's attestation with a written reference, and a methodology policy that allows it. Missing evidence gives NEEDS_REVIEW, never a silent waiver.
- Every verdict has a six-step derivation: REPORT, POLICY, SETUP, EVIDENCE, RULE, DECISION. Output files: `.rpt`, `.csv`, `.waivers.csv`.
- 17 violation types, 108 rules, 174 scenarios with expected results; every rule is fired by a scenario.

## Unified result with the Advisor

The FECAD Lead of the AI SDK runs the Advisor (an LLM reading the report text) and the Expert System (rules over the design) in parallel and colours each violation:

- GREEN: both recommend the same action.
- YELLOW: they differ without contradicting, or only one side answered.
- RED: one says WAIVE and the other a FIX, or a side failed to judge.

A WAIVE is the unified action only when both say WAIVE. Skip a side with the prompt ("expert system only", "skip the advisor") or `expert_systems:` in `eu_config.yaml`.

Sample, Nexus reference SoC CDC: 5 rows, 2 GREEN, 3 YELLOW, 0 RED. Measured on the reference SoCs: Orion CDC 5, RDC 312, Lint 4; Vega CDC 1479 (85 GREEN, 1394 YELLOW, 0 RED), RDC 376 (68, 308, 0), Lint 108 (107, 1, 0). Full tables: https://edautils.ai/expert-systems.html

## Install

```
# independent bundle: local install under ~/edautils-expert-systems
./install.sh
# or system install under /opt/edautils-expert-systems, launchers in /usr/local/bin
sudo ./install.sh --system
# air-gapped
./install.sh --wheelhouse DIR --tools-from DIR
```

With the SDK, the release installer builds the Expert Systems' Python environment and installs Yosys in the tools directory.

## Limits stated plainly

- The built-in finder is an analysis on Yosys, not a signed-off CDC or lint tool.
- Not detectable from a netlist: handshake or FIFO protocol correctness, gray-code properties, pulse width, quasi-static proof, reset sequencing. The Expert System asks for the designer's reference and records it.
- Waiver policy defaults are strict, system-chosen values for your CDC owner to ratify.
