FPGA - Windows + MSYS + Git + Python + Iverilog + GTKWave

 Many of us in Semiconductors & EDA use Linux by default. There are occasions when you are left with a windows-only setup, say at a coffee shop during a travel. Also some FPGA designers still use Windows machines. Below is a transcript of what it took to get a fresh Windows laptop to be up and running in a UNIX-like setup in 30-minutes or less. Hope you enjoy this blog, please leave extra steps that you had to do in comments.

  
 


Start with MSYS2:

Never be deprived of the power of command-line - even when you are on a Windows machine. 

  • Go to: https://www.msys2.org/ 
  • Download and install the MSys installer - e.g. https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-x86_64-20220603.exe 
  • Make sure not to install it under "C:\Program Files..." yada yada.. UNIX tools hate the "space" in between. I suggest you use c/tools/ area (Assuming you have the admin access etc. If not - /home/<user>/tools is an option)
  • Now you should get a terminal like the one below (Ignore the contents)


Armed with xterm-like terminal, now you have got the power of UNIX inside Windows, congratulations!



Launch MSYS and install all-what-you-like:

Type below commands one-by-one (inside MSYS terminal of-course) and watch the fun:
  • pacman -S tcsh
  • pacman -S mingw-w64-x86_64-python
  • pacman -S python3-pip







  • pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl ncurses
  •  pacman -S git






Do yourself a favor - get VIM/GVIM

  • May sound like influencing an editor choice, but trust me - Windows' native Notepad and variants don't cut-it when it comes to real engineering/coding. If you want the simplest alternate (again coming from UNIX background), start with VIM/GVIM.
  • pacman -S vim
  • https://www.vim.org/download.php - Get gvim (gvim_9.0.0000.exe.)

 


Download & install Icarus Verilog + GTKWave






    • pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-ghostscript
    • pacman -Ss iverilog
    • pacman -S mingw-w64-x86_64-iverilog mingw-w64-i686-iverilog




    Voila! Now you have turned your Windows-laptop into a productive machine with:
    • UNIX-look-alike
    • xterm like command-line with MSYS2
    • Power of Python + command-line + pip
    • Version control with GIT
    • Productivity enhancing editor like VIM
    • Open-source Verilog simulator - Icarus
    • Open-source waveform viewer - GTKWave
    Welcome to FPGA design + Verification with UVM - FPUVM! 

    Signing-off with a smile!







    Comments

    1. Please check out this option too via WSL2.
      https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps

      ReplyDelete
    2. Note :: Use application MINGW64 instead of MSYS


      Steps to be followed ::
      1) Download tool using link --> https://github.com/msys2/msys2-installer/releases/download/2022-06-03/msys2-x86_64-20220603.exe
      2) Go to installed folder and start MINGW64 application
      3) Run these commands Step by Step
      pacman -S tcsh
      pacman -S mingw-w64-x86_64-python
      pacman -S python3-pip
      pacman -S git ( for Git support)
      pacman -S make ( to resolve Error :: Make :: command not found)
      pacman -S vim ( For editor support)
      pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-ghostscript
      pacman -Ss iverilog ( Icarus Verilog)
      pacman -S mingw-w64-x86_64-iverilog mingw-w64-i686-iverilog

      Now setup is done . we can run our test

      ReplyDelete

    Post a Comment

    Popular posts from this blog

    UVM for FPGAs (Part 1): Get, Set, Go – Be Productive with UVM (USA timezone)