quartus-flow

Automate Quartus project setup, compilation, and report extraction using Tcl.

1|1|Updated Jan 29, 2026
One-click install
npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill quartus-flow
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: quartus-flow
Source: https://github.com/KishoreDamam/VLSI-agkit/tree/main/.agent/skills/quartus-flow
Command: npx skills add https://github.com/KishoreDamam/VLSI-agkit --skill quartus-flow

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill makes Quartus FPGA/SoC projects reproducible by letting you create projects, apply global settings, run the full compile flow, and extract reports using Tcl instead of a GUI workflow.

Core Features & Use Cases

  • Reproducible Quartus project creation: Builds a project from Tcl with predictable device/family, top entity, and file lists.
  • End-to-end compilation automation: Runs synthesis/place-and-route via execute_flow -compile suitable for CI.
  • Report extraction for downstream decisions: Generates timing/area/power artifacts to gate builds and track regressions.
  • Inference-oriented RTL patterns: Helps steer memory (M10K/M20K BRAM) and DSP inference through appropriate SystemVerilog constructs.

Quick Start

Use the quartus-flow skill to generate a Tcl script that creates a Quartus project for a given top module, sets the target device and SDC constraints, compiles with execute_flow -compile, and writes timing/area reports into a reports directory.

Frequently Asked Questions about quartus-flow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run Quartus compilation from a Tcl script for CI automation?

Run Quartus compilation in CI by generating a Tcl script that creates the project, applies SDC constraints, and executes the full compile flow using execute_flow. This automates synthesis and place-and-route without needing the GUI.

How do I extract timing and area reports from a Quartus build using Tcl?

Extract timing and area reports from Quartus by writing Tcl commands that generate report artifacts after execute_flow completes. These reports gate builds and track regressions by capturing timing, area, and power data into a reports directory.

How does Tcl steer BRAM and DSP inference for Cyclone and Stratix targets?

Tcl steering of BRAM and DSP inference relies on applying global assignments alongside SystemVerilog constructs that map to M10K or M20K memory blocks. This guides the synthesis tool to infer the correct hardware resources for Cyclone and Stratix devices.

Can I create a reproducible Quartus project with device and top entity configuration using Tcl?

Create reproducible Quartus projects by using Tcl to set predictable device family, top entity, and file lists through global assignments. This ensures consistent project setup across different build environments without manual GUI configuration.

What is the best way to gate FPGA builds with zero critical warnings in a CI pipeline?

Gate FPGA builds by generating timing and area reports through Tcl after execute_flow, checking for zero critical warnings. The extracted report artifacts provide the data needed to pass or fail the CI pipeline automatically.

Does Quartus Tcl flow support SDC integration for timing constraints?

Quartus Tcl flow supports SDC integration by applying timing constraints through the project setup script. Including SDC files in the Tcl project configuration ensures timing requirements are met during the automated compile flow.