GithubHelp home page GithubHelp logo

urish / analog-virtualbox-vm-sky130a Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tinytapeout/analog-virtualbox-vm-sky130a

0.0 1.0 0.0 255 KB

Virtual Machine for analog with the open source Sky130A PDK

License: Other

Shell 67.89% HCL 25.85% JavaScript 6.26%

analog-virtualbox-vm-sky130a's Introduction

Tiny Tapeout Analog Design VM with Skywater 130 PDK

This repository contains the necessary files to build a virtual machine (VM) for analog design using the Skywater 130nm PDK.

The VM is based on Ubuntu 22.04 and includes the following tools:

Getting the VM

You can download the latest version of the VM from the following link:

The VM is about 5 GB in size and requires about 20 GB of disk space to import. You can import the OVA file into VirtualBox by going to File -> Import Appliance and selecting the OVA file.

You can also import the OVA file into VMware Workstation Player, by going to Player -> File -> Open... and selecting the OVA file. When importing into VMware, you will see a warning about "virtual hardware compliance". Click "Retry" to continue.

Verifying the download

To verify the integrity of the OVA file using the SHA256 hash. Then run the following command in the directory where the OVA file is located:

sha256sum -c tinytapeout_analog_vm.ova.sha256

Older versions and metadata

To file the build date / commit hash from which the VM was built, download the JSON metadata file. The metadata file is also present inside the machine, under /home/ttuser/vminfo.json.

To download earlier versions of the VM, go to the actions tab, click on one of the workflow runs, and download the tt_analog_virtualbox_ova from the "Artifacts" section (note that downloading GitHub artifacts is usually slower than downloading from the link above).

Using the VM

The default username for the VM is ttuser and the password is magic. You can change the password by running the passwd command.

The desktop includes shortcuts to start Magic, KLayout, and Xschem. The Skywater 130nm PDK is installed in the /home/tt_user/pdk directory.

Troubleshooting

In case of issues with the graphics (e.g. texts do not appear inside Xschem), try disabling 3D acceleration by opening the VM settings in Virtual Box, going to the "Display" tab, and unchecking "Enable 3D Acceleration" at the bottom of the window.

Building the VM locally

To build the VM locally, you need to have Packer and VirtualBox installed. Then, run the following command:

packer init image.pkr.hcl
packer build image.pkr.hcl

Building the VM takes about 30 minutes, depending on your internet connection and hardware. The resulting OVA file will be in the outputoutput-tinytapeout_analog_vm directory.

Customizing the VM

You can customize the VM by modifying the image.pkr.hcl file. For example, you can change the amount of memory, number of CPUs, or the size of the disk.

If you wish to install additional software, you add new scripts to the scripts directory and include them in the image.pkr.hcl file, in the scripts list of the provisioner block.

License

This project is licensed under the terms of the Apache License 2.0.

analog-virtualbox-vm-sky130a's People

Contributors

mattvenn avatar urish avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.