Windows Guide
Setting Up Infrastructure
Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.
How to Setup MSYS2 For 6.205
Installing MSYS2
There are two easy ways to install MSYS2 on Windows:
- Get the installer from this page on their website under Installation.
- Get the installer using Winget from PowerShell using the command
winget install -i MSYS2.MSYS2
.
In the installer window, while you can change the options if you would like, it works just fine to keep the default settings.
MSYS2 itself has a bunch of different environments, which are explained here for those who are curious, but the most modern and standard one is the UCRT64 environment, so we'll use that.
MSYS2, similar to Git Bash for those with familiarity, does include a minimal terminal emulator with the installation, but I generally prefer to use Windows Terminal, whose setup I will go over in the next section.
(Recommended) Installing Windows Terminal
To use Windows Terminal for MSYS2, one must (1) install Windows Terminal, and (2) add the MSYS2 UCRT64 profile to Windows Terminal.
Installing Windows Terminal is can be done through the Windows Store1 like any other Windows Store app. Link is provided here.
Once Windows terminal is installed, you'll need to point it to UCRT64, which is
done by modifying the profiles list. In an open Windows Terminal window, using
the dropdown next to the new tab button, go to Settings > Open JSON File
,
which will open the settings.json
file. There is a list
field under
profiles
in the JSON that has all of the shells that Windows Terminal is
setup to use. In this list add the following entry2:
{
"guid": "{17da3cac-b318-431e-8a3e-7fcdefe6d114}",
"name": "UCRT64 / MSYS2",
"commandline": "C:/msys64/msys2_shell.cmd -defterm -here -no-start -ucrt64",
"startingDirectory": "C:/msys64/home/%USERNAME%",
"icon": "C:/msys64/ucrt64.ico"
}
Once you save the settings.json
file, a new option in the dropdown should
appear titled UCRT64 / MSYS2
with the MSYS2 logo. If so, you're all set!
Installing Course Tools
Open a UCRT64 environment in the terminal emulator of your choice (e.g. Windows
Terminal if you did the optional step). MSYS2 uses pacman
3, so it generally has access to fairly
up-to-date packages. When installing packages, one must specify which
environment's version of the package to install, so make sure to honor that.
First, install Python with pacman -S mingw-w64-ucrt-x86_64-python
, which will
install the python3
and (at the time of writing) python3.11
executables.
There is also a separate package for python3.12
available, so the default
python3
version may be bumped to that soon.
Next, we will install the EDA tools for the course, namely openFPGALoader
,
iverilog
, and gtkwave
. They can each be installed individually with the
following commands:
pacman -S mingw-w64-ucrt-x86_64-openFPGALoader
pacman -S mingw-w64-ucrt-x86_64-iverilog
pacman -S mingw-w64-ucrt-x86_64-gtkwave
If you don't mind a little extra bloat, they can also be installed using the
eda
package group, with pacman -S mingw-w64-ucrt-x86_64-eda
.