### Instructions for Windows users

Hog has been tested under Windows 10.

Under windows the Hog scripts must be run  from the [**Git bash**](https://git-scm.com/downloads) shell.
**Operating with a different shell will cause the scripts not to be interpreted correctly**.

From within the Git bash shell the user must set the proper path for the used tools using the standard bash synthax, as an example: 

```bash
export PATH="/c/Xilinx/Vivado/2020.2/bin/:$PATH"
```

#### Os related issues

**Path length**:

The Windows API has a built in limit on the path length (set to `MAX_PATH` or 260 characters), see [this article in the learn.microsoft webpage](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation).
if you are working in a subdirectory several level under the 'disk' (e.g. `C:\subdir_0\subdir_1\subdir_2\repository_root`) this can cause issues.
Indeed, the absolute path to the files in your project may exceed this limit.

*Solution*

Altghough [long paths can be enabled in Windows 10, version 1607, and later](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later), we find the following method to be simpler and to otbain the desired result.
Please consider **running the subst command in the [Windows  PowerShell](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/subst)**:

```
subst Z: C:\subdir_0\subdir_1\subdir_2
```

This will create a new virual drive called Z, that is effectively a "symbolic link" to the folder "one step up" of your `repository_root` directory.
You will then be able to access your project without breaking the path character limit:

```
cd /z/repository_root
```

```{warning}
The substituted path must end at the subdirectory above you repository root!
Substituting the ropository root itself will cause git not to recognise the project as a git repository!
```

**Project workflow hanging when using Vivado**

It has been observed that the project workflow will sometime get stuck when running the workflow from the tcl shell.

*Solution*

Consider using the Vivado GUI if this problem is encounterd.