Skip to content

Hints and files for VLSI Circuits and Systems course

Notifications You must be signed in to change notification settings

claudiotalarico/EE406

Repository files navigation

EE406

Required EDA software

  1. Open the PowerShell and install WSL
    wsl --install -d Ubuntu-22.04
    You will be prompted to create a UNIX username and password.
    This UNIX username and password have no relationship to your Windows username and password.
    To avoid any confusion use a different username

  2. Install Docker Desktop

  3. Start Ubuntu (either by typing wsl into the Windows's PowerShell or selecting the Ubuntu app in the Window's Start Menu)
    Your unix user's home directory is:
    /home/<unix username>
    Your Windows user's home directory is:
    /mnt/c/Users/<windows username>

  4. clone the iic-osic-tools container onto your computer (for example into your Windows user's folder)
    git clone --depth=1 https://github.com/iic-jku/iic-osic-tools.git
    Example
    Windows user's folder: C:\Users\claudio
    In Unix, the Windows user's folder is accessible as: /mnt/c/Users/claudio

  5. Start Docker Desktop

  6. Browse to the iic-osic-tools directory
    cd /mnt/c/Users/claudio/iic-osic-tools

  7. Start the container using the script ./start_x.sh
    NOTE: in the script, all user data is persistently mounted in the directory pointed to by the environment variable DESIGNS
    The default is $HOME/eda/designs
    To change where the user data is mounted edit the ./start_x.sh script and modify the definition of the variable DESIGNS

    Example
    DESIGNS="/mnt/g/My Drive/eda/designs"
    or alternatively create a link:
    ln -s /mnt/g/My\ Drive/ ghome
    and then define the variable DESIGNS as follows:
    DESIGNS=$HOME/ghome/eda/designs

    If needed set also the variable DISPLAY
    Example
    PARAMS="${PARAMS} -e DISPLAY=host.docker.internal:0"

  8. In the unfortunate event that .Xauthority does not exist in the user home directory, it will show the below error:

    xauth
    xauth:  file /root/.Xauthority does not exist
    Using authority file /root/.Xauthority
    

    Below are the steps to manually create .Xauthority under the user home directory:

    touch ~/.Xauthority
    # Generate the magic cookie with 128 bit hex encoding
    xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
    # Verify the result and it shouldn't show any error
    xauth list
    
  9. If everything goes as it should, you will see a terminal with the prompt /foss/designs >
    This is your working directory where all your design data goes.
    If you are curious to see what version of the iic osic tools you are running use the command:
    echo $IIC_OSIC_TOOLS_VERSION

  10. The default PDK is the sky130A. However, the container supports also other PDKs.
    The available PDKs are:

    gf180mcuC
    sg13g2
    sky130A
    

    If you want to switch to the IHP PDK type:

    iic-pdk sg13g2
    

    To skip typing this command every time, create a .designinit text file in your design directory with the following lines:

    PDK_ROOT=/foss/pdks
    PDK=sg13g2
    PDKPATH=/foss/pdks/sg13g2
    

    For more information about the sg13g2 technology lookup the IHP github

  11. If you have been using the iic osic tools for a while and all you want to do is to update to the newest version, pull the image with tag latest:
    docker pull hpretl/iic-osic-tools:latest
    and restart the container using the script:
    start_x.sh

    Don't forget to stop and remove containers that have become useless, and to remove images that have become useless.

  12. Following are a few CLI docker commands that may come handy:

    docker ps -a
    docker ps -a --no-trunc
    docker stop <CONTAINER_ID>
    docker rm <CONTAINER_ID>
    docker images -a
    docker rmi <IMAGE_ID>
    docker inspect <IMAGE_ID>
    

    Look at the docker documentation for more info

  13. Further help on setting up open source tools with Docker
    If you need further help here is a link to a step-by-step tutorial by Kwantae Kim

Additional software to install on your computer

  1. Matlab (or Octave) <-- required
  2. Anaconda (link)
  3. PyLTSpice version 3.1
    pip install PyLTSpice==3.1
  4. HSPICE/ngspice Toolbox by M. Perrott <-- required

About

Hints and files for VLSI Circuits and Systems course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published