EDAUtils

Library of EDA Utilities

Trusted by IntelTrusted by QualcommTrusted by NvidiaTrusted by SamsungTrusted by BroadcomTrusted by AMDTrusted by Texas InstrumentsTrusted by Micron

Design Flow Architecture

Design Flows

Frontend Design Flow Overview

The Frontend Design Flow provides a comprehensive methodology for RTL development, from project setup through synthesis and quality checks. This flow follows industry best practices and integrates seamlessly with the EDAUtils AI System.

Standard Directory Structure

1. Project Setup

Flow Root Configuration: Establish FLOW_ROOT environment variable pointing to project base directory. Set EDA tool versions and licensing.

Environment Variables: Configure PATH, LD_LIBRARY_PATH, and tool-specific variables (VCS_HOME, YOSYS_PATH, etc.).

Workspace Initialization: Create standard directory tree, set permissions, initialize version control.

2. Multiple Design Configuration

Generic RTL with Parameters: Write parameterizable RTL code using `parameter` and `define` macros. Example: addr_width=128, data_width=64.

Configuration Files: Maintain separate configuration files for different design variants. Use +define+ compiler directives for conditional compilation.

Parameter Overrides: Command-line parameter passing for quick design exploration. Design-time vs. compile-time parameters.

3. File List Generation

4. RTL Compile & Elaborate

Anvil/Anvhier Tools: Fast RTL compilation and elaboration. Syntax checking, module hierarchy analysis, parameter propagation validation.

Error Detection: Catch syntax errors, undefined modules, port mismatches, width mismatches early in the flow.

Elaboration Reports: Module hierarchy tree, instance counts, parameter values, memory usage estimates.

5. Linting with Verilator

Style Checking: Coding style violations, naming conventions, unused signals and variables.

Quality Checks: Combinational loops, inferred latches, multi-driven nets, clock domain issues.

Waiver Management: Systematic waiver of known false positives. Waiver review and audit trails.

6. Simulation Flow

7. Synthesis with Yosys

RTL Synthesis: Yosys open-source synthesis engine. Technology mapping to ASIC or FPGA targets.

Liberty Library: Timing library (.lib) integration. Cell characterization and delay models.

Constraints: SDC (Synopsys Design Constraints) for timing. Clock definitions, input/output delays, false paths.

Reports: Area, timing, power analysis. Quality of results (QoR) metrics.

8. Equivalence Checking & IPQC

Formal Verification: Equivalence checking between RTL and synthesized netlist. Verification of design transformations.

IPQC Quality Checks: IP Quality Check automated analysis. Coverage metrics, lint clean status, synthesis QoR.

Release Criteria: Pass/fail criteria for RTL release. Quality gates and sign-off requirements.

Implement Design Flows in Your Project

Contact us for detailed implementation guides and support