AI Terminal screenshot

AI Terminal Plugin for Revolution EDA

Overview

The aiTerminal plugin provides an AI-powered terminal interface within Revolution EDA for modifying design JSON files using natural language commands. It integrates with multiple AI models (Claude, Gemini, Mistral, and Amazon Bedrock) to allow users to make changes to schematics, symbols, and layouts through conversational requests.

Features

  • AI-Powered Design Modification: Use natural language to request changes to your designs
  • Multiple AI Model Support: Claude, Gemini, Mistral, and Amazon Bedrock (with custom/fine-tuned model support)
  • Secure API Key Management: Encrypted storage of API keys using Fernet symmetric encryption
  • Backup and Undo: Automatic backups before modifications with easy undo functionality
  • Integrated Terminal: Seamlessly integrated into the Revolution EDA editor window with resizable splitter
  • Customizable AI Instructions: Configure per-model and per-project instruction files to tailor AI behavior
  • License Management: Built-in license validation and status display

Installation

  1. Ensure the aiTerminal plugin is in the plugins/ directory of your Revolution EDA installation.
  2. The plugin will be automatically discovered and loaded when Revolution EDA starts.
  3. A valid license is required to use the AI Terminal.

Usage

Opening the Terminal

Open the AI Terminal via Tools → AI Terminal or use the keyboard shortcut Ctrl+T. The terminal appears as a panel inside the editor window. It is available in the Schematic Editor, Symbol Editor, and Layout Editor.

Setting Up API Keys

Before using the AI features, you need to set your API key:

  1. Select your preferred model from the dropdown in the terminal title bar
  2. Type setkey and press Enter
  3. Enter your API key when prompted
  4. The key will be encrypted and stored securely in ~/.reveda/api_keys.enc

For Bedrock, you will be prompted separately for AWS Access Key ID, Secret Access Key, and Region.

Basic Commands

  • help — Display available commands
  • read — Display the current design JSON
  • undo — Revert the last AI modification and reload the design
  • setkey — Set or update the API key for the currently selected model
  • license — Show license terms, status, and expiration
  • model:<model-id-or-arn> — Set a custom Bedrock model ID or fine-tuned model ARN (Bedrock only)
  • ai:<request> — Send a natural language request to the AI agent

Example Requests

  • ai:Add a 100fF capacitor between nodes A and B
  • ai:Change the width of NMOS current mirror transistors to 1.0um
  • ai:Connect the output of inverter I1 to the input of NAND gate N1
  • ai:Create a differential pair with matched transistors

Model Selection

Switch between AI models using the dropdown in the terminal title bar:

  • Claude — Anthropic’s Claude model
  • Gemini — Google’s Gemini model
  • Mistral — Mistral AI (Mistral Large)
  • Bedrock — Amazon Bedrock (Amazon Nova Pro by default, supports custom and fine-tuned model ARNs)

Customizing AI Instructions

The AI Terminal supports configurable instruction files that let you tailor AI behavior per model or per project.

Configuration

Create an ai_config.json in one of these locations:

  • ~/.reveda/ai_config.json — user-wide configuration
  • ./ai_config.json — project-specific configuration (overrides user config)

Example configuration:

{
  "instruction_paths": {
    "base_dir": "~/.reveda/ai_instructions",
    "claude": "claude.md",
    "gemini": "gemini.md",
    "mistral": "mistral.md",
    "general": "general.md"
  },
  "fallback_instructions": {
    "enabled": true,
    "use_builtin": true
  }
}

Instruction Files

Place markdown instruction files in the configured directory (default: ~/.reveda/ai_instructions/). Each model can have its own instruction file, plus a shared general.md that applies to all models. Built-in fallback instructions are used when external files are missing.

Security

  • API keys are encrypted using Fernet symmetric encryption and stored in ~/.reveda/api_keys.enc
  • The encryption key is stored separately in ~/.reveda/key.enc
  • The plugin requires a valid license to operate; license validation runs inside compiled plugin code

License

Commercial — proprietary add-on to Revolution EDA. A valid license key is required.