Tapeout Submission Process

Comprehensive Guide to Chip Submission with chipfoundry-cli

This guide outlines the complete workflow for submitting your designs to ChipFoundry, with specific instructions for Windows, macOS, and Linux users.

NOTE: We can only support 1 machine and 1 user per project.

Step 1: Install and Configure the chipfoundry-cli

Before you begin, you'll need to set up the command-line tool.

1. Install Python (If Needed)

The chipfoundry-cli requires Python. If you don't have it, download and install the latest version from python.org. On Windows, ensure you check the box that says "Add Python to PATH" during installation. This is crucial for the CLI to work correctly from your terminal.

2. Install the CLI

Once Python is installed, open your terminal (PowerShell, Command Prompt, or Terminal) and install the chipfoundry-cli tool using pip:

pip install chipfoundry-cli

Step 2: Account Setup & SSH Key Registration

Now that the CLI is installed, you can proceed with setting up your account and registering your SSH key for secure authentication.

1. Generate Your SSH Key Pair Using cf keygen

The chipfoundry-cli tool can now generate an SSH key pair for you. This key pair includes a private key (which stays on your computer) and a public key (which you'll share with us). The default location for the generated key will be ~/.ssh/chipfoundry-key.

Open your terminal and run:

cf keygen

  • This command will generate a new RSA SSH key at ~/.ssh/chipfoundry-key.

  • The public key will be displayed directly in your terminal, ready for the next step.

  • If you want to view your SSH key, you can run this command cf keyview.

2. Submit Your Public Key

After generating your key, the cf keygen command will display your public key. Copy the entire output (it typically starts with ssh-rsa).

Then, complete the SSH submission form provided by ChipFoundry at https://chipfoundry.io/sftp-registration, pasting your entire public key into the appropriate field. Never share your private key.

3. Administrative Review & Confirmation

Our team will review your request and create your SFTP account. You will receive a confirmation email. Your ChipFoundry username will be in the format firstname-lastname.

4. Configure Your Credentials

This one-time setup links the CLI to your account. Run:

cf config

The tool will prompt you for:

  • Your SFTP username: Enter the firstname-lastname username provided in your confirmation email.

  • Path to your SSH private key: You can leave this blank to use the default key generated by cf keygen (~/.ssh/chipfoundry-key). If you used a different path, specify it here.

Step 3: Prepare Your Project Directory

The chipfoundry-cli requires a specific directory structure:

  • gds/: Must contain exactly one of the following: user_project_wrapper.gds, user_analog_project_wrapper.gds, or openframe_project_wrapper.gds.

  • verilog/rtl/user_defines.v: Required for digital and analog projects.

Example Structure

my_awesome_chip/
├── gds/
│   └── user_project_wrapper.gds
└── verilog/
    └── rtl/
        └── user_defines.v

 

Step 4: Submit Your Project

Initialize your project and then push it to our servers.

1. Initialize Your Project

Navigate to your project's root directory and run init. The CLI will auto-detect the project name from the directory and can suggest the project type based on your GDS files.

# Example for Windows
cd C:\Users\YourUser\Documents\my_awesome_chip\

# Example for macOS / Linux
cd ~/Documents/my_awesome_chip/

# Run init from within the directory
cf init

 

This creates a .cf/project.json file to track your project's configuration and is where the GDS hash will be automatically generated during the push command.

2. Push Your Design Files

From within your project directory, run the push command to upload your project.

cf push

This command will collect the required files, update your project configuration (including the GDS hash), and upload everything securely to the SFTP server with progress bars.

Step 5: Monitor and Retrieve Results

  • Check Status: To see the status of all your projects on the SFTP server, run cf status. This command lists your projects and indicates if they have input files and/or results.

  • Download Results: When a run is complete, run cf pull from your project directory to download the output files. Results will be saved to sftp-output/<project_name>/.

Step 6: Finalizing Your Submission

  • Re-submission: You can fix your design and re-submit by running cf push again at any time before the deadline.

  • Final Version: The last successful push you make before the submission deadline is automatically considered your final version for tapeout. We will also send you an email confirming the gds SHA.

Cookie Settings
This website uses cookies

Cookie Settings

We use cookies to improve user experience. Choose what cookie categories you allow us to use. You can read more about our Cookie Policy by clicking on Cookie Policy below.

These cookies enable strictly necessary cookies for security, language support and verification of identity. These cookies can’t be disabled.

These cookies collect data to remember choices users make to improve and give a better user experience. Disabling can cause some parts of the site to not work properly.

These cookies help us to understand how visitors interact with our website, help us measure and analyze traffic to improve our service.

These cookies help us to better deliver marketing content and customized ads.